ISY994 Z-Wave Sensor Enhancements: Testers Wanted

Yes, please don’t even consider polyglot nodes. I just found it interesting that several were showing up with correct states. I will get the other info you mentioned in a bit.

Here is the node dump for the Thermostat in the pool.

<node flag="0" nodeDefId="UZW010D">
<address>ZW044_140</address>
<name>ZW 044 Heat=Pool Cool=Spa</name>
<family>4</family>
<parent type="3">19219</parent>
<type>4.16.1.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>ZW044_1</pnode>
<sgid>140</sgid>
<devtype>
<gen>4.16.1</gen>
<mfg>5.20549.1619</mfg>
<cat>140</cat>
</devtype>
<property id="CLISPC" value="39" formatted="39°F" uom="17"/>
<property id="CLISPH" value="39" formatted="39°F" uom="17"/>

And here are the attributes as shown in HA:

climate.zw_044_heat_pool_cool_spa	unknown	current_temperature: null
min_temp: 1
max_temp: 86
temperature: null
target_temp_step: 1
target_temp_high: 3.9
target_temp_low: 3.9
current_humidity: 0
fan_mode: null
fan_list: auto,on
operation_mode: null
operation_list: heat,cool,auto,fan_only,off
hold_mode: null
cool_setpoint: 39 °F
heat_setpoint: 39 °F
friendly_name: ZW 044 Heat=Pool Cool=Spa
supported_features: 454

It does get the values and they change when I change them from the ISY. But any changes done on lovelace do not get sent back to the ISY. I see no log warnings or errors at all anymore from ISY994 module. Is there a way I can change log level for your build?

Also, as to the attributes from my pool controller, you were right. They showed up as they changed. But I did not see them because the attribute changed from Temperature to temperature, and my template did not find them as a result. Fixed now!

1 Like

Here’s my motion sensor that doesn’t seem to be updating in HASS. It updates fine via the UDI web UI and the admin java applet.

<?xml version="1.0" encoding="UTF-8"?>
<nodeInfo>
  <node flag="0" nodeDefId="UZW0005">
    <address>ZW002_155</address>
    <name>ZW 002 Motion Sensor 1</name>
    <family>4</family>
    <type>4.33.1.0</type>
    <enabled>true</enabled>
    <deviceClass>0</deviceClass>
    <wattage>0</wattage>
    <dcPeriod>0</dcPeriod>
    <startDelay>0</startDelay>
    <endDelay>0</endDelay>
    <pnode>ZW002_1</pnode>
    <sgid>155</sgid>
    <devtype>
      <gen>4.33.1</gen>
      <mfg>134.258.100</mfg>
      <cat>155</cat>
    </devtype>
    <property id="ST" value="0" formatted="Off" uom="78" />
  </node>
  <properties>
    <property id="ST" value="0" formatted="Off" uom="78" />
  </properties>
</nodeInfo>

As for my Home Energy Monitors, I see 3 HA entities: Total, Clamp1, Clamp2, but none of these have any power attributes. But the node dump from ISY shows there are 2 more with class 143 that appear to have the data I am looking for. I could try adding 143 to const.py to see if that brings them over (edit: looks like 143 is already there for sensors in const.py).

<node flag="128" nodeDefId="UZW00F3">
<address>ZW030_001_1</address>
<name>ZW 030.1 HEM Clamp 1</name>
<family>4</family>
<parent type="3">15747</parent>
<type>4.33.1.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>ZW030_001_1</pnode>
<sgid>1</sgid>
<devtype>
<gen>4.33.1</gen>
<mfg>0.0.0</mfg>
<cat>118</cat>
</devtype>
</node>

<node flag="0" nodeDefId="UZW00F4">
<address>ZW030_001_143</address>
<name>ZW 030.1 Energy Meter</name>
<family>4</family>
<parent type="1">ZW030_001_1</parent>
<type>4.33.1.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>ZW030_001_1</pnode>
<sgid>143</sgid>
<devtype>
<gen>4.33.1</gen>
<mfg>0.0.0</mfg>
<cat>143</cat>
</devtype>
<property id="ST" value="417835" formatted="417.835 Watts" uom="73" prec="3"/>
</node>

