Hi all,
Attached is my beta script to support the Insteon thermostat adapters in HS. I consider it a temporary fix to hold me over until "proper" support is developed by HS. I couldn't figure out how to make a "real" thermostat plug-in, so this script adds thermostat devices with custom buttons and handles all Insteon messaging itself. It also adds a polling event into HS to periodically check the thermostats for mode, temp and setpoints. It supports any number of thermostats (I have three working fine).
The entire script is separate from the Insteon_ExtDevSupport.vb file, so I did need to add one line in that file to call my script during registration. To install, unzip and copy the Insteon_ExtDevSupport_TStat.vb file to your scripts directory, then either use the whole Insteon_ExtDevSupport.vb file (if you don't have any existing custom Insteon stuff), or just add the one line that calls my script. Then, edit the info at the top of Insteon_ExtDevSupport_TStat.vb for your thermostat(s) and their addresses, locations, etc., and restart HS. It should add the devices and the polling event automatically.
Some notes:
1) I have noticed that the Insteon thermostat adapters don't respond immediately with changes made on the thermostat buttons. For example, if you increase the setpoint and then poll the thermostat immediately, it will still report the old setpoint for 3-5 seconds. Then, subsequent polls return the new setpoint.
2) I store the thermostat device state in the HS device "value" -- type long. I haven't had time to experiment with events triggered based on changes to this, but it will be a pain to use a bitmask to get values such as temp out of this. Maybe I'll add some script functions to support this. Let me know what type of functionality you might want. One thing I might try is have an event that synchronizes all 3 of my thermostat's states -- so, if I change any of my thermostats manually (i.e. - pressing a button) HS will see this and change the others appropriately. This will keep my HVAC systems from "fighting" each other.
Please feel free to post questions, comments, bug fixes and improvements. I hope you enjoy using your Insteon thermostats with HS -- I do!!!
Please note: this is free, open source, beta code, made available for your information and entertainment only -- use at your own risk!! I will be happy to participate in the forum and help where I can, but I can't promise anything. Good luck!
-John Godman
jgodman@tampabay.rr "dot com"
Attached is my beta script to support the Insteon thermostat adapters in HS. I consider it a temporary fix to hold me over until "proper" support is developed by HS. I couldn't figure out how to make a "real" thermostat plug-in, so this script adds thermostat devices with custom buttons and handles all Insteon messaging itself. It also adds a polling event into HS to periodically check the thermostats for mode, temp and setpoints. It supports any number of thermostats (I have three working fine).
The entire script is separate from the Insteon_ExtDevSupport.vb file, so I did need to add one line in that file to call my script during registration. To install, unzip and copy the Insteon_ExtDevSupport_TStat.vb file to your scripts directory, then either use the whole Insteon_ExtDevSupport.vb file (if you don't have any existing custom Insteon stuff), or just add the one line that calls my script. Then, edit the info at the top of Insteon_ExtDevSupport_TStat.vb for your thermostat(s) and their addresses, locations, etc., and restart HS. It should add the devices and the polling event automatically.
Some notes:
1) I have noticed that the Insteon thermostat adapters don't respond immediately with changes made on the thermostat buttons. For example, if you increase the setpoint and then poll the thermostat immediately, it will still report the old setpoint for 3-5 seconds. Then, subsequent polls return the new setpoint.
2) I store the thermostat device state in the HS device "value" -- type long. I haven't had time to experiment with events triggered based on changes to this, but it will be a pain to use a bitmask to get values such as temp out of this. Maybe I'll add some script functions to support this. Let me know what type of functionality you might want. One thing I might try is have an event that synchronizes all 3 of my thermostat's states -- so, if I change any of my thermostats manually (i.e. - pressing a button) HS will see this and change the others appropriately. This will keep my HVAC systems from "fighting" each other.
Please feel free to post questions, comments, bug fixes and improvements. I hope you enjoy using your Insteon thermostats with HS -- I do!!!
Please note: this is free, open source, beta code, made available for your information and entertainment only -- use at your own risk!! I will be happy to participate in the forum and help where I can, but I can't promise anything. Good luck!
-John Godman
jgodman@tampabay.rr "dot com"
Comment