Git Product home page Git Product logo

indigolink's Introduction

#Compatibility

The indigolink app is for iOS 8 and above and has been written mainly in Swift but has part of the code in Objective-C as well.

The indigolink has been designed for the iPhone 6 plus model and will need adjustments in the storyboard for smaller screen size iPhones.

The indigolink app communicates with the indigolink server over TCP/IP, if you want to use it over the Internet then you need to open access to that port on your router from the 'outside'.

indigolink has been tested with:

  • Motion Sensors (Fibaro, Philio)
  • Sockets (TKB TZ88E, TKB TZ68E)
  • Electricity Switches (Vitrum)
  • Door/Window Sensors (Fibaro)
  • Smake/Monoxice Sensors (Fibaro, ZS6301)
  • Temperature Sensors (as part of a device)
  • Luminance Sensors (as part of a device)
  • Tamper Sensors (as part of a device)

Not compatible with:

  • Gas/Electricity meters
  • Thermostats

(...as I don't own such devices yet)

#Requirements

To use the indigolink app you need to have:

  • the indigo domotics software installed & running on your Mac (tested with 6.0.20)
  • the indigo domotics SQL Logger plugin enabled and using a PostgreSQL database (tested with 9.4.1)
  • the indigolink server installed & running (on the same computer or other).

For the indigolink app to work correctly the "Device Name" within the indigo domotics software needs to be like this:

ROOM - DEVICE/LOCATION - FUNCTIONALITY

For example a Fibaro Door Sensor with the temperature module will have three devices like this:

Hallway - Front Door - Door Sensor Hallway - Front Door - Tamper Switch Hallway - Front Door - Temperature

in some cases where there is only one device this format can be used:

ROOM - FUNCTIONALITY

Kitchen - Carbon Monoxide Alarm

As manufacturers have different descriptions types (can't be edited within indigo) I have used this naming scheme to make things easier as with the name we can put there whatever we like. The app will still though look for certain references in the type.

Currently the app looks for the following strings:

  • Light Switches: "Relay Power Switch" within the device type or device name
  • Sockets: "Appliance Module" within the device type or device name
  • Motion Sensors: "Motion" within the device type or device name
  • Door/Window Sensors: "Door Sensor" or "Window Sensor" within the device type or device name
  • Temperature Sensors: "Temperature" within the device name
  • Smoke Sensors: "Smoke" or "Carbon" within the device type
  • Luminance (light) Sensors: "Luminance" within the device name

#Dependencies

The iPhone app uses:

  • SocketRocket
  • AEXML
  • SwiftyJSON

To make the graphs work you will need to download a trial of Telerik iOS Chart component as I haven't managed to get CorePlot to work as I want to.

#License

Licensed under the Apache License, Version 2.0.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

indigolink's People

Contributors

indigolink avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.