<node flag="128" nodeDefId="UZW00F5">
<address>ZW030_002_1</address>
<name>ZW 030.2 HEM Clamp 2</name>
<family>4</family>
<parent type="3">15747</parent>
<type>4.33.1.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>ZW030_002_1</pnode>
<sgid>1</sgid>
<devtype>
<gen>4.33.1</gen>
<mfg>0.0.0</mfg>
<cat>118</cat>
</devtype>
</node>

<node flag="0" nodeDefId="UZW00F6">
<address>ZW030_002_143</address>
<name>ZW 030.2 Energy Meter</name>
7/1/2019 192.168.1.145/rest/nodes
192.168.1.145/rest/nodes 2/2
<family>4</family>
<parent type="1">ZW030_002_1</parent>
<type>4.33.1.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>ZW030_002_1</pnode>
<sgid>143</sgid>
<devtype>
<gen>4.33.1</gen>
<mfg>0.0.0</mfg>
<cat>143</cat>
</devtype>
<property id="ST" value="283657" formatted="283.657 Watts" uom="73" prec="3"/>
</node>

See post above.

Sorry, changed all the command translations to snake_case to adhere to Hass design standards.

I wonder if the ISY actually supports REST control of this node or if the commands don’t match the standard thermostat. Check the debug log and you may want to ask on the ISY forum. Let me know what you find but I’m not going to focus on it for now.

1 Like

@shbatm: Sorry, I missed your earlier reply on log config. Seeing the full log is REALLY helping! Thanks.

It turns out thermostat settings are being sent, but the scales are so off so I never raised it enough for my pool computer to accept the values (any setting below 39F is rejected). So here are the scale issues:

  • When my pool computer sends an update saying the heater setpoint is 80F, the HA UI shows 8F for heater setpoint. So need to increase what is received by 10x.

  • When I use the HA UI to set heat to 80F, the pool setting goes to 160F. So need to cut what is sent by 1/2.

Is there a way in HA to do these adjustments?

The

And as for the Home Energy Meter, the logs show the info is coming in, but I just cannot find where it is in HA. Here is a snip of the log file:

<?xml version="1.0"?><Event seqnum="259" sid="uuid:118"><control>TPW</control><action uom="33" prec="3">15580196</action><node>ZW030_001_143</node><eventInfo></eventInfo><fmtAct>15580.196 kWh</fmtAct></Event>
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Node Control Event: ZW030_001_143 TPW 15580196
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Update Received:
<?xml version="1.0"?><Event seqnum="260" sid="uuid:118"><control>ST</control><action uom="73" prec="3">417835</action><node>ZW030_001_143</node><eventInfo></eventInfo><fmtAct>417.835 Watts</fmtAct></Event>
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Updated Node: ZW030_001_143
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Node Control Event: ZW030_001_143 ST 417835
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Update Received:
<?xml version="1.0"?><Event seqnum="261" sid="uuid:118"><control>TPW</control><action uom="33" prec="3">10945043</action><node>ZW030_002_143</node><eventInfo></eventInfo><fmtAct>10945.043 kWh</fmtAct></Event>
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Node Control Event: ZW030_002_143 TPW 10945043
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Update Received:
<?xml version="1.0"?><Event seqnum="262" sid="uuid:118"><control>ST</control><action uom="73" prec="3">283657</action><node>ZW030_002_143</node><eventInfo></eventInfo><fmtAct>283.657 Watts</fmtAct></Event>
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Updated Node: ZW030_002_143
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Node Control Event: ZW030_002_143 ST 283657
2019-07-01 14:48:03 DEBUG (Thread-2) [custom_components.isy994] ISY Update Received:
<?xml version="1.0"?><Event seqnum="263" sid="uuid:118"><control>USRNUM</control><action uom="70" prec="0">0</action><node>ZW047_1</node><eventInfo></eventInfo><fmtAct>0</fmtAct></Event>

I know where these issues are and they’re fixable, but it’ll be a few days; one’s in PyISY that opened another rabbit hole when I started to try and fix it and now I actually have to work for a while to pay some bills.

