Danke!Über die Entwickler Konsole im Browser. Da hat Lutz mal im forum hier eine kurze Anleitung geschrieben.
Support: MQTT
- R.Albrecht
- Beiträge: 26
- Registriert: Mi Mär 22, 2023 8:35 am
Re: Support: MQTT
SMA HM 2.0, STP 10.0SE, BYD HVS10.2, PV 10,22kWp (1/2 Süd, 1/4 Ost, 1/4 West), OpenWB Standard+ S/W 2.1, Opel Corsa-e, SAE.
Re: Support: MQTT
Hi,shesse hat geschrieben: ↑Mi Apr 24, 2024 1:08 pmAktuell habe ich es so wie in https://forum.openwb.de/viewtopic.php?p=108051#p108051 beschrieben mit einer Bridge gelöst.
Ich habe mal im HA Forum nachgefragt, wie man ein Topic auf einen remote MQTT Broker aus einer Automation heraus publishen kann. So stelle ich mir das vor:Eventuell geht das ja und ich kann mir den ganzen Bridge-Aufwand sparen.Code: Alles auswählen
mosquitto_pub -h openwb.fritz.box -p 1883 -t openWB/set/vehicle/1/get/soc -q 1 -m "{{ states('sensor.platenumber_e_state_of_charge') }}"
Gruß,
Stefan
ich stehe genau vor dem gleichen Problem. Hat du es geschafft über mosquitto_pub in Home Assistant etwas an die openWB zu veröffentlichen?
Viele Grüße
Re: Support: MQTT
Leider nein, ich habe nach vielen Versuchen aufgegeben.
Eigentlich würde ich es jetzt auch eher mit dem HTTP-API Zugriff machen wollen, aber ich hab noch keine Zeit gefunden mich damit zu beschäftigen.
Falls jemand eine Beispiel-Automatisierung hat, wäre ich sehr interessiert daran. Dann könnte ich mir den ganzen Mosquitto und Broker-Aufwand sparen und einfach per HTTP publishen. Das hört sich für mich nach viel weniger Aufwand an, aber ich habe das mit dem Zertifikat und JSON noch nicht verstanden
Update:
Ich habe das jetzt zum Anlass genommen und mich noch mal damit beschäftigt. Ich schaffe es jetzt am Terminal von Home Assistant mittels Befehl
den SoC auf z.B. 42 zu setzen. Soweit so gut.
Was mir fehlt ist:
1. Wie kann ich den SoC auf einen Wert setzen, den ich aus dem Sensor "sensor.x_xx_1234_e_state_of_charge" der MercedesME Integration auslese?
2. Wie kann ich dann diesen curl-Befehl in einer Automatisierung nutzen? Hier vermute ich muss ich das in der configuration.yaml als "Shell Command" definieren, oder?
Hat das schon jemand umgesetzt?
Eigentlich würde ich es jetzt auch eher mit dem HTTP-API Zugriff machen wollen, aber ich hab noch keine Zeit gefunden mich damit zu beschäftigen.
Falls jemand eine Beispiel-Automatisierung hat, wäre ich sehr interessiert daran. Dann könnte ich mir den ganzen Mosquitto und Broker-Aufwand sparen und einfach per HTTP publishen. Das hört sich für mich nach viel weniger Aufwand an, aber ich habe das mit dem Zertifikat und JSON noch nicht verstanden
Update:
Ich habe das jetzt zum Anlass genommen und mich noch mal damit beschäftigt. Ich schaffe es jetzt am Terminal von Home Assistant mittels Befehl
Code: Alles auswählen
curl -k -s -X POST --data '{"topic": "openWB/set/vehicle/1/get/soc", "message": 42}' https://192.168.1.8:8443/v1/ | jq
Was mir fehlt ist:
1. Wie kann ich den SoC auf einen Wert setzen, den ich aus dem Sensor "sensor.x_xx_1234_e_state_of_charge" der MercedesME Integration auslese?
2. Wie kann ich dann diesen curl-Befehl in einer Automatisierung nutzen? Hier vermute ich muss ich das in der configuration.yaml als "Shell Command" definieren, oder?
Hat das schon jemand umgesetzt?
2x openWB series2 standard+, PV 7,23 kWp mit WR SolarEdge SE8K und EVU SolarEdge A-V-400Y-3MTR-S, BEV Mercedes EQA 350 4MATIC (07/2023)
Re: Support: MQTT
Das wollte ich auch zuerst machen, aber HTTP und API ist mit Home Assistant auch nicht so einfach, aufgrund der Authentifizierung und das die OpenWB ne einfache URL mit dem int Wert benötigt. Die REST-API gibt glaube ich bei HA nur Json Format aus. Über einen Curl Befehl mit Token müsste das wie folgt funktionieren:
Aber wie man daraus dann eine URL bekommt die openWB abfragen kann, keine Ahnung.
Zu 1.: Das müsste ja eigentlich mit dem Payload (also statt der 42 aus deinem Code) funktionieren:
Code: Alles auswählen
curl \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
http://HA-IP-Adresse:8123/api/states/sensor.state_of_charge
Zu 1.: Das müsste ja eigentlich mit dem Payload (also statt der 42 aus deinem Code) funktionieren:
Code: Alles auswählen
{{ states('sensor.x_xx_1234_e_state_of_charge') }}
Re: Support: MQTT
Hallo,
ich haben in Home Assistant eine Automation zum senden erstellt:
Vielleicht hilft das ja irgend jemand weiter.
ich haben in Home Assistant eine Automation zum senden erstellt:
Vielleicht hilft das ja irgend jemand weiter.
Re: Support: MQTT
Die Automation zu erstellen ist in HA nicht das Problem. Das Problem ist, dass mit dem mqtt.publish service nur das Topic angegeben werden kann. Ohne IP der openWB oder sonstige Zuordnung läuft das ins leere da der Broker HA die openWB nicht als Client sieht. Zumindest bei mir nicht. Da wäre ein String wie bei mqtt_pub sehr hilfreich.
Was hast du denn gemacht damit Home Assistant die Werte vom SoC mit der Automation an die openWB sendet?
Was hast du denn gemacht damit Home Assistant die Werte vom SoC mit der Automation an die openWB sendet?
Re: Support: MQTT
Ich kann einen Erfolg vermelden. Ich habe es mit Hilfe von Rene (Entwickler der MercedesMe Integration) hinbekommen den SoC und Range vom Home Assistant an die openWB zu senden und das ganz ohne einen MQTT-Broker und Brücke.
Hier meine Lösung zum nachbauen. Es muss nur die IP-Adresse 192.168.1.8 durch die IP-Adresse Eurer openWB-Box ersetzt werden und der Sensor mit dem Kennzeichen Eures Fahrzeuges (hier im Beipiel mit "x_xx_1234") muss angepasst werden. Weiterhin müsst Ihr prüfen, ob Ihr auch den SoC für das Fahrzeug "1" setzen wollt, sonst natürlich den Pfad hinter "topic" ebenfalls anpassen.
Hinzufügen zur configuration.yaml:
Hier dann noch meine Automation auch als Yaml:
Damit sollte dann bei Veränderung des SoC-Wertes sowohl der SoC als auch der Range-Wert in die openWB geschrieben werden.
Danke nochmals an alle, die mir Hilfestellung gegeben haben, besonders an Rene, der mir diese Lösung fast fertig gebaut hat.
Hier meine Lösung zum nachbauen. Es muss nur die IP-Adresse 192.168.1.8 durch die IP-Adresse Eurer openWB-Box ersetzt werden und der Sensor mit dem Kennzeichen Eures Fahrzeuges (hier im Beipiel mit "x_xx_1234") muss angepasst werden. Weiterhin müsst Ihr prüfen, ob Ihr auch den SoC für das Fahrzeug "1" setzen wollt, sonst natürlich den Pfad hinter "topic" ebenfalls anpassen.
Hinzufügen zur configuration.yaml:
Code: Alles auswählen
# Senden des SoC und Range an das Fahrzeug
rest_command:
send_vehicle_soc:
url: "https://192.168.1.8:8443/v1/"
method: POST
verify_ssl: false
content_type: "application/json"
payload: >
{
"topic": "openWB/set/vehicle/1/get/soc",
"message": {{ states('sensor.x_xx_1234_e_state_of_charge') }}
}
send_vehicle_range:
url: "https://192.168.1.8:8443/v1/"
method: POST
verify_ssl: false
content_type: "application/json"
payload: >
{
"topic": "openWB/set/vehicle/1/get/range",
"message": {{ states('sensor.x_xx_1234_e_range_electric') }}
}
Code: Alles auswählen
alias: State of Charge an openWB senden
description: ""
triggers:
- entity_id:
- sensor.x_xx_1234_e_state_of_charge
trigger: state
conditions: []
actions:
- action: rest_command.send_vehicle_soc
data: {}
- action: rest_command.send_vehicle_range
data: {}
mode: single
Danke nochmals an alle, die mir Hilfestellung gegeben haben, besonders an Rene, der mir diese Lösung fast fertig gebaut hat.
Zuletzt geändert von shesse am Di Dez 10, 2024 11:46 am, insgesamt 4-mal geändert.
2x openWB series2 standard+, PV 7,23 kWp mit WR SolarEdge SE8K und EVU SolarEdge A-V-400Y-3MTR-S, BEV Mercedes EQA 350 4MATIC (07/2023)
Re: Support: MQTT
Hallo,
add-on mosquitto broker installiert und im mosquitto config dir (share/mosquitto) eine Datei (openWB2.conf) mit folgendem Inhalt für die Bridge:
add-on mosquitto broker installiert und im mosquitto config dir (share/mosquitto) eine Datei (openWB2.conf) mit folgendem Inhalt für die Bridge:
Code: Alles auswählen
#
# bridge to openWB Wallbox
#
connection openwb2
local_clientid openwb2.mosquitto
#TODO: Replace IP address
address 000.000.000.000:1883
#Sensors Controller
topic openWB/system/ip_address in
topic openWB/system/version in
topic openWB/system/lastlivevaluesJson in
#Sensors per Chargepoint
#TODO: Replace 2 by your chargepoint ID
topic openWB/chargepoint/2/get/# in
topic openWB/chargepoint/2/config in
#Send to openWB
topic openWB/set/# out
Re: Support: MQTT
Sehr cool, vielen Dank für die Info Weißt du zufällig welche Anpassungen für eine Abfrage unter Version 1.9 notwendig sind? Das Topic muss wahrscheinlich openWB/set/lp/1/%Soc lauten.shesse hat geschrieben: ↑So Dez 08, 2024 9:41 pm Ich kann einen Erfolg vermelden. Ich habe es mit Hilfe von Rene (Entwickler der MercedesMe Integration) hinbekommen den SoC und Range vom Home Assistant an die openWB zu senden und das ganz ohne einen MQTT-Broker und Brücke.
Hier meine Lösung zum nachbauen. Es muss nur die IP-Adresse 192.168.1.8 durch die IP-Adresse Eurer openWB-Box ersetzt werden und der Teil "x_xx_1234" im Sensornamen durch Euer Kennzeichen.
Auch dir vielen Dank für die Info ich dachte vielleicht es wäre eine Lösung ohne Bridge, in Beiträgen vorher wurde ja erwähnt das dies nicht unbedingt nötig ist.
Dann hab ich ja schon zwei Möglichkeiten zum testen
Re: Support: MQTT
Das Topic muss mit Sicherheit angepasst werden und ich meine die HTTP-API gab es auch unter der 1.9, aber ob die genau gleich funktioniert weiß ich nicht.
2x openWB series2 standard+, PV 7,23 kWp mit WR SolarEdge SE8K und EVU SolarEdge A-V-400Y-3MTR-S, BEV Mercedes EQA 350 4MATIC (07/2023)