Releases: nugget/python-insteonplm
Improve All linking and command line tool
Introducing a command line tool to support All-Link management and basic device testing. The following capabilities are added:
- connect - Connect to the PLM (First thing you should do. Type 'help connect' to get the options)
- exit: Exit the tool
- help: Display the help information
- list_devices: List all loaded devices
- load_aldb: Load the device All-Link Database (this may take up to 10 min per device)
- on_off_test: Simple On/Off test to confirm things are working
- print_aldb: Print a devices' All-Link Database (must use load_aldb first)
- running_tasks: List tasks running in the background (not real useful)
- set_device: Set the PLM device name (i.e. /dev/ttyUSB0)
- set_log_level: Set the logging level (i for information v for verbose)
- set_workdir: Set the directory to load saved device info from
- start_all_linking: Set the PLM to start All-Linking
- write_aldb: Write a record to a device All-Link database (BE CAREFUL!!!)
Fix sensor handling of All-Link Broadcast messages
This update addresses proper handling of All-Link Broadcast messages to the following devices:
- Hidden Door Sensor
- Leak Sensor
- SmokeBridge
- Generic Category 0x10 devices
Load devices from saved devices and device overrides before ALDB
Build out IPDB
-
Build out IPDB and bump version
-
Fix incorrect device names
-
Restore missing products and update tests
-
Fix spelling error
Fix issues with on/off outlet, fanlinc and hidden door sensor
Fixed the following issues:
On/Off Outlet bottom outlet not recognizing manual changes
FanLinc off command
Hidden door sensor recognized at startup
Upgraded devices and message handling
Significant upgrade to allow more complex devices to be created and managed. Breaking features introduced which will require rewriting client code that consumes this library. Please see the tools.py file for examples of how to manage devices.
Improvements:
Significant improvement to message handling, especially the fixing of a race issue that causes the system to hang
Wide support for switch and dimmer devices (cat 0x01 and cat 0x02)
Additional complex devices added:
- FanLinc
- I/O Linc (was there but now a bit cleaner)
- On/Off outlet both top and bottom outlets controllable
- Smokebridge (untested)
Known issues:
NO documentation - sorry, this was low on the list but is on the TODO list
Some common devices not included yet for example:
KeyPadLinc
Thermostat
If you have a device you want supported added for please submit an Issue.
Pre-seeded device support and workaround for pyserial packaging bug
All pyserial releases (.whl install) newer than 3.2.0 appear to contain an erroneous aio.py file which is breaking things. python-insteonplm now pins to pyserial 3.2.0 specifically until that project has a chance to correct the problem.
Also included @lanrongwen's work to allow pushing devices into activity even if they don't exist in the PLM's IPDB.
Slight changes to device public methods
I cleaned up some more public methods for use with the hass component.
Code cleanup and device category 0x10 support
Adds support for category 0x10 devices (like the Hidden Door Sensor) and major code cleanup and public method documentation.
Explicit requirement for pyserial and Python 3.4 changes
When I transplanted my insteonplm component to my production Home Assistant box it broke because pyserial was not installed. I added that as an explicit requirement to the module in setup.py.
There was also a weird bug (presumably because of Python 3.4) that required a change in bytearray handling within the Address class.