ISY994 Z-Wave Sensor Enhancements: Testers Wanted

@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…

Yep the new changes require 0.96.0b1 or later. And actually, for some reason the thermostats aren’t displaying properly in my Hass.io instance at 0.96.0b1, but are working in my development (venv) at 0.97.0b0–there may have been some frontend updates elsewhere that haven’t been included in the Hass.io container yet. I’m just going to wait a few days until the containers update.

1 Like

Oh boy. I messed up on this one.
I also didn’t pay enough attention to the part about .96 and although I thought I had made a snapshot before updating (I use hassio) I was wrong because as it turns out I don’t have one.

So I tried to go back to the official component and just remove the isy994 folder from custom components, but now anything that used to start with switch or lock show up with sensor in front of them.
I’m assuming that there is still a version of PyISY on my machine that isn’t right.
Is there an easy way to fix this?
If not I’ll just have to wait for .96 to come along. I can still do what I need to in the ISY webpage. Even if it isn’t as pretty.

Home Assistant should have re-installed the correct PyISY when you removed the custom component folder. What version gets spit out when you run this command from your Hass.io machine?

docker exec -it homeassistant tail -n 4 /usr/local/lib/python3.7/site-packages/PyISY/__init__.py | head -1
# Leave out the "docker exec -it homeassistant" if you're using the Hassio SSH add-on

If you get anything above 1.1.2, you still have the PyISY_beta package installed somehow.

RE: Waiting for 0.96: You should only have to wait if you’re using the climate/thermostat components. I also found the bug I was hunting in my note above, so anything newer than 0.96.0b0 should work.

I don’t have python 3.7. I have 3.6 and there is no folder named site packages in it.
I should have mentioned that I’m using the generic linux install to get hassio running.

I don’t think I’m going to worry about it too much. .96 should be out this week I think.
I can make it through until then.