Planned Functions
Of course I'm always thinking about new functions, as long as I do not have to put the current system up-side-down too much. After all, I do have other day-time work to do and it has to make sense for me to spend additional time. Therefore, you are welcome to ask for new functions, but if it will cost me days to implement them and I will not benefit from them in any way I will probably give priority to other changes. Anyway, don not be surprise if I'm working on at least three different items at a time (after all this is hobby remember ..)
The (x) in front of a line idicates it's piority on my list
IoT/LoRa
- (1) I like to take the Home Automation and sensor monitoring to the next level by integrating with a LoRa network.
Outside the scope of LamPI, but as there is none in Apeldoorn I need to arrange a LoRa infrastructure first.
Gui
- (beta) Implementation of an alternative GUI style comparable with the metro interface of Windows 8.x
- (1) Split the css skin selection between phone and windows/tablet
- Allow each user to have his/her own interface and configuration selection. At this moment a lot of information is shared between users. In future "anonymous" use should still be possible, but when a user does logon we will save all relevant selections wogether with his/her profile.
- Add support for Android phones. This is in beta at the moment and I use PhoneGap technology of Adobe to make such version. All Javascript/jQueryMobile code is already in the LamPI-x.y.js file, the index.html file will determine what libraries to load. I will probably publish a separate branch for Android with the same version number as its web equivalent.
Daemon
- (1) We need a check function to check every device, scene and rule for data which is out of date etc.
- Receive alarms from the LamPI-gate Z-Wave gateway and deal with them. At the moment the gateway reports back changed device values to LamPI but we need to handle alarms and temperature sensors as well.
- Integrate an alarm system with rules and/or scenes
- (2) See whether LamPI sensors can be made to work from a remote location over the internet. This comes in handy if you want to check another location from your home address
- (3) LamPI speech recognition. Some home automation systems have speech recognition to switch on/off devices. I'm not yet convinced of speach recognition to work well in a living room environment, but like to study the function.
- Add full support for Z-Wave (or Zigbee). As the LamPI-daemon is quite universal in its setup adding transmitter/receivers for these technologies is relatively easy. At the moment ZWave support is implemented through a Z-Way gateway running on a dedicated RaspberryPI
- Now that the PHP code has disappeared in favour of node.js, I like to see if Mongodb/Mongoose would be a better db solution than MySQL
- Internationalization; Probably not worth spending too much time on this, as most people that will use this projects do not mind English versions anyway. So probably just making an alternative startup file for ''database.cfg" would be enough for international customers to get a good feel for the software.
Sensor/Transmitter/Reeiver Hardware
- (1) make the ESP8266 gateway zombie proof (100% reconnect reliability when WiFi network fails or host fails). Eliminate watchdog resets or make them manageable.
- The Arduino luminescense sensor code lacks a test to see whether it is present
- Add PIR sensor to list
- dd real-time clock support
- Work on LamPI receiver and Arduino Gateway efficiency. For example by working with a high-power transceiver.
- Add to the Arduino Gateway support list. For example IR sensors/tansmitters are not yet supported
- Work on support for 2.4GHz Zigbee and other devices
Known Issues, Bugs etc.
Both architectual and GUI related
- The technology used for grid (gridster) does not dynamically follow screen resizing etc. Have to add this by hand, or choose different grid technology
- Need to (re)implement the backup restore function of the configuration in "config"
- Need to separate activate_xxxxx functions from the handlers in LamPI-xx.yy.js that are now embedded in those functions.
- The LamPI-node.js process assumes that we have a zwave host (and devices). This leads to calling of the ZWAVE host in zwave_init. If ZWAVE gateway is not used, we must make this code user selectable.
- The scale-xxxxx sccs templates should work on screens with different resolutions. However, need to have dynamic changes between sccs look-and-feel sets once the screen gets too narrow and we know we need to switch to a mobile phone screen.
- Sortable (shuffling rows in room or scene view) works OK as far as GUI is concerned, but the sync to mySql on te LamPI-node.js daemon does not. Sortable is not 100% reliable.
- Sortable does not work for jqmobile yet, only for normal browser. Not sure if sorting rows makes sense for mobiles
- If possible we shoud merge jqmobile and jqueryUI so that all handling of screen buttons etc is uniform between the 2. Since mobile devices get a larger market share by the day, LamPI may shift to primary support for jqmobile in the future. jQuery-ui-1.11.2 is NOT yet mergeable....
- Adding new handsets at this moment still requires manual editing of the database.cfg file. I like to add more options to the OPTIONS screen for setup of new switch types and handset types, so that adding such switches and handsets at runtime is a lot easier.
- Z-Wave alarms and sensors should be further integrated into LamPI. May use database.cfg file for that
- Username and Password combinations should be stored in the MySQL database securely (=enrypted)
Nov 30, 2015