INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Engen 1.0.27 -- Available Here  (Read 1780 times)

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72368
  • Where did I put my teeth?
Engen 1.0.27 -- Available Here
« on: September 15, 2016, 06:11:52 pm »

This is the latest version of Engen for Windows.  Please post bugs here.  Please start a new thread for anything requiring discussion. Non-bug posts will be deleted.

Download:
[Build pulled -- web app not working]

History:

1.0.27 (9/15/2016)

1. Changed: Free trial period of 30 days.
2. NEW: On and off switch for scenes in the web interface.
3. Changed: Added another set of the hardcoded buttons to the bottom of home.html and put the list of devices into a collapsible list called 'Devices'.
4. Fixed: An exception that could occur in zupdate.refresh()
5. NEW: Added the enerwave config file.
6. Changed: Updated the REST interface and the associated web documentation.
7. Fixed: A bug where it was impossible to remove button controllers, even with "remove failed node".
8. Changed: Implemented the Wake Up command class.  Updated unit test routines accordingly.
9. Changed: Cleaned up shutdown, but one problem remains.  A collection of threads created by the web interface apparently do not shut down. It delays shutdown a few seconds but causes no serious problems.
10. Changed: Added a thread in zdriver to improve responsiveness with incoming messages.  Formerly user-provided (and possibly naive) code could delay UZB acknowledge messages, causing communication havoc.
11. Changed: Makefile modified to create all *.pyc files needed for the id build.  Attempted to put all files in a server.egg archive, but the web code is not finding them there, and the result is seriously messed up web pages.  This is for further study.
12. NEW: Added full support for AEON Key Fob.
13. NEW: Added support for custom device configuration files. These must be declared once, and the filename is thereafter remembered in the database file.
14. NEW: Added a custom device file for the Enerwave 7-button controller.
15. Changed: We now debounce rapid button pushes, really rate limiting them to one/second.  This was needed for the Enerwave 7-button controller, which always sends two messages for each press.
16. NEW: Added the Sensor Binary command class message routines. Partially added the Sensor Multilevel command class.
17. Fixed: A problem where Scenes with deleted devices would get an exception while setting a Scene.
18. Changed: Arranged for device values to be quickly refreshed after we adjust them with a set message.

1.0.26 (8/25/2016)

1. Changed: Filter button controllers into button node list.
2. Changed: Quick patch to print incoming button messages.

1.0.25 (8/24/2016)

1. NEW: Added scene activation buttons.
2. NEW: Added scene removal web interface.
3. Changed: Loading of scenes and devices into webpage was made more cohesive.
4. NEW: (Experimental) First release with kinda-working button controller support.
5. NEW: Two AEON button controllers are now supported.

1.0.24 (8/23/2016)

1. Fixed: New pyinstaller version 3.2 was causing a dependency problem on non-development systems in the last two builds.  The Python dll required the MSVCx90.dll's but the Engen executable required the MSVCx100.DLL's. Reverted to version 3.1.1 until they come out with a fix.

1.0.23 (8/22/2016)

1. NEW: Engen now allows users to create new scenes and activate them from the web interface. The buttons are _really_ simplistic right now. There is no off button and no button to delete scenes, they are coming later this week.
2. Changed: Added configuration command classes.
3. NEW: "fetch_time" added to node hierarchy so applications can easily learn how fresh the data is.
4. Changed: Newly added nodes are immediately polled.
5. Changed: Added ability to stream real-time device data.  Only implemented in termclient currently, web interface coming later.
6. Fixed: Several bugs fixed in "deepcopy", add_node, write_database, zstream.py, etc.
7. Changed: Real-time screen updates made simpler and more economical.

1.0.22 (8/10/2016)

1. Fixed: Previous build pulled because some dependencies in the Python code were not satisfied in the pyinstaller Windows build.
2. Changed: More compact Engen interface homepage.
3. Changed: Rename rest_secret.txt to session.key.

1.0.21 (8/8/2016)

