I am most likely alone in this request, but if I don’t ask it can never happen. IBC has a web interface for their boilers (heat). Unfortunately for me there is no method of historical data or incorporation into automation. The data received is informational only and nothing more. It would be so nice to have an API that could tell me when a boiler zone, floor or hot water heater is on. the web interface requires no more than e-mail, password. this is all linked to the mac address of the local interface. If it is helpful… here a link to the documentation of what is currently available from IBC
https://www.ibcboiler.com/support/TIPortal/Content/IBC_V10_Portal/IBC_Portal.htm
Thank you in advance for any programing wizzards out there.
Any luck with this? I have an IBC boiler as well that I control/monitor via the web interface. Thanks,
I have had no replies other than yourself. A Home Assistant API would really help. Currently, there is no way to receive any notifications. And of course, anyone with one of these knows it is needed.
I even tried contacting the manufacture. To no avail, There still is no way to tell needed changes of status.
I noticed 241 people viewed my request and the only votes are you and I. Fingers Crossed
It would be great to see. Just installed an IBX110.
It might be disabled with Node Red and its http nodes.
I have three IBC boilers that I would love to integrate into HASS. I know this has been a while, but I also know HASS has come a long way in the last year and a half, and integrations are being added regularly. Anyone with an IBC SL-10 boiler, let us know.
I was able to get the status, errors, warnings, supply temperature, return temperature, target temperature, inlet pressure, outlet pressure, delta pressure, MBH, and outdoor temperature from my IBC SL28 boiler into HA. There is other data available however that’s the only data I need at this time. I don’t know if this process will be the same for your IBC boiler but here is how I did it. Hopefully it works for you or at least gives you some ideas.
My boiler is connected to my lan and it provides a portal where I can monitor various sensors. Ensure your boiler is connected to your home network and find the IP address from your router.
You don’t need to log into the portal for this to work. This portal is dynamic so you can’t scrape it with the scrape or multiscrape integrations however if you inspect the portal in developer tools and select the network tab and click on Fetch/XHR, you can see that page uses a couple of different web services to get the boiler data.
There were three different url’s. To view the data that each API provides, copy the url from developer tools and paste it into your browser. You should see something like the below (note that the data is in JSON format):
Once you find the data you want, you can head over to HA and set up a rest integration to get the data. RESTful - Home Assistant
Here is my rest sensor based on the URL that provides the data (every 60 seconds) that I want:
rest:
- scan_interval: 60
resource: "http://192.168.1.90/cgi-bin/bc2-cgi?json={%20%22object_no%22%20:%20100%20,%20%22object_request%22%20:%2019%20,%22boiler_no%22%20:%20-1%20}"
sensor:
- name: "IBC Boiler"
value_template: "OK"
json_attributes:
- "Status"
- "Warnings"
- "Errors"
- "MBH"
- "SupplyT"
- "ReturnT"
- "TargetT"
- "InletPressure"
- "OutletPressure"
- "DeltaPressure"
Once you set up your rest sensor, you can use that sensor as is or in my case I set up template sensors to split out the data into their own entities. Here is mine:
# ---------- Boiler ----------
- name: "Boiler Status"
state: "{{ state_attr('sensor.ibc_boiler', 'Status') }}"
- name: "Boiler Supply Temperature"
unit_of_measurement: "°C"
state: "{{ (state_attr('sensor.ibc_boiler', 'SupplyT') / 4) | int }}"
- name: "Boiler Return Temperature"
unit_of_measurement: "°C"
state: "{{ (state_attr('sensor.ibc_boiler', 'ReturnT') / 4) | int }}"
- name: "Boiler Target Temperature"
unit_of_measurement: "°C"
state: "{{ (state_attr('sensor.ibc_boiler', 'TargetT') / 4) | int }}"
- name: "Boiler Inlet Pressure"
unit_of_measurement: "psi"
state: "{{ state_attr('sensor.ibc_boiler', 'InletPressure') }}"
- name: "Boiler Outlet Pressure"
unit_of_measurement: "psi"
state: "{{ state_attr('sensor.ibc_boiler', 'OutletPressure') }}"
- name: "Boiler Delta Pressure"
unit_of_measurement: "psi"
state: "{{ state_attr('sensor.ibc_boiler', 'DeltaPressure') }}"
- name: "Boiler Errors"
state: >
{% if is_state_attr('sensor.ibc_boiler', 'Errors', 'None') %}
Clear
{% else %}
{{ state_attr('sensor.ibc_boiler', 'Errors') }}
{% endif %}
- name: "Boiler Warnings"
state: >
{% if is_state_attr('sensor.ibc_boiler', 'Warnings', 'None') %}
Clear
{% else %}
{{ state_attr('sensor.ibc_boiler', 'Warnings') }}
{% endif %}
For some odd reason, my temperatures were coming back at four times the actual temperature so I divided them by 4 which gave me the correct actual temperature.
Once you’ve set up your template sensors you can add them to a card and/or automation of your choosing:
I used a bubble card so I can see all the boiler data I’m interested in. Below is my code:
- type: custom:bubble-card
card_type: button
button_type: state
entity: sensor.boiler_status
name: IBC Boiler
icon: mdi:water-boiler
show_state: true
styles: ""
show_last_changed: false
show_attribute: false
sub_button:
- entity: sensor.boiler_errors
show_state: true
name: Errors
show_name: false
icon: mdi:car-brake-alert
state_background: false
show_background: false
- entity: sensor.boiler_target_temperature
name: Target Temp
icon: mdi:bullseye-arrow
show_background: false
show_state: true
- entity: sensor.boiler_warnings
name: Warnings
icon: mdi:alert
show_background: false
show_state: true
- entity: sensor.boiler_supply_temperature
show_background: false
icon: mdi:thermometer-chevron-up
name: Supply Temp
show_state: true
- entity: sensor.boiler_inlet_pressure
name: Inlet Pressure
show_background: false
icon: mdi:car-brake-low-pressure
show_state: true
- entity: sensor.boiler_return_temperature
name: Return Temp
show_background: false
show_state: true
icon: mdi:thermometer-chevron-down
card_layout: large-2-rows
Hopefully that helps you get your boiler data into HA. Happy automating!