Bonaire MyClimate - Creating a custom integration

No problem mate.

I mean, mine is still working so I’ll consider myself lucky.

Just climbed into the roof to install the kit. And as I assumed there is only 1 power outlet in the roof which they have connected the gas heater to. The instruction booklet says not to use a double adapter and that the wifi module should have its own outlet.
How did everyone install ? Did you use double adapters to install or did you have a dedicated outlet. I’m trying to find info as to why they ask not to use double adapters, but there is no info online.

Mine was installled professionally by the same people who installed my system. There was only one GPO in the roof and they ran it on a power board but they said it’s a fire hazard to have a power board in the roof and I agree. 2-3 weeks later I had a sparky over to install the double GPO. I think on the roof with so much dust and extreme temperatures you should play it safe.

That makes total sense. This is the explanation I was searching for :). I was just worried that I cannot get the sparky to change it to a double GPO and that I might have to get him to pull a whole new outlet from the switch board. Which would have costed lot more than swapping to a double outlet. Thanks…

This is really great thread!I was so much disappointed with My climate app and was thinking that all the money went in drain. This thread really helped me. I have installed My climate integration and working ok except for the zones. I think there is common zone and for some reason application is parsing each letter as zone I.e. c o m m o n .

Is there anything I need to configure? I have 2 zones setup currently . Any help would be appreciated.

Hey mate. I have raised an issue for you on github.

Let’s move over to github to continue this.

Thank you so much!!! :+1:

Hey all,

I’ve been very fortunate that this component has been working great for me.

Just wondering though, when I (very briefly) used the bonaire app, I could have two separate temps set for heating and for cooling respectively.

With this component, if I set the temp to 22 degrees for example, it sets that temp for both heating and cooling.

Does anyone know a way we can keep the heating and cooling set temps separate from one another?
Is it a restriction of the HA climate integration?

Otherwise, my workaround is to try create an automation that remembers the previous set temp when the mode is changed, and reinstate it after the mode change.

Thank you.

EDIT:

Ended up creating an automation in NodeRed if anyone wants to use it. :slight_smile:

