-
Major improvements to the IOLinc support. In short all functions of the device should now be supported. Including momentary modes in which the relay opens for a defined period of time before closing again. Specific topics have been added for the relay and the sensor so they can both be tracked individually. (PR 197) BREAKING CHANGE - the scene_topic has been elimited, please see the notes below for replacement functionality. Please see notes in:
- config.yaml - specifically the IOLinc sections in both the device and mqtt sections
- MQTT Doc - note the new set_flags options for IOLinc and the IOLinc section
-
A new queueing system for battery devices (PR240):
- Messages sent to the device will be queued until the device is awake
- When the device sends a message, the modem will attempt to immediately send the oldest outgoing message. This only works for some devices.
- Added an 'awake' command, to identify when a battery device has been manually awaken via holding the set button. This will cause all queued and future messages to be sent to the device for up to three minutes
-
Added support for querying the battery on a mini-remote. The battery state will be automatically queried when the device wakes up if is has been 4 days since the last battery check and will emit messages on the low_battery topic. (PR 244)
-
Added support for Smartenit EZIO4O 4 relay output module (thanks @embak) (PR 219)
-
Device names are now printed when printing the database. This makes reading the database output much easier. (PR 239)
-
Added ability to set the default ramp rate of a dimmer using the ramp_rate flag. (thanks @jordanrounds)(PR 235)
-
Major fixes to a number of bugs in the Scenes management functions. (thanks @tstabrawa)(PR 234)
-
Database delta is updated on database writes. This eliminates a number of unnecessary refresh requirements, particularly around pairing.
(PR 248) -
Minor fix to the calculation of hops on resent messages. (PR 259)
Fixing a number of small bugs in preparation for upcoming releases which will add new features.
- Added MQTT broker ID optional config input to allow the user to input the MQTT broker ID the client will use (thanks @kpfleming) (PR #220)
-
Increase timeout for DB Refresh and allow retry for initial request. (PR #237)
-
Detect disconnections during poll() calls (thanks @kpfleming) (PR 227)
-
Modem Responder Group from Thermostat Should be 0x01 ([PR #198][P198]) (Issue 154)
-
Fixed device db find command to check the local group so multiple responsders can be created. (Issue #181)
-
Fixed a bug in the modem database class when removing an entry (thanks @krkeegan) (PR#196)
-
Changed the MQTT Remote to never mark messages for retain so the broker doesn't get out of sync with the device. (Issue #I210)
- Fixed an issue causing 100% cpu usage introduced in the scene sync code. ([Issue #195)I195)
-
Fixed a coding bug when running sync-all (Issue #192) (thanks @krkeegan)
-
Fixed a coding bug when running sync on the modem (Issue #193) (thanks @krkeegan)
-
Thanks to @krkeegan, scene management and syncing are now supported. This allows you to define all of your Insteon scenes in a configuration file and have the system sync your devices to that file. (Issue #25, Issue #179)
-
Enable software control of motion sensor flags (Issue #184) (thanks @krkeegan)
-
Added support for single button remotes (Issue #185) (thanks @krkeegan)
-
Added an option to skip battery devices when doing a refresh and a new command to get the engine version (for older I1 devices) (Issue #189) (thanks @krkeegan)
-
Fixed an error in the Thermostat MQTT code preventing user specified topics (Issue #182) (thanks @krkeegan)
-
Fixed issues with handling housekeeping messages sent to the model during a scene command. (Issue #183) (thanks @krkeegan)
-
Added a catalog of known device category and sub-category information. Just used for display in the get-model command for now. (thanks @mooshee)
-
Added an optional reason string to the state change reporting payloads and as an optional input for input commands. This allows for automations to change behavior based on why something changed. (Issue #138)
-
Added KeypadLinc low level set_flags commands to modify: load (de)attached, button follow masks, button off masks, non-toggle buttons. (thanks @jrevans).
-
Added KeypadLinc support for turning of the backlight completely (thanks @jrevans).
-
Fixed bug in message emits for battery sensors. (Issue #157)
-
Fixed bug in thermostat not reporting humidity changes (Issue #160)
-
Updated hassio config file to include the required arch listing. (Issue #139)
-
Added docker builds for hassio from my repo (td22057) (Issue #148)
-
Fixed bug in motion sensor replies to a model info request (Issue #163).
-
Fixed bug in thermostat ambient temperature calculation (Issue #142) (thanks @krkeegan).
-
Fixed bug in KeypadLinc, FanLinc, and Outlet for non-group 1 links (Issue #159) (thanks @chris153002).
-
Fixed incorrect handling of FanLinc speed change (Issue #126)
-
Fixed incorrect exception log statement in Protocol (Issue #132)
-
Fixed incorrect scene names in the config loader for IOLinc, Outlet, and Switch. This prevented customizing the MQTT scene topic and payload for those devices (Issue #130)
-
Fixed incorrect set-backlight command parsing (Issue #136)
- Fixed incorrect Leak signal naming (Issue #120)
- Fixed incorrect Switch.set() calling sequence. (Issue #119)
-
Initial support for Insteon thermostats has been added (thanks @krkeegan).
-
Support for fast on and off commands and reporting has been added. The on/off mode (normal, fast, instant) is now a command input as well as an output flag in the state templates. This allows double-clicking of switches to be used in automation triggers (thanks @NickWaterton). (Issue #66).
-
Added support for manual mode state reporting (holding buttons down). Supported by dimmer, keypadlinc, remote, and switch (thanks @NickWaterton). (Issue #104).
-
New command 'get_model' added to the command line tool to retrieve and save the Insteon device cat, sub_cat, and firmware revision (thanks @krkeegan). (Issue #55).
-
New command 'join' added to the command line tool to perform a two-way pairing and refresh to link a device to the modem. This combines the previous linknig and pair command into a single command (thanks @krkeegan). (Issue #97).
-
New improved NAK error response codes makes it easier to understand errors when the devices can't communicate (thanks @krkeegan). (Issue #95).
-
Added a new command line input (get-devices) to get a list of the curren Insteon devices in JSON format. (Issue #84).
-
Added a new command line input to factory reset the modem.
-
Added better messages when the pair command fails because the modem db is out of date (Issue #69).
-
Updated docs and example config file because of breaking HomeAssistant MQTT light change for dimmers (Issue #88).
- Added on_level flag support for dimmers and KeyPadLinc's to set the light level when the on button is pressed (Issue #70).
- Multiple output messages queued to the Insteon devices causes some messages to be lost (Issue #86).
- Added on_level flag support for dimmers and KeyPadLinc's to set the light level when the on button is pressed (Issue #70).
- KeypadLinc now supports both dimmer and on/off device types. This required changing the KeypadLinc inputs in the MQTT portion of the config.yaml file. See the file in the repository for the new input fields (Issue #33).
-
HassIO and docker support and is now available. See the main doc page for a link to the docs (thanks @lnr0626) (Issue #63, PR #76).
-
Added on/off outlet support (Issue #48).
-
Added support for older I1 devices (thanks @krkeegan). This should allow refresh command and database manipulation for 5+ year old devices. (Issue #17).
-
Added support for automatic maximum hop computations in messages. This should reduce delays and load on the insteon network (thanks @krkeegan). (Issue #43).
-
Added support for waiting to write messages until the maximum number of hops have elapsed. This should reduce subtle bugs where the Insteon network could get overloaded by sending messages to quickly. (thanks @krkeegan). (Issue #45]I45).
-
Added leak sensor heartbeat reporting support (thanks @djfjeff).
-
Added get_engine() command to find the Insteon device engine revision (thanks @krkeegan).
-
Added automatic message de-duplication (thanks @krkeegan)
-
Fixed a bug where the MQTT client might close in an area that triggered an exception instead of a reconnect (Issue #32).
-
Fixed bug where the KeypadLinc was using the wrong handler for input MQTT scene simulation commands (Issue #34).
-
Fixed bug where the FanLinc would not report speed changes at all (Issue #37).
-
Fixed issues with the leak sensor topic documentation (thanks @djfjeff).
-
Fixed a bug in the command line script that would not read the MQTT user name from the config.yaml file (Issue #59).
-
Fixed ordering of config.yaml in command line examples (Issue #27 and Issue #28).
-
Changed default retain flag to True in config file (Issue #29).
- Switch, Dimmer, and KeypadLinc LED backlight levels can be changed with the set-flags command using the keyword "backlight" (Issue #13).
-
Battery powered devices will now attempt to download the all link database if it doesn't exist locally when a broadcast message from that device is seen (since the device is awake). This way you can trip a battery device (motino sensor or push a remote button) and it will initiate a database download.
-
Added FanLinc support (Issue #4). Thanks to @masterdka for testing.
-
Added battery powered sensors (door and window sensors) support (Issue #5).
-
Added leak sensor support (Issue #6).
-
Added KeypadLinc support (Issue #8).
-
Added IOLinc support (Issue #12).
-
Added reply system to the command line tool. Messages are now sent from the server back to the command line tool to indicate the result of running the command.
-
Added !include tag support to the yaml loader which reads the configuration file to allow the file to be split into multiple files (Issue #11).
-
Added linking command to put a modem/device into linking mode without touching it. This lets a new device be added purely through software commands (Issue #7).
-
Updated the modem db delete commands so that specific records can be removed. Removed the modem only db_delete command and replaced it with db_del_ctrl_of and db_del_resp_of just like the devices.
-
Low level MQTT commands now accept "nice" names from the config file for all inputs including the topic. "modem" is the nice name for the PLM modem.
-
Added support for simulating button presses on devices to trigger device scenes (Issue #9).
-
Added support for triggering virtual scenes defined on the modem. (Issue #24).
-
Added support for creating multi-group controller/responder links to allow linking between different buttons on multi-button devices. (Issue #20).
- Issue #21: Fixed incorrect device database entries being created on the last record of the database.
- Issue #16: Python3.4 doesn't allow circular imports
- Issue #3: Dimmer on/off topic using wrong template from config file
- Initial release