To design Lovelace ui for the other sensors is yet not in my current scope. If you want to do it:)
My plan is support all devices there are in Home-Assistant. So Climate, Water Heater Switch and Binary Sensors, Sensors.
But this will take some time. What is connected to bsblan board are all different type of heating systems. So not all heating systems support all sensors etc. If the logic in my library is OK the development will pick up speed. (I am not a programmer)
There is no option yet to put the backend of the heating system in a device/platform. Would be cool though. So all the other sensors will be seperate entities. I am not sure if it’s possible to create your own platform?
Hi tiger42
can you share homeassitant configuration Rest sensor ?
I try to configure the sensor rest to extract value but not work.
Thank you in advance
Marco
Ok, this is the REST sensor part from my configuration.yaml:
sensor:
- platform: rest
name: BSB-LAN Status
resource: "http://192.168.0.95/JQ=700,1600,8000,8003,6705,710,712,720,721,1610,1612,5400"
method: POST
username: !secret bsb_lan_user
password: !secret bsb_lan_pass
scan_interval: 5
value_template: "{{ value_json['6705'].value }}"
json_attributes:
- "700"
- "1600"
- "6705"
- "8000"
- "8003"
- "710"
- "712"
- "720"
- "721"
- "1610"
- "1612"
- "5400"
headers:
Content-Type: application/json
- platform: template
sensors:
bsb_lan_betriebsart:
friendly_name: BSB-LAN Betriebsart
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '700')['value'] }}{% else %}{{ states('sensor.bsb_lan_betriebsart') }}{% endif %}"
attribute_templates:
desc: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '8000')['desc'] }}{% else %}{{ state_attr('sensor.bsb_lan_betriebsart', 'desc') }}{% endif %}"
bsb_lan_trinkwasserbetrieb:
friendly_name: BSB-LAN Trinkwasserbetrieb
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '1600')['value'] }}{% else %}{{ states('sensor.bsb_lan_trinkwasserbetrieb') }}{% endif %}"
attribute_templates:
desc: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '8003')['desc'] }}{% else %}{{ state_attr('sensor.bsb_lan_trinkwasserbetrieb', 'desc') }}{% endif %}"
bsb_lan_komfortsollwert:
friendly_name: BSB-LAN Komfortsollwert
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '710')['value'] }}{% else %}{{ states('sensor.bsb_lan_komfortsollwert') }}{% endif %}"
unit_of_measurement: °C
device_class: temperature
bsb_lan_reduziertsollwert:
friendly_name: BSB-LAN Reduziertsollwert
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '712')['value'] }}{% else %}{{ states('sensor.bsb_lan_reduziertsollwert') }}{% endif %}"
unit_of_measurement: °C
device_class: temperature
bsb_lan_kennlinie_steilheit:
friendly_name: BSB-LAN Kennlinie Steilheit
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '720')['value'] }}{% else %}{{ states('sensor.bsb_lan_kennlinie_steilheit') }}{% endif %}"
bsb_lan_kennlinie_verschiebung:
friendly_name: BSB-LAN Kennlinie Verschiebung
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '721')['value'] }}{% else %}{{ states('sensor.bsb_lan_kennlinie_verschiebung') }}{% endif %}"
unit_of_measurement: °C
device_class: temperature
bsb_lan_tww_nennsollwert:
friendly_name: BSB-LAN TWW Nennsollwert
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '1610')['value'] }}{% else %}{{ states('sensor.bsb_lan_tww_nennsollwert') }}{% endif %}"
unit_of_measurement: °C
device_class: temperature
bsb_lan_tww_reduziertsollwert:
friendly_name: BSB-LAN TWW Reduziertsollwert
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '1612')['value'] }}{% else %}{{ states('sensor.bsb_lan_tww_reduziertsollwert') }}{% endif %}"
unit_of_measurement: °C
device_class: temperature
bsb_lan_tww_dle_komfortsollwert:
friendly_name: BSB-LAN TWW DLE Komfortsollwert
value_template: "{% if states('sensor.bsb_lan_status') is defined and states('sensor.bsb_lan_status') != 'unavailable' %}{{ state_attr('sensor.bsb_lan_status', '5400')['value'] }}{% else %}{{ states('sensor.bsb_lan_tww_dle_komfortsollwert') }}{% endif %}"
unit_of_measurement: °C
device_class: temperature
bsb_lan_temperaturspreizung:
friendly_name: BSB-LAN Temperaturspreizung
value_template: "{{ (states('sensor.bsb_lan_vorlauftemperatur') | float - states('sensor.bsb_lan_rucklauftemperatur') | float) | round(1) }}"
unit_of_measurement: °C
device_class: temperature
As the HTTP query is quite slow on the Arduino (the more values you read out, the slower it gets), I use MQTT to acquire all constantly changing values (mainly temperatures). You need to have a MQTT broker of course and the Arduino configured to use it:
sensor:
- platform: mqtt
state_topic: "bsb-lan/10004"
name: BSB-LAN Außentemperatur
unit_of_measurement: °C
device_class: temperature
- platform: mqtt
state_topic: "bsb-lan/8703"
name: BSB-LAN Außentemperatur gedämpft
unit_of_measurement: °C
device_class: temperature
- platform: mqtt
state_topic: "bsb-lan/8704"
name: BSB-LAN Außentemperatur gemischt
unit_of_measurement: °C
device_class: temperature
- platform: mqtt
state_topic: "bsb-lan/8310"
name: BSB-LAN Vorlauftemperatur
unit_of_measurement: °C
device_class: temperature
- platform: mqtt
state_topic: "bsb-lan/8314"
name: BSB-LAN Rücklauftemperatur
unit_of_measurement: °C
device_class: temperature
- platform: mqtt
state_topic: "bsb-lan/8830"
name: BSB-LAN Trinkwassertemperatur 1
unit_of_measurement: °C
device_class: temperature
- platform: mqtt
state_topic: "bsb-lan/8832"
name: BSB-LAN Trinkwassertemperatur 2
unit_of_measurement: °C
device_class: temperature
- platform: mqtt
state_topic: "bsb-lan/8326"
name: BSB-LAN Brennermodulation
unit_of_measurement: "%"
icon: "mdi:fire"
For setting parameters I use a parameterizable REST ccommand. Just let me know if you want to have the code for that too.
Have you got a climate card with your rest commands ? what is your code ?
I want to use 2 heating circuits (floor and etage) and heating water circuit so if I understand correctly, it’s not possible with the actual integration ?
Hi
Iam very new at BSB Lan. I use a ESP32 with the BSB-Lan adapter and first off all: It works!
Now I triy to integrate it in my HomeAssistant. I needed to flash the newest Version of BSB Lan, because for the ESP32 I need the wifi integration. SO the HA BSB integration does not work. I tried, buit it doesn’t
Now I want to use mqtt like tiger42 did.
What do I have to configure in the BSB-LAN adapter to gett mqtt working
MQTT verwenden: Plain text, JSON, Rich Json ???
MQTT IP Adress, Passwort, Username, GeräteID, Topic Prefix – got it!
SOmething else? In the logging section?
BSBLan has changed a lot the last few months. So I have to pick up where it is and what is best for HA integration. For now you could follow @tiger42 instructions to get the most out of it.
When I have some time available I am planning te rewrite the integration.
This will be more mqqt based because it will work like local push.
The plan is to have support for the platforms climate , hot water, and maybe some customs stuff.
If someone has interest to get things started let me know. I will enjoy to watch it from the sideline.
I’ve updated the BSB-Lan in Arduino and HA to the latest version, and now I am getting the negative amounts for this component… I’ve tried to sniff the network, and it seems the BSB-Lan itself return the correct values. Where can be the issue? Thanks!
Bsblan firmware has changed a lot so I cannot tell what’s broken.
For example they shuffled the parameters around.
That’s why it’s documented the version number of the firmware you have to install to be able to use this integration. You can still download the firmware version on GitHub that works with the integration.
Version 1.0 is the latest tested
I am spending time once in a while to overhaul the integration. But progress is slow.
My BSB-lan adapter is on it’s way and I’ll be using an ESP32, so I’m not sure version 1.0 will work for me. Can I help in getting the integration updated so it’ll work with the current version of the firmware?
I hope to start soon. I think I am going to start a custom component and will make it available on hacs first. This makes development and iterations a bit faster than doing pull request on the core. A lot need to be changed.
@konicekdavid, go to the BSB-LAN Github page or the documentation and you can find there the developer’s,
Frederik, email.
Send an email to him with your boiler’s model number to confirm that it will work and ask him for the BSB-LAN adapter.
You can order the board from him, assembled or non-assembled. He will tell you which board you need depending on you ESP board.
Bonjour; je suis Francais et utilise BSBLan de Frederik Holst.
Je possede une pompe a chaleur Atlantic avec un RVS21.831F/127.
Je cherche a trouver les parametres qui gerent les differentiels autour des points de consignes de mon circuit de chauffe 1 (qui gere ma vanne 3 voies) et de mon circuit de chauffage 2 (qui gere la variation de vitesse de mon compresseur).
J’ai deja bien travaillé sur Le Tn et Xp de mon circuit 1, mais ne trouve pas le numero du parametre du differentiel (aujourd’hui, à 0.5k apparement sur le circuit 1 et 1k pour le circuit 2).
Pourriez vous m’aider ?
Merci par avance