ccutrer/waterfurnace_aurora

Illegal Data Address error

Closed this issue · 13 comments

Thank you for creating this!

My system is a Waterfurnace Series 7, IntelliZone 2, DHW, VS Drive, VS Pump

I built a cable as documented, using the DSD TECH SH-U11 adapter.

When starting Aurora MQTT bridge, I see an error:

Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]: /var/lib/gems/2.5.0/gems/rmodbus-ccutrer-2.1.0/lib/rmodbus/client/slave.rb:283:in `query': The data address received in the query is not an allowable address for the server (ModBus::Errors::IllegalDataAddress)
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /var/lib/gems/2.5.0/gems/rmodbus-ccutrer-2.1.0/lib/rmodbus/client/slave.rb:174:in `read_holding_registers'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /var/lib/gems/2.5.0/gems/rmodbus-ccutrer-2.1.0/lib/rmodbus/client/slave.rb:178:in `read_holding_register'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /var/lib/gems/2.5.0/gems/rmodbus-ccutrer-2.1.0/lib/rmodbus/proxy.rb:13:in `[]'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/lib/aurora/modbus/slave.rb:26:in `[]'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/lib/aurora/abc_client.rb:78:in `initialize'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/exe/aurora_mqtt_bridge:38:in `new'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/exe/aurora_mqtt_bridge:38:in `<top (required)>'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /usr/local/bin/aurora_mqtt_bridge:23:in `load'
Jan 26 16:10:52 raspberrypi aurora_mqtt_bridge[1276]:         from /usr/local/bin/aurora_mqtt_bridge:23:in `<main>'
Jan 26 16:10:52 raspberrypi systemd[1]: aurora_mqtt_bridge.service: Main process exited, code=exited, status=1/FAILURE

Is this something specific to my system and firmware? I get a different error if I unplug the cable from the ABC. If I edit abc_client.rb and set the zone count to 2 on line 78, I get the same IllegalDataAddress later on:

Jan 26 16:31:20 raspberrypi systemd[1]: aurora_mqtt_bridge.service: Service RestartSec=3s expired, scheduling restart.
Jan 26 16:31:20 raspberrypi systemd[1]: aurora_mqtt_bridge.service: Scheduled restart job, restart counter is at 344.
Jan 26 16:31:20 raspberrypi systemd[1]: Stopped Aurora MQTT Bridge.
Jan 26 16:31:20 raspberrypi systemd[1]: Started Aurora MQTT Bridge.
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]: /var/lib/gems/2.5.0/gems/rmodbus-ccutrer-2.1.0/lib/rmodbus/client/slave.rb:283:in `query': The data address received in the query is not an allowable address for the server (ModBus::Errors::IllegalDataAddress)
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/lib/aurora/modbus/slave.rb:12:in `read_multiple_holding_registers'
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/lib/aurora/modbus/slave.rb:28:in `[]'
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/lib/aurora/abc_client.rb:162:in `refresh'
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/exe/aurora_mqtt_bridge:87:in `initialize'
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/exe/aurora_mqtt_bridge:615:in `new'
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /var/lib/gems/2.5.0/gems/waterfurnace_aurora-0.7.5/exe/aurora_mqtt_bridge:615:in `<top (required)>'
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /usr/local/bin/aurora_mqtt_bridge:23:in `load'
Jan 26 16:31:24 raspberrypi aurora_mqtt_bridge[2500]:         from /usr/local/bin/aurora_mqtt_bridge:23:in `<main>'
Jan 26 16:31:24 raspberrypi systemd[1]: aurora_mqtt_bridge.service: Main process exited, code=exited, status=1/FAILURE
Jan 26 16:31:24 raspberrypi systemd[1]: aurora_mqtt_bridge.service: Failed with result 'exit-code'.

Hmm... that's almost my exact configuration, so I'm surprised you would get that error. Can you do aurora_fetch /dev/ttyUSB0 valid --yaml > myheatpump.yml (adjusting the serial port if necessary) and then e-mail me the resulting file (assuming it doesn't run into errors)?

oh right, that makes sense... it goes through the same initialization first. lemme look and see if I can simplify that code to get past that part, and get to the part where it tries everything it can looking for valid registers

okay, 0.7.6 released that should bypass your error on initialization, and then try really hard to get all the data it can.

It might take awhile. Possibly several minutes. You can also add --no-try-individual and it won't try quite so hard, but might be missing some data.

0.7.7 will ignore that error as well and keep going.

:nod: I'll try and look at the data tomorrow, see if I can make sense of it, and request more if I need to.

Problem was my system was at Firmware 2.0.4. Fixed in 0.8.0. Thanks!