Rinnai Heating/Cooling Wifi Module

This is what I see in the logs when I press the ‘On’ button in the Rinnai Touch App (see pic below):

Log extract:

[10/13/2020, 4:24:30 PM] [Rinnai Touch] MQTT: Publish: rinnai/switch/evap/get, Payload: off
[10/13/2020, 4:24:43 PM] [Rinnai Touch] MQTT: Publish: rinnai/hvac/action/get, Payload: {"U":"idle"}
[10/13/2020, 4:24:43 PM] [Rinnai Touch] MQTT: Publish: rinnai/hvac/mode/get, Payload: cool
[10/13/2020, 4:24:43 PM] [Rinnai Touch] MQTT: Publish: rinnai/hvac/temperature/get, Payload: 30
[10/13/2020, 4:24:43 PM] [Rinnai Touch] MQTT: Publish: rinnai/switch/evap/get, Payload: on

The “Rinnai Touch” button on homebridge comes on and is set to cool.

Sometimes the Manual button remains on while the Rinnai Touch is off.

As I suspected, turning the fan on is turning the whole unit off. It first sends this command:

N000093{"ECOM":{"GSO":{"SW":"F"}}}

which is what is turning it off. Then when it tries to send the command to turn the fan on it fails as the unit needs to be on.

Anyway, I think I may have a solution which I’ll post later, just want to think it thru a bit more.

@currest2620, here’s how I think the accessory functions could work for Evap cooling. Let me know what you think:

Thermostat

  • Off - power off the unit
  • Cool - power on & set to MANUAL operation
  • Auto - power on (if necessary) & set to AUTO operation
  • Set Temperature - set to AUTO operation (if in MANUAL). The temperature selected will be translated into the equivalent comfort level

Pump

  • On - power on (if necessary), set to MANUAL operation (if necessary), turns on pump
  • Off - turns off pump. Does not affect power or operation mode

Manual

  • On - power on (if necessary), set to MANUAL operation
  • Off - sets to AUTO operation. Does not affect power

Fan

  • On - power on (if necessary), set to MANAUL operation (if necessary) & turn fan on
  • Off - turn fan off. Does not affect power or operation mode

That would seem like it would work. Currently when the fan is set to run manually, it turns the Rinnai Touch off, but leaves ‘Manual’ on.

I assume that “Thermostat” is equivalent to the “Rinnia Touch” button on the homebridge.

In terms of Set Temperature and comfort level. This is referred to as an Auto mode in the product manual. FYI, here is what it says about that:

Automatic Operation
In Auto mode the Brivis Networker automatically turns the pump ON or OFF as required and varies the fan speed to maintain your selected “comfort level”.

This is controlled via a rotary dial (on the unit) and via an up/down control in the Rinnai Touch App (similar to fan operation).

Should be a fine substitute for that.

Thanks.

Thanks @currest2620

The Thermostat is the type of accessory that you see in the Home app. “Rinnai Touch” is its default name but you can rename it if you like.

@currest2620, are you able to post the status from the module when the unit is ON and in AUTO mode. Thanks.

Also, how would you like the comfort level to work. Currently the thermostat allows you to select a temperature between 8 and 30 degrees, however, as I understanding it the higher the comfort level the lower the temperature gets. So, the options are:

  1. Increasing the temperature on the thermostat will increase the comfort level. So the temperature dial works similar the comfort level dial on the controller (but it may seem odd that a high temp on the thermostat lowers the ambient temp)
  2. Increasing the temperature will decrease the comfort level. This option gives a more realistic representation of how the temperature dial affects the ambient temperature of the house.

Thanks so much for your assistance with this. At the moment I am getting errors. This is what I’m seeing in the logs:

[10/15/2020, 12:08:05 PM] Homebridge v1.2.3 is running on port 51419.
[10/15/2020, 12:08:06 PM] [Rinnai Touch] Found: Rinnai Touch module [192.168.1.54:27847]
[10/15/2020, 12:08:09 PM] Error [ERR_UNHANDLED_ERROR]: Unhandled error. ('connect EHOSTUNREACH 192.168.1.54:27847')
    at TcpService.emit (events.js:303:17)
    at Socket.<anonymous> (/homebridge/node_modules/homebridge-rinnai-touch-platform/src/rinnai/TcpService.ts:50:16)
    at Object.onceWrapper (events.js:421:26)
    at Socket.emit (events.js:314:20)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