@shbatm, we have been taking far too much of your time lately. You have already done enough with the variables to get 99% of what I need. If I need, I can turn anything into a variable to push to HA, and I can do REST commands back from HA to ISY for updating things I need on the ISY. Anything else you can do is just gravy. Cheers!

@shbatm, just as a follow up, I have been able to implement a slider control for my pool heater thermostat pretty easily, so I recommend you don’t waste any time on this. I think my pool computer (z-wave Intermatic controller) is such a tiny corner case, doing any work on it is not worthwhile.

Only item I would really like to see figured out is the Home Energy Monitor attributes for Watts and KWHrs.

I hate to be that guy, but I only have small blocks of time to mess with this stuff and have no clue what subversion is or how to use it.
Can this be installed via the method listed here:

Or is this different enough to require using subversion?
I tried to do this method and I don’t see anything different in HA.
Log says: 2019-07-04 17:41:13 ERROR (SyncWorker_3) [homeassistant.loader] Error parsing manifest.json file at /config/custom_components/isy994/manifest.json: Expecting value: line 7 column 1 (char 6)

Yes, the same method will work, but you need to download all of the raw files from GitHub.

Subversion is an alternative to git but you don’t need to use (or even understand) it in any detail. I installed it with sudo apt install subversion and use it for exactly one command, the one above. svn export in the case above is an equivalent to cp githubfolder myfolder and I recommend it because installing it and running that command will still be faster than trying to grab all the files one at a time.

You can also use the following:
git clone --single-branch --branch isy994-zwave-x [email protected]:shbatm/home-assistant.git
From there, you’ll get @shbatm’s entire home-assistant configuration, you’ll need to cd into home-assistant/homeassistant/components/ and copy the isy994/ directory into your custom_components folder.

Thanks for the tips guys. Well I had a bit of time this morning and got my host machine updated, added subversion, figured out how to use it and got the custom component loaded. Yay!
Thermostats are something I have been waiting to get into HA for a long time.
I have two Zwave thermostats connected to the ISY.
I’m seeing something similar to Blueman2 with the temp being off by a factor of 10.
You can see the current and target temps are 1/10th what they should be whereas the setpoints are correct.

climate.main_floor_thermostat	idle	current_temperature: 8
min_temp: 50
max_temp: 86
temperature: null
target_temp_step: 1
target_temp_high: 8
target_temp_low: 7.1
current_humidity: 0
fan_mode: null
fan_list: auto,on
operation_mode: auto
operation_list: heat,cool,auto,fan_only,off
hold_mode: temp
mode: auto
cool_setpoint: 80 °F
heat_setpoint: 71 °F
CLIFRS: off
fan_state: auto
CLIFSO: 0
device_communication_errors: 0
heat_cool_state: idle
friendly_name: Main_Floor_Thermostat
supported_features: 454

Thanks a lot for your work on this!

Thanks for testing. I have the fix for this and will have it ready in a few days… Real life in the way at the moment.

1 Like

Take your time. No rush. Family first. :smiley:
I’m just happy someone has picked up the ISY integration and gotten it moved forward!
Thanks for that!

Trying to get home to them… stuck where I’m at for the moment, killing some time by working on this :wink:

Updates have been pushed for both PyISY-beta (now at 1.1.9) and isy994. This update has significant changes in PyISY (massive code cleanup effort)–so please flush out and report any bugs. Everything I’ve tried on my end is working so far, but no guarantees for this release–need y’all’s help.

1 Like

I am a bit behind but will test the new code this weekend. Thanks so much, shbatm! BTW, did you receive the z-wave module? Should have arrived last week, though you might have been out of town.

Yes, I did receive the module! I just got home last night–thought I was going to be riding out T.S. Barry. Thank you again, I’m going to install it this week.

1 Like

See note:

1 Like

Are there new dependencies that need updating? I am loading your climate-dev branch and it causes the system to stop loading things. Oddly, there are no errors shown in debug mode for both system and for ISY994. Debug shows it getting data from my ELK security system, but it never loads the ISY components and never loads GUI. Reverting back to prior code and it works fine. Any ideas?

EDIT. Ah, I am on 0.95.4. I will update to 0.96.0b0 or later as you mentioned above…