[{"id":"982e9797.e04118","type":"api-current-state","z":"228e151e.e5c1ba","name":"Bonaire Climate","server":"b4442cdf.ce6f4","version":1,"outputs":2,"halt_if":"heat","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"climate.bonaire_myclimate","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":670,"y":1060,"wires":[["56dbbad7.c76274","ba9fbbb8.c9e378"],[]]},{"id":"972ffc5e.50131","type":"server-state-changed","z":"228e151e.e5c1ba","name":"Bonaire Climate","server":"b4442cdf.ce6f4","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"climate.bonaire_myclimate","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":280,"y":1100,"wires":[["88484d72.85c01"]]},{"id":"88484d72.85c01","type":"switch","z":"228e151e.e5c1ba","name":"Mode","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"heat","vt":"str"},{"t":"eq","v":"cool","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":470,"y":1100,"wires":[["982e9797.e04118"],["ff51ff0.3fe5"]]},{"id":"ff51ff0.3fe5","type":"api-current-state","z":"228e151e.e5c1ba","name":"Bonaire Climate","server":"b4442cdf.ce6f4","version":1,"outputs":2,"halt_if":"cool","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"climate.bonaire_myclimate","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":670,"y":1140,"wires":[["9ae238be.7fc268","3d81e0d1.373d8"],[]]},{"id":"ba9fbbb8.c9e378","type":"function","z":"228e151e.e5c1ba","name":"","func":"var cool_temp = msg.data.attributes.temperature\nmsg.payload =\n{  \"data\": \n    {\"value\": cool_temp\n  }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":900,"y":1000,"wires":[["25ff6f45.07eb"]]},{"id":"9ae238be.7fc268","type":"api-current-state","z":"228e151e.e5c1ba","name":"Previous Cool","server":"b4442cdf.ce6f4","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_number.previous_cool_temp","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":920,"y":1140,"wires":[["10de7102.51585f"]]},{"id":"3179de60.db0c72","type":"api-call-service","z":"228e151e.e5c1ba","name":"Restore Previous Temp","server":"b4442cdf.ce6f4","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.bonaire_myclimate","data":"{}","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1390,"y":1100,"wires":[[]]},{"id":"10de7102.51585f","type":"function","z":"228e151e.e5c1ba","name":"Previous Temp","func":"var previous_temp = msg.payload\nmsg.payload =\n{  \"data\": \n    {\"temperature\": previous_temp\n  }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1160,"y":1100,"wires":[["3179de60.db0c72"]]},{"id":"56dbbad7.c76274","type":"api-current-state","z":"228e151e.e5c1ba","name":"Previous Heat","server":"b4442cdf.ce6f4","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_number.previous_heat_temp","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":920,"y":1060,"wires":[["10de7102.51585f"]]},{"id":"25ff6f45.07eb","type":"api-call-service","z":"228e151e.e5c1ba","name":"Store Cool Temp","server":"b4442cdf.ce6f4","version":1,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.previous_cool_temp","data":"{}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1090,"y":1000,"wires":[[]]},{"id":"62ff0382.3c21ac","type":"api-call-service","z":"228e151e.e5c1ba","name":"Store Heat Temp","server":"b4442cdf.ce6f4","version":1,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.previous_heat_temp","data":"{}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1090,"y":1200,"wires":[[]]},{"id":"3d81e0d1.373d8","type":"function","z":"228e151e.e5c1ba","name":"","func":"var heat_temp = msg.data.attributes.temperature\nmsg.payload =\n{  \"data\": \n    {\"value\": heat_temp\n  }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":900,"y":1200,"wires":[["62ff0382.3c21ac"]]},{"id":"b4442cdf.ce6f4","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

You’ll also need to add the following into your config.yaml:

input_number:
  previous_cool_temp:
    name: Previous Cool Temp
    min: 10
    max: 32
    step: 1
    mode: box
  previous_heat_temp:
    name: Previous Heat Temp
    min: 10
    max: 32
    step: 1
    mode: box

This is such an amazing integration. So good it’s the bit that got me over the line with Home Assistant and I now (1.5 weeks later) have the MyClimate module and controlling my Bonaire Rhino 21 via my Watch. Thanks so much to everyone involved!!
If anyone would like assistance with this in Melbourne, look up Mac Zen. Cheers!

2 Likes

You guys are amazing for working this out!
Thanks to OP for posting the question!
I have the same heater, the same challenge, but I’m using a Home Center 3. I realise that is not what you deal with, but was wondering if anyone is interested/able/hirable to convert this to a HC3 QuickApp?
Or can you refer me to someone?

@BrendanMoran, not sure if you or anyone here got the email from Bonaire today advising that they are killing the old app and services and replacing with a new crap app.

I’ve spent a few hours trying to get the wifi dongle onto the new app so I could report any breaking changes….but the new app is worse than the last! I ended up giving up and going back to the old one.

We all have until the 30th before things die. However, it may not be an issue if the device keeps working on local traffic.

I just searched for it in the app store - The general UI looks nicer than the old app, but I honestly haven’t touched the old app since having HA integration. And also, that has to be the worst app icon ever designed! Who gave that the green light?! :confounded:

Anyway, hoping this doesn’t break our wonderful integration. :crossed_fingers:t4:

I haven’t received the email. I will message you my email address if you wouldn’t mind forwarding it to me?

I think I’m going to go and block my wifi unit from accessing the internet just in case there is a forced update or anything like that. My integration is working well for me for the last 18 months or so, I also haven’t touched the app for a very long time.

Hey Joseph, I forgot to mention that this behaviour should be fixed from v1.0.0.

This works great when it works, So thanks for all the work done. Unfortunatly sometimes I get N/A and Nan. I only have a gas heater and have a wireless navigator. Can this be because it is a wireless navigator ?

@BrendanMoran did you confirm whether your Unifi kit was causing issues with the wifi controller? mine works for a few hours then I get around 6-7 failed discoveries. once it finally reconnects (without reboot) commands are received but are not applied.

happy to send through logs or any suggestions

Yes I did. The particular software version of Unifi AP seemed to be having issues with UDP Broadcast, especially between 5ghz/2ghz networks (this bug was not documented anywhere with unifi, unifi have terrible documentation). This was also impacting discovery of chromecast devices. I updated my Unifi APs to the latest version and that particular issue was resolved.

Hey folks,
I’ve been using this great integration for a while. Thanks for creating it!

I installed the latest version of HA (2021.12.1) and HA core (2021.12.0) which seems to have broken the integration.

Upon start-up, the following error appears in the logs, and the my climate integration doesn’t load:
Setup failed for bonaire_myclimate: Unable to import component: cannot import name ‘get_local_ip’ from ‘homeassistant.util’ (/usr/src/homeassistant/homeassistant/util/init.py)

Is anyone else getting the same error?

Cheers,
David

I saw this in breaking changes for 2021.12 :slight_smile: I will have to put an update in to be compatible with 2021.12. Hopefully have it out by the end of the day.

2 Likes

Was literally typing a post about this.

I’ve got the same error after updating to 2021.12.0 today.