Seite 1 von 2

MQTT Bridge

Verfasst: Fr Mär 19, 2021 11:26 am
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

Re: MQTT Bridge

Verfasst: Fr Mär 19, 2021 11:34 am
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.

Re: MQTT Bridge

Verfasst: Fr Mär 19, 2021 11:44 am
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.

Re: MQTT Bridge

Verfasst: Fr Mär 19, 2021 12:14 pm
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

Re: MQTT Bridge

Verfasst: Fr Mär 19, 2021 1:31 pm
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? ;)

Re: MQTT Bridge

Verfasst: Fr Mär 19, 2021 2:47 pm
von rleidner
Das ist dann die Variante Bridge in Home Assistant aufbauen?!
Ja, solange das im lokalen Netz bleibt sollte das kein Sicherheitsproblem sein.

Re: MQTT Bridge

Verfasst: Sa Mär 20, 2021 12:53 pm
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?

Re: MQTT Bridge

Verfasst: Sa Mär 20, 2021 2:30 pm
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 }}'

Re: MQTT Bridge

Verfasst: Sa Mär 20, 2021 4:06 pm
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

Re: MQTT Bridge

Verfasst: Sa Mär 20, 2021 4:18 pm
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 :)