MQTT Bridge

Fragen zur Nutzung, Features, usw..
hackex
Beiträge: 34
Registriert: Do Mär 18, 2021 12:39 am

MQTT Bridge

Beitrag von hackex »

Hallo Beisammen,

ich würde gerne als meinen Haupt-Broker meinen mosquitto-server in Home Assistant (kurz: HA, eine Smart Home Software) nutzen. Ich habe ich den Einstellungen von openWB gesehen, dass man eine MQTT-Bridge einrichten kann. Die Verbindung zu Home Assistant funktioniert aber nicht. Der mosquitto server hat kein TSL aktiviert. Ich sehe das nicht als zwingend notwendig an bei meiner privaten Installation. Kann ich die Bridge-Funktion in openWB auch ohne TLS verschlüsselte Bridge nutzen?
Oder sollte das wirklich nicht funktionieren, gibt es vielleicht jemanden der die Verbindung zu HA schon herstellen konnte. Ich bekomme den mosquitto in HA auch nicht so schnell auf TLS umgestellt. Finde auch keine gute Anleitung zum Hardening des mosquitto servers in HA.

Danke schon einmal
Niklas
openWB
Site Admin
Beiträge: 8499
Registriert: So Okt 07, 2018 1:50 pm
Has thanked: 1 time
Been thanked: 27 times

Re: MQTT Bridge

Beitrag von openWB »

Es ist bewusst nur TLS möglich da potentiell es immer ins Internet geht.
Die Bridge ohne TLS kannst du aber von deinem Broker aus zur openWB auch starten.
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
hackex
Beiträge: 34
Registriert: Do Mär 18, 2021 12:39 am

Re: MQTT Bridge

Beitrag von hackex »

openWB hat geschrieben: Fr Mär 19, 2021 11:34 am Es ist bewusst nur TLS möglich da potentiell es immer ins Internet geht.
Die Bridge ohne TLS kannst du aber von deinem Broker aus zur openWB auch starten.
Wenn ich dich richtig verstehe, kann ich die Bridge von Home Assistant aus zu openWB herstellen...also sozusagen genau umgedreht? Muss ich das in openWB irgendwie bekannt machen?

Vielleicht findet sich ja auch noch jemand, der mich bei der TLS-Einrichtung von mosquitto in Home Assistant unterstützt. Generell bin ich dem natürlich nicht abgeneigt.
rleidner
Beiträge: 961
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 5 times
Been thanked: 19 times

Re: MQTT Bridge

Beitrag von rleidner »

ich habe das am Laufen (mosquitto in docker).
im mosquitto.conf des HA z.B. folgendes eintragen:
#
# bridge to openWB Wallbox
#
connection openwb
address <ip_der_openwb>:1883
start_type automatic
topic openWB/# both 2
local_clientid openwb.mosquitto
try_private false
cleansession true

VG
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
hackex
Beiträge: 34
Registriert: Do Mär 18, 2021 12:39 am

Re: MQTT Bridge

Beitrag von hackex »

rleidner hat geschrieben: Fr Mär 19, 2021 12:14 pm ich habe das am Laufen (mosquitto in docker).
im mosquitto.conf des HA z.B. folgendes eintragen:
#
# bridge to openWB Wallbox
#
connection openwb
address <ip_der_openwb>:1883
start_type automatic
topic openWB/# both 2
local_clientid openwb.mosquitto
try_private false
cleansession true

VG
Danke für die Config. Das ist dann die Variante Bridge in Home Assistant aufbauen?!
Vielleicht findet sich auch noch die sichere Variante mit TLS? ;)
rleidner
Beiträge: 961
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 5 times
Been thanked: 19 times

Re: MQTT Bridge

Beitrag von rleidner »

Das ist dann die Variante Bridge in Home Assistant aufbauen?!
Ja, solange das im lokalen Netz bleibt sollte das kein Sicherheitsproblem sein.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
hackex
Beiträge: 34
Registriert: Do Mär 18, 2021 12:39 am

Re: MQTT Bridge

Beitrag von hackex »

rleidner hat geschrieben: Fr Mär 19, 2021 2:47 pm
Das ist dann die Variante Bridge in Home Assistant aufbauen?!
Ja, solange das im lokalen Netz bleibt sollte das kein Sicherheitsproblem sein.
Hi,
es scheint zu laufen. Danke dafür! Eine Nachfrage hätte ich noch: Abonnierst du dann alle Topics mit "openWB/#" in HA und wie kann man dann die Sub-Topics sortieren bzw. darauf zugreifen oder fischst du dir alle "notwendigen" Sub-Topics raus (z.B. "openWB/set/evu/W")? Je nachdem, wie viele Sub-Topics man abonnieren möchte, ist das natürlich schon etwas an Konfigurationsaufwand :)

Edit: Da kommt jetzt auch noch die Frage auf, wie ich Topics mappen kann. Der EVU Zähler kommt z.B. auf Home Assistant unter "/sensor/shelly/evu" an und soll nun an openWB weitergeleitet werden auf "/openWB/set/evu/W". Ideen hierfür?
hackex
Beiträge: 34
Registriert: Do Mär 18, 2021 12:39 am

Re: MQTT Bridge

Beitrag von hackex »

hackex hat geschrieben: Sa Mär 20, 2021 12:53 pm
Hi,
es scheint zu laufen. Danke dafür! Eine Nachfrage hätte ich noch: Abonnierst du dann alle Topics mit "openWB/#" in HA und wie kann man dann die Sub-Topics sortieren bzw. darauf zugreifen oder fischst du dir alle "notwendigen" Sub-Topics raus (z.B. "openWB/set/evu/W")? Je nachdem, wie viele Sub-Topics man abonnieren möchte, ist das natürlich schon etwas an Konfigurationsaufwand :)

