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:
http://files.jriver.com/engen/channels/v1/beta/jriot/Engen10026.exeHistory:
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.