[10/15/2020, 12:08:09 PM] Got SIGTERM, shutting down Homebridge...
[10/15/2020, 12:08:09 PM] [Rinnai Touch] Shutting down plugin
[10/15/2020, 12:08:14 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[10/15/2020, 12:08:19 PM] [HB Supervisor] Restarting Homebridge...
[10/15/2020, 12:08:19 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules
[10/15/2020, 12:08:19 PM] [HB Supervisor] Started Homebridge v1.2.3 with PID: 19121
[10/15/2020, 12:08:20 PM] Loaded config.json with 0 accessories and 2 platforms.

I’ll restart the Rinnai Touch module and see how it goes. The error remains after restarting the homebridge server.

Restarted the touch unit and it seems to be working again. Is this what you are looking for?

[10/15/2020, 12:15:21 PM] [Rinnai Touch] Sending: N000003{"ECOM":{"GSO":{"SW":"N"}}}
[10/15/2020, 12:15:23 PM] [Rinnai Touch] Command succeeded. Took 1388 ms
[10/15/2020, 12:15:23 PM] [Rinnai Touch] MQTT: Publish: rinnai/hvac/action/get, Payload: {"U":"idle"}
[10/15/2020, 12:15:23 PM] [Rinnai Touch] MQTT: Publish: rinnai/hvac/fan_mode/get, Payload: high
[10/15/2020, 12:15:23 PM] [Rinnai Touch] MQTT: Publish: rinnai/hvac/mode/get, Payload: cool
[10/15/2020, 12:15:23 PM] [Rinnai Touch] MQTT: Publish: rinnai/switch/evap/get, Payload: on
[10/15/2020, 12:15:23 PM] [Rinnai Touch] MQTT: Publish: rinnai/switch/manual/get, Payload: on
[10/15/2020, 12:15:23 PM] [Rinnai Touch] Thermostat U: Getting characteristic 'TargetHeatingCoolingState'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Fan: Getting characteristic 'On'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Fan: Getting characteristic 'RotationSpeed'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Pump: Getting characteristic 'Active'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Pump: Getting characteristic 'InUse'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Thermostat U: Getting characteristic 'CurrentHeatingCoolingState'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Thermostat U: Getting characteristic 'TargetHeatingCoolingState'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Thermostat U: Getting characteristic 'CurrentTemperature'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Thermostat U: Getting characteristic 'TargetTemperature'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] Thermostat U: Getting characteristic 'TemperatureDisplayUnits'
[10/15/2020, 12:15:24 PM] [Rinnai Touch] ManualSwitch U: Getting characteristic 'On'
[10/15/2020, 12:15:25 PM] [Rinnai Touch] MQTT: Publish: rinnai/hvac/action/get, Payload: {"U":"cooling"}
[10/15/2020, 12:15:56 PM] [Rinnai Touch] MQTT: Publish Event: Scheduled Interval

The unit is on and in Auto mode via the homebridge accessories page. The “Manual” button is also active.

I think option 2 seems to be the most intuitive. Though either would be fine.

Thanks again.

You’ve done the right thing to resolve the connectivity issues. :+1:

The status I meant was the one you posted before when you put Homebridge into DEBUG mode. It starts like:

[{"SYST": {"CFG": {"MTSP": ...

So before getting the status use the TouchApp on your phone to turn the Evap on and select AUTO mode

Great, think I got it… Here ya go…

[10/15/2020, 5:05:10 PM] [Rinnai Touch] RinnaiSession receiveMessage 36:[{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "N", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "THU", "TM": "17:04", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "A", "SP": "29", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "N", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "N", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]

That’s perfect. Thanks :+1:

Version 3.1.1 of the plugin has been released. The main changes are improved support for Evap Cooling and a minor fix to the MQTT publication of the TCP/IP connection status.

@currest2620 let me know if this fixes the problems you found or if there’s anything that’s still not quite right. One thing I didn’t implement was setting MANUAL mode on when selecting COOL in the thermostat as it would have prevented AUTO mode from working correctly.

Ta Mantorok. That seems to work fine. I can select cool in the thermostat and then manual and operate the fan and pump independently. Switching off manual mode also switches off the fan and pump.

I reckon it’s working great.

Thanks very much for all your work, it is really appreciated. Now to get it into Home Assistant.

Glad to hear it’s working for you and thanks so much for the kind donation. :+1:

2 Likes

Version 3.1.2 of the plugin has been released. This fixes a bug that causes the plugin to crash if an error occurs while attempting to connect to the Rinnai module.

Hi there. Loving this work, really made things useful.

I’ve a N-BW2 controller that doesn’t report current temperature to Homebridge, so I did "subscribeTemperature": { "U": "zigbee2mqtt/0x00158d0002273997" in the config. I was hoping this would report the mqtt-reported temperature to Homebridge and to Home Assistant.

In the Homebridge log I get:
[10/25/2020, 10:36:32 PM] [Rinnai Touch] MQTT: Received: zigbee2mqtt/0x00158d0002273997, Payload: {"battery":100,"humidity":55.06,"linkquality":26,"pressure":949.6,"temperature":18.54,"voltage":3015}

If I subscribe zigbee2mqtt/0x00158d0002273997/temperature I get no result.

How can I get this plugin to report the current temperature using that mqtt info?

Hi @tortfeaser, thanks for the feedback.

The plugin is expecting the temperature only (ie. a number) to be in the payload. I’m not sure if its possible or not but maybe HA’s templating might allow you to pull out the temperature from that zigbee payload and then publish just the temperature figure under a different topic. Then you can subscribe to that topic in the plugin. See https://www.home-assistant.io/docs/configuration/templating/

Another option, I could enhance the plugin to allow you to specify a JSON path to pull out the temperature from the payload.

Regards

@Mantorok I really like the sound of adding a JSON path to pull temperature from a payload, this may benefit many of us, as the lack of temperature is certainly annoying, it’s almost embarrassing when Siri says “OK, heating from 0 degrees to 19 degrees”
;-/

No worries, I’ll add this enhancement into the next version of the plugin. I’m hoping to release it this weekend if all goes well.

Thanks @Mantorok. That would be awesome. MQTT remains a mystery.