Edit: Da kommt jetzt auch noch die Frage auf, wie ich Topics mappen kann. Der EVU Zähler kommt z.B. auf Home Assistant unter "/sensor/shelly/evu" an und soll nun an openWB weitergeleitet werden auf "/openWB/set/evu/W". Ideen hierfür?
Ich habe das publishen der EVU Leistungswerte (im Hausanschlusskasten hängt ein Shelly 3EM) jetzt über eine Automatisierung in Home Assistant gelöst. Ein Template-Sensor addiert die Leistung der 3-phasigen Messung. Der Wert diesen Template Sensors wird über in einer Automatisierung bei State-change auf dem geforderten Topic (openWB/set/evu/W) veröffentlicht:

Hier die Aktion, die in HA ausgeführt wird:
service: mqtt.publish
data:
topic: openWB/set/evu/W
qos: '1'
payload_template: '{{ states(''sensor.power_total_usage_house'') | int }}'
rleidner
Beiträge: 961
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 5 times
Been thanked: 19 times

Re: MQTT Bridge

Beitrag von rleidner »

Edit: Da kommt jetzt auch noch die Frage auf, wie ich Topics mappen kann. Der EVU Zähler kommt z.B. auf Home Assistant unter "/sensor/shelly/evu" an und soll nun an openWB weitergeleitet werden auf "/openWB/set/evu/W". Ideen hierfür?
ja, es ist etwas Arbeit, aber überschaubar. In meinem sensors.yaml mache ich das z.B. so:
#+ openWB EVU akt Bezug/-Einspeisung
- platform: mqtt
name: "EVU akt Bezug/Einspeisung"
state_topic: "openWB/evu/W"
unit_of_measurement: "W"

bzw.
#+ openWB EVU WhImported
- platform: mqtt
name: "EVU Zähler Bezug"
state_topic: "openWB/evu/WhImported"
unit_of_measurement: "Wh"

#+ openWB EVU kWhImported
- platform: template
sensors:
evu_kwhimported:
friendly_name: "EVU Bezug"
unit_of_measurement: "kWh"
value_template: "{{ states('sensor.evu_zahler_bezug') | float / 1000|float|round(2) }}"

oder auch für die LP:
#+ openWB LP1 kWhCounter
- platform: mqtt
name: "EV LP1 Ladung"
state_topic: "openWB/lp/1/kWhCounter"
unit_of_measurement: "kWh"
...
#+ openWB LP8 kWhCounter
- platform: mqtt
name: "EV LP8 Ladung"
state_topic: "openWB/lp/8/kWhCounter"
unit_of_measurement: "kWh"


#+ openWB allLPCounter
# allLPCounter = lp1_zahler + ... + lp8_zahler
- platform: template
sensors:
alllp_kwhcounter:
friendly_name: "Alle Ladepunkte Zähler"
unit_of_measurement: "kWh"
value_template: "{{ (states('sensor.ev_lp1_ladung') | float + states('sensor.ev_lp2_ladung') | float + states('sensor.ev_lp3_ladung') | float + states('sensor.ev_lp4_ladung') | float + states('sensor.ev_lp5_ladung') | float + states('sensor.ev_lp6_ladung') | float + states('sensor.ev_lp7_ladung') | float + states('sensor.ev_lp8_ladung') | float ) |float | round(2) }}"

ich benutze die openWB Daten in HA bisher nur zur Steuerung einiger zigbee-Schalter.
Hinter HA (raspi/docker) hängt noch influx/grafana mit dem ich die Daten später mal langfristig anzeigen will...

HTH
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
hackex
Beiträge: 34
Registriert: Do Mär 18, 2021 12:39 am

Re: MQTT Bridge

Beitrag von hackex »

rleidner hat geschrieben: Sa Mär 20, 2021 4:06 pm
Edit: Da kommt jetzt auch noch die Frage auf, wie ich Topics mappen kann. Der EVU Zähler kommt z.B. auf Home Assistant unter "/sensor/shelly/evu" an und soll nun an openWB weitergeleitet werden auf "/openWB/set/evu/W". Ideen hierfür?
ja, es ist etwas Arbeit, aber überschaubar. In meinem sensors.yaml mache ich das z.B. so:
#+ openWB EVU akt Bezug/-Einspeisung
- platform: mqtt
name: "EVU akt Bezug/Einspeisung"
state_topic: "openWB/evu/W"
unit_of_measurement: "W"

ich benutze die openWB Daten in HA bisher nur zur Steuerung einiger zigbee-Schalter.
Hinter HA (raspi/docker) hängt noch influx/grafana mit dem ich die Daten später mal langfristig anzeigen will...

HTH
Super! Das ist jetzt von openWB nach Home Assistant. Danke für die detaillierte Config.

Das andere ist jedoch den EVU Zähler von Home Assistant über die Bridge in openWB zu bekommen. Dazu habe ich nun die Automatisierung in HA eingepflegt. Das könnte ggf. auch mit einem Remapping in der mosquitto Config gehen.
Tendenziell wird bei mir alles in Home Assistant fließen und von dort dann OpenWB bereitgestellt. Dann muss ich ggf. den Lademodus-Auswahlregler, PV und Hausleistung als Switch rüber zu openWB schieben.
Oder würde da irgendwas dagegen sprechen? Grafana/Influx läuft zum Glück schon ganz gut :)
Antworten