No announcement yet.

Horstmann HRT4-ZW Collected info

  • Filter
  • Time
  • Show
Clear All
new posts

    Horstmann HRT4-ZW Collected info


    Someone asked how I'd got the Horstmann HRT4-ZW working with HomeSeer and I thought it might be useful to put my answer here. I don't think there's anything 'new', just an attempt to put all the info in one place. Thanks to all those who did the real hard work in the first place...



    HomeSeer and Horstmann HRT4-ZW

    Things work differently depending on whether the Horstmann system is being used by itself or with another automation system.

    When used by itself, the thermostat becomes the primary Z-Wave controller and the thermostat and the boiler control unit are in their own private Z-Wave network which can’t talk to any other Z-Wave network. That’s what you get if you follow the User/Install instructions that come with it.

    When using the system with an automation system like HomeSeer, you need to add both the thermostat and the boiler control unit to HomeSeer’s Z-Wave network and then associate (rather than include) the boiler control unit with the right association group on the thermostat. There are 5 groups:-

    ⦁ Group 1 - Nodes controlled by Thermostat Mode SET command (Nodes to turn on and off according to whether temp is above/below setpoint, but using ‘Thermostat Off’ and ‘Heat’ Z-Wave commands).
    ⦁ Group 2 - Nodes controlled by Binary Switch SET command. (Nodes to turn on and off according to whether temp is above/below setpoint, but using ‘Off’ and ‘On’ Z-Wave commands)
    ⦁ Group 3 - Nodes to receive unsolicited Battery Level Reports or Low Battery Warnings (i.e. HomeSeer)
    ⦁ Group 4 - Nodes to receive Thermostat Set Point Reports. (i.e. HomeSeer, for when someone manually changes the setpoint using the dial on the thermostat)
    ⦁ Group 5 - Nodes to receive unsolicited Multilevel Sensor Reports (i.e. Temperature reports: HomeSeer)

    I’m not sure whether the boiler control unit needs ‘Thermostat off’ and ‘Heat’ commands or ‘On’ and ‘Off’ commands, so I just used the thermostat to do the association, rather than Homeseer, as the thermostat sorts that bit out by itself…

    So, in terms of buttons to press, etc:-
    1) Make sure the boiler control unit is powered up. If the network light is blinking (i.e. no network) then skip steps 2-4.
    2) Put the thermostat into installer mode (dip switch 1 on).
    3) Turn the dial to ‘P’ and then double-click the dial to get ‘PP’
    4) Turn the dial to ‘E’ and click to make the ‘E’ blink. The network light on the boiler control unit should now be blinking.
    5) Now take the batteries out of the thermostat to ensure it doesn’t interfere with the next steps.
    6) Get your Z-Stick into Learn mode and hold it near the boiler control unit
    7) Press the Network button on the boiler control unit. The network light should light steadily.
    8) Put the batteries back into the thermostat.
    9) Make sure the thermostat is still in installer mode (dip switch 1 On)
    10) Turn the dial to ‘L’
    11) Get your Z-Stick into Learn mode and hold it near the thermostat.
    12) Click the dial. The Z-Stick should learn it.
    13) Plug your Z-Stick back into the HomeSeer PC and import the 2 new devices.
    14) Now turn the dial on the thermostat to ‘Li’ and click to make the ‘Li’ blink. This basically keeps the thermostat awake for a minute so you can configure it in HomeSeer.
    15) Go to Device > Configure for the thermostat root device and set the wake-up time to something between 4 hours and 4mins 16 seconds. I picked 5 minutes , but I find that the batteries run down fairly quickly (3 months or so, but it came with rubbish batteries and I did play about with it quite a lot).
    16) Also, set parameter 1 to a value between 128 and 255. This turns on the temperature sensor in the thermostat so the room temperature can be reported to HomeSeer.
    17) Now go into Device>Associations (you might need to click the dial on ‘Li’ again to keep the unit awake).
    18) Associate HomeSeer with all 5 groups (I don’t think Group 1/2 do anything useful, but I did it anyway).
    19) Save the changes
    20) Turn the dial to ‘A’, and click it to make ‘A’ blink.
    21) Press the network button on the boiler control unit (for longer than 1 second).
    22) ‘P’ should be displayed on the thermostat.
    23) Take the thermostat out of installer mode (dip switch 1 to off)
    24) Remove and replace the batteries in the thermostat (not entirely sure this is necessary but I wanted to check it had stored the settings and come out of installer mode properly).
    25) Restart HomeSeer to activate the Z-Wave thermostats plugin (which is actually built into HomeSeer and doesn’t need downloading or anything).
    26) Go into Setup > Interfaces and Enable the Z-Wave Thermostats plugin.
    27) Restart HomeSeer again, just to make sure.
    28) Done!

    A couple of things to be aware of:-
    - To set the setpoint from the HomeSeer GUI, go to the Plugins > Z-Wave Thermostats webpage. There you can type a setpoint in (it works in 0.1 deg C increments, but only the whole number is displayed on the thermostat) and press ‘Set’. The number will then immediately go back to 0 (or whatever the setpoint was before) and you will probably get an error message, but what has happened is that the new setpoint has been queued and will be sent to the thermostat when it next wakes up, after which the value will be displayed properly in HomeSeer.

    - To set the setpoint from a script, use:-
    - hs.Plugin("ZWave Thermostats").CmdSetHeat(1, xx.x)
    - Where:-
    - 1 is the thermostat number (if you have more than one the number is found in the device, additional information, MISC IO Settings field.)
    - xx.x is the temperature you want to set.
    - The same ‘queuing’ while waiting for the thermostat to wake up applies.

    - To get the setpoint from a script, use:-
    - hs.Plugin("ZWave Thermostats").GetHeatSet(1)
    - Where:-
    - 1 is the thermostat number (if you have more than one the number is found in the device, additional information, MISC IO Settings field.)

    That’s about all I have, other than I have had a few issues when I have upgraded HomeSeer and the thermostat seems to stop reporting/being set. Solved by putting it into installer mode and then ‘Li’ and rescanning the device from the configuration in Homeseer.

    At the time of writing, Homeseer HSPro seems to be the best version of HomeSeer to use.

    All this information I got from the HomeSeer message boards and:-
    Last edited by Jon798; December 21, 2012, 06:14 AM.

    Thanks Jon, will come in very handy.

    Merry Christmas


      Thank you Jon very usefull. Worked for me.

      To continue with this I have also picked up more info from OTHER POSTS. Since I am new to all this it took some time to find out how the system works so I will continue with this post as I get more info. And hopefully will help others starting out.
      To set up a schedule there is not an ON/Off function as to say. Rather you have to change the set point (temperature required) (thanks greyt). You want the setup an event that sets the temperature to a low value like 5. There appears to be a bug in the event engine, if you add an event, trigger by a time, action, add action:- ZWave Thermostats, Select Thermostat, press “check Changes” , Thermostat Actions:- Setpoint. You will see that the Setpoing dropdown is blank and you can’t enter a value.
      So you have to wright a sctipt.
      I have not done the before so more learning.
      The command you require is
      “hs.Plugin("ZWave Thermostats").CmdSetHeat(2,5)”
      The number 2 is the device ID. To find this goto status, Z-Wave Thermostat #, click additional information and the Misc IO Setting is the ID.
      The next number is the value you want to set the setpoint to, in this case 5.
      Events:- add event Enter event name and remember to uncheck “Disable Automated Event Triggering”
      Trigger:- Absolute time, and set the time.
      Action:- Add Action Dropdown, select “Run Script”, And press “Switch to advanced View”
      Under “Existing or new script name” enter a name for the script.
      Press “Open Script Window”
      In the edit box past the following.
      Sub main()
      call hs.Plugin("ZWave Thermostats").CmdSetHeat(2,5)
      End sub
      Remember what the numbers mean as mentioned above so you will want to put in what you need.
      Now press “Save Script” then Update.
      Now do the same for heating on except you want the Setpoint to be the temperature you want the room to get too.
      So once the time arrives the event will run sending the setopint the thermostat. It will wait for it to wake up then it will be set.
      Hope this helps somebody.
      Last edited by Anthony; December 27, 2012, 02:09 PM.


        Thanks for taking the time to document. It works well...

        I am now at the .77 beta version and the version has support (do not know when it was introduced) to define a triggered action which sets the setpoint of thermostates. I have tried this and when trying to secify the new set point it defaults to 5 dgr. If I specify something else it stil goes back to the 5 dgr set point. This leads to an error of Out of limits when the action is implemented.

        Hav any of you tried this? If so have you got it to work...


          Same setup here and the setpoint dropbox is empty when i try to trigger using an event... can see the 5 degree box below but cannot store any value in setpoint


            Just to say a big thank you for the fantastically detailed information on pairing these with HS. You have saved me so much time and frustration as the supplied manuals are shamefully light on any help on integrating the receiver with anything apart from the thermostat.

            Now, to add some more info to help others....
            My setup is a ASR2-ZW with a HRT4-ZW - the two channel controller receiver version for two zones (or in my case for the heating and hot water). For those who decide to use one of these, the instructions are exactly the same, but the discovered devices are a tad confusing.
            You'll get a thermostat device, 2 thermostat mode devices, and 4 binary switches (running the latest official HS2, make sure you're at least that version for anything to run at all). Switch instance 1 and 2 actually control the receiver relays, the others can be ignored.


              I ahve issues with this.

              Using HS 3 latest beta, I cannot transmit the setpoint to the thermoestat using the HS GUI.

              I recieve all info from the thermostat, but then I change the setpoint in HS GUI, nothing happens. It does not appare to que like described. I have set the wakeup interval to 6 min, even after several updates, the thremostat still does not recieve the setpoint I set in the HS GUI...

              Any help here?


                It's a known issue in HS3 and we're waiting for HST to get round to fixing it.

                There are a couple of bug reports in the bugs ills system covering the issue which also seems to affect the Danfoss Connect Living Plus radiator valves.

                I am hoping the fix comes soon, but I'm not holding my breath :-(



                  Have you ensured the Association is set for all Groups?
                  I set Group 1,3,4,5 to Homeseer
                  Group2 to the Boiler Receiver (SSR303 in my case) This will provide direct switching to receiver.
                  I found more detailed information on

                  Although, i've got it working on HS3.0.0.42 Zwave Win7-64bit, I seem to have no battery update? nybody shed any light?


                    Originally posted by johnny_holden View Post

                    Although, i've got it working on HS3.0.0.42 Zwave Win7-64bit, I seem to have no battery update? nybody shed any light?

                    Just tried it also with hs3.0.0.42 zwave Exact same problem, everything seems to work but the battery status update..


                      It seems to work for me. The only things I can offer are to try completely deleting the root and child devices from HS and then rescanning. Plus ensuring a poll interval is configured for each child device.

                      (This is using HS3 v3.0.0.42 and ZWave v3.0.0.31)




                        Originally posted by Jon798 View Post
                        It seems to work for me. The only things I can offer are to try completely deleting the root and child devices from HS and then rescanning. Plus ensuring a poll interval is configured for each child device.
                        Thank you Jon. Useful info for me to play with
                        I entered polling interval (1min) to all child devices as suggested and it works! Well sort of..I think there's bug in polling devices or I must of had an issue with timing. For some reason, I'm getting issues with the 'next polling' time (shown in deviceutility\zwave\information about node), it seem's to be sticking?? i.e not changing to next poll time after it's polled. If I found the next polling time shown was before actual time, I would only get "Aeon Z-Stick: Z-Wave WakeUp Notification Received for Node 11" in the log and the setpoint did not transmit (stays sat in the Que)
                        If successful with polling, I would get "Aeon Z-Stick: Device (Node 11) woke up and Poll Device command was successfully set." and setpoint changed and all worked good. However pole time sticks.
                        Is this a bug or timing issue? (For testing, I have thermostat wakeup every 6min)
                        Despite all this, why would polling be used if the thermostat is a non-listening device anyway?
                        I thought the whole point of association grouping to Homeseer was so that when the device woke up, it would send valid grouped data to what ever it is assigned to. This is evident when there is a measured temperature change by blowing on it. Every 0.5 degree change, it wakes up and the thermostats z-wave sends data and updates homeseer.
                        I also found the same issue with the missing battery level. It won't change unless the thermostat battery level changes. I proved this by putting crappy old remote control battery's in and then good ones. The levels indicated correctly.
                        Did this make sense or was I typing rubbish?

                        BTW, I used the following Parameters in the Thermostat:
                        Par 1= 200 (Enable Temperature Mutlilevel Sensing via Z-wave - Group 5)
                        Par 2= 1 (Celcius)
                        Par 3= 5 (presume this is 0.5 degree temp sensor change when it reports temp sensor to Group 5)

                        Last edited by johnny_holden; November 14, 2013, 05:20 PM. Reason: additional settings shown


                          Could others do a little test for me:

                          Try to set parameter no 1 in HS3 to verify this discussion:

                          Background: I have set the parameter 1 in HS2 without issues, then moved to HS3 and the parameter was still there. After a lot of hassle with the Zwave plugin I had to start from scratch and the parameter went to zero. I am unable to set it again in HS3.
                          Parameter 1 set should be changed from the default 0 to something higher than 128 to be able to read the temperature sensor.

                          As far as I know there is no manual way on the thermostat to set it, so I am depending on HS for this. I might go back to HS2 to set it again but it seems good to know what the issue is.

                          If you test and already have a value in there, make sure you set it to anything between 128 and 255.

                          There is also a byte length setting in HS3 but hardly any documentation about it. On some sites I see the advice to use 1 byte length, although in an perfect world (Auto) should work too.

                          You find the setting by opening the root device, open the 'Settings for Node x" and use the ready button.
                          According to Rick it should be done without switching the device in LI mode.


                            I have had no problems setting parameter 1. But before I press the Ready button, I put the thermostat in LI (Listening mode).
                            To check it's written, I just repeat process and it shows value in selection box.

                            The only answer I'm seeking is why does HS3 need to use 'Polling' when you have the z-wave service called 'Association' and 'Grouping' ??

                            My interpretation of polling is when a PC 'polls' or sends a command for a replied reading. For use with a listening device.

                            However, these are sleeping devices and when they wake, they send signals to the Z-wave controller with associated signals for certain groups.

                            Have I interpreted this right?

                            For example, if the battery level changes or the measured temperature from the thermostat changes, it send the data to the z-wave controller and in my case, HS3 values change instantly (without polling set) However, I need to do it with the setpoint (which is not quite working properly as it seems to pass polling time and no data is sent to thermostat. Still have qued items although log says it woke up). I can only rectify this by switching DIL SW1 on/off triggering a manual wake up. Why this manual wake up different to the automatic one, I don't know??