Rinnai Heating/Cooling Wifi Module

No zones on mine, just a simple 12 year old brivis ducted unit with nc-6 controller.

The only down side is the nc-6 doesn’t report actual temperature so I’ll move a zigbee environmental sensor near the controller

You would be my eternal hero if you could!

I don’t have debugging enabled in homebridge but if you need some logs I can enable that tomorrow night and run the same commands.

Thanks @Mantorok - I’ve done some brief testing and concur with @jsn.forsyth. There may be a way to template it, but someone else more knowledgeable would need to comment on this. Fantastic I can see the zone states now!

Thanks for supplying the code @drmcinnes - I can see what you mean about the set temperature values not be accepted. I used to have an Ecobee and ZWave thermostat connected to the heater, and it worked fine with 0.5 increments. Must be a limitation of the wifi module, not the heater controller board.

Debug error:

[WARNING] Command failed. Expected state “.0” at HGOM.GSO.SP

Version 2.3.2 has been released which fixes the bug when setting the temperature via HA HVAC MQTT

Works beautifully!, no issues at all.

Thank you again.

Thanks for the feedback @jsn.forsyth. Are you able to use the “action_template” to extract one of the zones’ values? Maybe something like {{ value_json.A }}. I’ve never used them so not sure if it would work. With respect to the current_temperate, if the module supplies 999 then the “/ha/current_temperate/get” topic won’t be published.

Thanks for that. Templates in HA are amazing. I really need to learn them better.

Anyway, all working now. I haven’t tested it exhaustively but i’m very happy with the result. I have two thermostats. 1 for each zone.

I use Xiaomi MiJia temperature sensors to report the current temperature of each zone. So I created an automation that runs the script below every minute reporting the current temp.

script:
  publish_temp:
    sequence:
      - service: mqtt.publish
        data_template:
          topic: 'ha/current_temperature/a'
          payload: '{{ states("sensor.upstairs_temperature") | int }}'
      - service: mqtt.publish
        data_template:
          topic: 'ha/current_temperature/b'
          payload: '{{ states("sensor.living_room_temperature") | int }}'

Thanks again

That’s an interesting way of populating the thermostat current temperature. I’ll have to try that. I’m using a Xiaomi Aqara sensor also for reporting zone temperatures.

Are you still seeing a delay with state updates when you send an MQTT command, or have you increased the publishFrequency? I’ve left it at default (60sec), however I’ve noticed when you do send a command, the unit instantly publishes the status update. However, because of the command delay, the instant status update doesn’t include the new configuration.

e.g. Change of temperature below via MQTT

[6/2/2020, 11:56:42 PM] [Rinnai Touch] [INFO] Received: homeassistant/brivis/ha/temperature/set, Payload: 20
[6/2/2020, 11:56:43 PM] [Rinnai Touch] [INFO] Sending command: N000001{“HGOM”:{“GSO”:{“SP”:“20”}}}
[6/2/2020, 11:56:43 PM] [Rinnai Touch] [INFO] Publish: homeassistant/brivis/ha/action/get, Payload: {“A”:“heating”,“B”:“idle”,“C”:“idle”}
[6/2/2020, 11:56:43 PM] [Rinnai Touch] [INFO] Publish: homeassistant/brivis/ha/fan_mode/get, Payload: “medium”
[6/2/2020, 11:56:43 PM] [Rinnai Touch] [INFO] Publish: homeassistant/brivis/ha/mode/get, Payload: “heat”
[6/2/2020, 11:56:43 PM] [Rinnai Touch] [INFO] Publish: homeassistant/brivis/ha/temperature/get, Payload: “22”
[6/2/2020, 11:56:45 PM] [Rinnai Touch] [INFO] Command succeeded. Took 2000 ms

@Mantorok - Is the instant status publish built in to the plugin, or maybe it is the MQTT broker command response behavior. Maybe it needs a 1-2sec delay?

@David_M. I’m not happy with the way the MQTT publish events work at the moment. That’s why I didn’t implement one of the options. The plugin was never designed to handle MQTT so I think it will require a fair bit of refactoring to handle both the way homebridge works as well as MQTT. I’ve even thought about splitting the plugin into 2:

  • one like the original plugin prior to MQTT support (adds accessories to HomeKit)
  • a 2nd one that is just for MQTT (no accessories)

This would have its own challenges though as both plugins can’t talk to the module at the same time due to the flaky TCP.

I’m not publishing any messages to the touch device at the moment.

I’m actually having issues with the Homebridge connection. In Homebridge log, I get publishing info messages every 20seconds (as configured). However the message are always the same. Currently Zone A & B heating to 18 degrees. However the unit itself is idle with a set point of 19 degrees.

If I restart the Homebridge container, it seems to connect correctly and update once. But gets suck at the new values.

I might have broke something. I think it was working yesterday and broke sometime when I upgraded. This maybe a problem on my side. Not sure.

Are you able to check the status json blob (using the Publish Native option) to see if it shows the correct states?

No the log shows the native payload with the incorrect values. So I feel this is an issue between homebridge and the device. I rebooted my NUC and the touch and same result.

I’ve not seen that sort of thing before. Its like the status from the module it stuck. What about the touch app on your phone, does it show the correct information? Make sure it’s connected via WiFi not the cloud.

EDIT: Another question, is the day and time inside the json blob current for the native payload?

@jsn.forsyth I have followed yours and @David_M advice and installed the:

  • Portainer addon
  • added homebridge (I’m an Android user hence was not across this and learning quick but not there yet)
  • installed the Brivis plug in. Set up the Homke Kit Controller in HA and devices come up. Only problem is it’s not responding and noticed at the HomeBridge logs the following error message
    "[WARNING] Connect failed: connect ECONNREFUSED " so am assuming that I have a parameter in the plugin set incorrectly at the Brivis Plugin level.
1 Like

@aquavass - You’re most of the way there. Read earlier in the thread. That error is most likely because you have the mobile app open. Kill the app completely and restart HomeBridge.

Don’t stress to much. I feel the problem is on my side.

I believe the touch app is working fine. Via the cloud though because i’m in Singapore. So a little hard to connect to my wifi. lol. I can use the current room temperature from my MiJia sensor to check if the unit is on.

The time and date in the container log is way off. Now do I correct it?

Dont worry about my problems to much. I was just impressed and wanted to try things out. :slight_smile:

I’m and android user too. I don’t own any IOS devices and i got it to work… don’t stress to much about that.

@aquavass. You will probably need to restart the wifi module as well. Or your router if the module is hard to get to

OK I finally have it working, unit reset did the trick… @Mantorok my hat off to you for writing this most excellent plug-in… you’re a legend! @David_M and @jsn.forsyth I appreciate your assistance and patience for a beginner who has recently decided to move from the Vera Z-Wave platform to HA and realised that I should have jumped ship earlier :D.

One final question thermostat display zero degrees is this still a work in progress as I noticed that people are using sepreate temp sensor which is no problem as I have multiple throughout the house.

The wifi module only seems to supply the current temperature if you have the NC-7 touch controller or multiple NC-6 controllers

1 Like

I only have one NC-6 which probably explains it. With regards to the MQTT topics, I’ve set up mqtt config @drmcinnes published which works well. I may be missing the logic but I would like to include zone A which is a switch that just opens the vent to upstairs. No additional controller just one. looking at your API topic config, I can’t seem to find this? Is this available? If yes then I’m absolutely blind and would appreciate if you could point me to the specific syntax. Thanks again