1. Changed: Sort nodes alphabetically on web interface.
2. Changed: Larger screen, more nodes per row. Remove some labels from UI.
3. Fixed: Got all the links in alpha000 working again. Recent changes broke about half of them.
4. Fixed: Some of the node set/view links were broken due to unicode conversion problems.
5. Fixed: The example links used an obsolete method to address devices with (for example) multiple outlets.
6. Fixed: We could not tag devices.
7. Fixed: There were a number of problems defining groups and scenes.
8. Fixed: We could not restore groups/scenes from the database.
9. Fixed: We could not restore scene color.
10. Changed: Arranged things so that an unexpected message from a device causes us to immediately poll the device.  This change allows us to test battery devices we don't support yet.
11. NEW: Added the Association and Application Status command classes. We now poll for both.  We now support the most useful Association command classes.
12. Fixed: Fixed a problem with set_tag().

1.0.20 (7/27/2016)

1. Fixed: A minor crash in remove_node().
2. Changed: Placed UZB version and capability information where dump_nodes() can find it.
3. Changed: The name set_node_tag to set_tag.
4. Fixed: Some bugs in path_set.
5. Changed: Added set_tag() to user.py.
6. Fixed: Fix /api/v1/nodes/:node REST call.
7. Changed: Added code to support zwave scenes and did massive cleanup based on the recommendations of pycharm.  Bugs crept in because of the clean up; I found many, but it is likely some remain.
8. NEW: Added support to fetch and update associations, scene controller configuration, and scene actuator configuration.  In English, can now activate lighting scenes on devices that support this, using a button controller.
9. NEW: Its now possible to configure the above functions through the web REST API, using the path_get and path_set functions.  The long term goal is to make many more functions available to REST.
10. Fixed: A bug that caused "unexpected message" to appear in the log when it should not have.
11. Fixed: A number of problems in the new code to give priority access to battery devices.
12. NEW: A set_all(value) convenience function in the user module that uses broadcast.
13. Changed: Improved scheduling of scene_configuration messages, putting more intelligence in the low level code, and removing it from higher level code.
14. Changed: The code is increasingly stable at high load, and it makes more efficient use of the cpu.
15. Changed: Modified a few convenience routines to do more, and consequently removed a bunch of repetitive code where the convenience routines were used.

1.0.19 (7/22/2016)

1. Changed: Scene support is now about halfway in. It has a way to go before the UI can view and configure it.
2. Changed: Most of the scene protocol encoding/decoding routines are done.  As a proof of concept, it's now possible to type in commands and make a button controller turn lights on and off using scene and association commands.
3. Changed: Polling of all scene data in all devices can require thousands of data points.  The special scheduling and fetching required is now done.  In this commit, the timing was improved and probes were put in to support further adjustment.
4. Changed: There is a new priority function in polling that will allow us to give priority to battery devices and battery controllers when they need fast service.
5. Changed: The code runs with multiple UZBs, but only superficial tests have been done.
6. Changed: Rewrote multicast.  Much smarter now.
7. Changed: Queries now have a configurable sleep interval, which evens out the load on the UZB and makes it more reliable.
8. Changed: Added tracing to all low-level commands in zbasic.
9. Changed: Added a termserver function to trace and stop tracing nearly any method.
10. Changed: Rewrote multicast so it multicasts only once, instead of once for each node.
11. Changed: Changed a bunch of lognames to be consistent with the file where they appear.
12. Fixed: Fixed add_node to preserve the types and command classes returned by the UZB.
13. Fixed: mfg_id so it doesn't get an exception after a comm error.
14. Changed: Data is now fetched for the scene controller.  Still need to test writing the scene controller.
15. Changed: Improved documentation page to make it more up to date and informative.

1.0.18 (7/13/2016)

1. Changed: Engen is now highly insensitive to offline devices and misbehaving devices.  It polls all devices at a near constant rate of 10 seconds, regardless of the number of devices configured or currently active.   It takes something like 60 seconds to stabilize after startup, and perhaps 10 minutes before it fully adjusts for any bad devices it finds.  It has a number of mechanisms to detect and adjust for bad nodes.
2. NEW: You can monitor the health of devices with the very obscure command:   dump_status(nodes) where "nodes" can be blank for all nodes, or you can put in a list of nodes to see only those.   dump_nodes() includes the same information under "status".  The output is a bunch of statistical counters that summarize recent error trends and estimate the reliability of all attached devices.
Logged
Pages: [1]   Go Up