@marc-berg Auch das hat funktioniert. Kannte ich ebenfalls noch gar nicht ...
Vielen Dank!!!
NEWS
Latest posts made by ab-bro
-
RE: mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly
-
RE: mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly
@marc-berg Mit dem Skript hatte ich erstmal nur versucht, das topic zu erzeugen. Das hat nun auf Deinem Weg geklappt. Das Einsetzen der Message in den neuen tx-Datenpunkt hat auch sofort dazu geführt, dass der Dongle einen neuen Datenpunkt rx für seine Antwort erzeugt hat.
Und wenn ich die Abfrage-Message erneut in den tx-Datenpunkt schreibe, wird die Antwort auch sofort aktualisiert.
Jetzt muss ich nur noch ein Skript erstellen, das aus der rx-Antwort {"bus":"0","type":"rx","ts":5943,"frame":[{"id":2029,"dlc":8,"rtr":false,"extd":false,"data":[4,98,2,140,167,170,170,170]}]} den SOC entnimmt. Das ist in diesem Fall die 167. Dieser Wert muss dann nur noch durch 2.55 geteilt werden. Er steht immer an der gleichen Stelle. Ich muss also den entsprechenden Teilstring extrahieren.
Wenn ich diesen Skript-Teil habe, kann ich einen Trigger setzen, wenn die Status-Message des Dongle zeigt, dass er online ist und dann den SOC abzurufen. Anschließend könnte ich den SOC z.B. alle 15 Minuten abfragen, solange die Status-Message des Dongle nicht zeigt, dass er offline ist.Ich hoffe, das bekomme ich irgendwie hin. Der Schritt, die Kommunikation überhaupt aufzusetzen war der, über den ich gar nichts wusste. Deshalb war dein Tipp so hilfreich!
-
RE: mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly
@marc-berg Es hat funktioniert! Vielen Dank für Deine Hilfe!
-
RE: mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly
@marc-berg
Vielen Dank für die schnellen Rückmeldungen! Leider steht das Auto gerade nicht zum Testen zur Verfügung. Ich probiere morgen dann direkt aus, den Topic im Baum des ioBoker anzulegen und die Message in den Datenpunkt einzutragen.Hier sind schon mal die Screenshots der mqtt-Instanzeinstellungen:
-
RE: mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly
@paul53 Der Status zeigt "online" wenn das Fahrzeug fahrbereit ist oder lädt und sich der Dongle ins heimische WLAN eingebucht hat. Ansonsten zeigt er "offline". Das meldet der Dongle wohl, bevor er in den Schlafmodus geht. Die konkrete Meldung sieht im ioBroker so aus: {"status": "offline"}
-
mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly
Ich versuche, über einen meatpi WiCAN-OBD Dongle den SOC eines e-Up auszulesen. Dazu habe ich im WiCAN-Dongle unsere openWB als mqtt-Broker eingestellt. Die Verbindung funktioniert auch. Der WiCAN-Dongle meldet seinen Status, den ich dann im ioBroker sehe.
Ich weiß aber nicht, wie ich den WiCAN-Dongle dazu bekomme, auch den SOC über mqtt mitzuteilen. Dazu gibt es im openWB-Forum ein schönes Projekt, wo jemand den SOC durch ein Python-Programm abruft. Ich würde aber gerne über den mqtt-Adapter des ioBroker an den SOC des e-Up kommen, um dann über den ioBroker den SOC in die openWB zu bringen und als Info auch an anderen Stellen über die Visualisierung zu verwenden.
Die Lösung für den SOC-Abruf beim WiCAN-Dongle sieht im oben beschriebenen Python-Projekt wie folgt aus:
- Datei configuration.py
TOPIC_PREFIX = 'wican/34b472f22a8d'
SOC_REQUEST = '{ "bus": "0", "type": "tx", "frame": [{ "id": 2021, "dlc": 8, "rtr": false, "extd": false, "data": [3, 34, 2, 140, 170, 170, 170, 170] }] }' - Hauptprogramm soc-helper.py
client.publish(configuration.TOPIC_PREFIX+'/can/tx', configuration.SOC_REQUEST)
Ich habe versucht, über ein Blockly mit sendTo das Gleiche zu erreichen. Mit folgenden Parametern (und natürlich als der WiCAN-Dongle online und nicht offline war):
sendTo: mqtt.0
Befehl: sendMessage2Client
topic: wican.34b472f22a8d.can.tx
message: { "bus": "0", "type": "tx", "frame": [{ "id": 2021, "dlc": 8, "rtr": false, "extd": false, "data": [3, 34, 2, 140, 170, 170, 170, 170] }] }Das führte aber zu folgenden Fehlermeldungen:
error script.js.WiCAN-SOC compile failed: at script.js.WiCAN-SOC:1
error sendTo('mqtt.0', 'sendMessage2Client', { 'topic': 'wican.34b472f22a8d.can.tx', 'message': { \"bus\": \"0\", \"type\": \"tx\", \"frame\": [{ \"id\": 2021, \"dlc\": 8, \"rtr\": false, \"extd\": false, \"data\": [3, 34, 2, 140, 170, 170, 170, 170] }] } });
error ^
error SyntaxError: Invalid or unexpected token
error at new Script (node:vm:100:7)Leider verstehe ich im Grunde nichts von mqtt. Hat jemand einen Tipp, was ich falsch mache, oder aber ob es vielleicht einen anderen (besseren) Weg gibt, den SOC-Abruf über den ioBroker durchzuführen?
- Datei configuration.py
-
RE: Frage zum Update des MQTT-Adapters
Ich hänge mal die MQTT-Einstellungen der Solaranzeige an. Vielleicht kann daran ja jemand erkennen, ob das Update des MQTT-Adapters bei mir unkritisch sein sollte.
Bei der openWB habe ich keine MQTT-Einstellungen vorgenommen, bzw. keine gefunden ...
-
RE: Frage zum Update des MQTT-Adapters
Die Möglichkeit, einen Adapter wieder durch eine ältere Version zu ersetzen, kannte ich noch nicht. Das wäre ja ein Sicherheitsnetz, falls beim Update nichts verändert wird, was ein Zurückgeben schwieriger macht.
In jedem Fall schon mal Danke für den Tipp!Ist meine Vermutung denn richtig, dass in meinem Fall das Update bzgl. der Abonnements gar nichts ändert und damit sowieso unkritisch ist?
-
Frage zum Update des MQTT-Adapters
Vorab: Ich nutze beim ioBroker (und bei Homematic ebenso) eine Menge der tollen Hilfsmittel, Anleitungen und Tipps aus der Community, ohne aber den technischen Hintergrund zu verstehen.
Unter anderen habe ich über den ioBroker unsere Patchwork-Solaranlage mit der openWB-Wallbox über MQTT verbunden. Das ist essenziell für unsere gesamte Haussteuerung.
Deshalb habe ich mich bisher nicht getraut, das Update des MQTT-Adapters von Version 3 auf Version 4 durchzuführen. Ich vermute zwar, dass meine Nutzung so "Low-Level" ist, dass die beschriebene Änderung beim Abonnement-Verhalten bei mir nichts bewirkt, aber das Risiko, dass nach dem Update meine Verbindung zwischen der Solaranlage und der openWB komplett neu erstellt werden muss, war mir bisher zu groß. Zumal ich meine Scripte dazu auch nicht mehr unmittelbar nachvollziehen kann ...Deshalb wäre ich sehr dankbar für eine Einschätzung, ob ich mit Problemen beim Update des Adapters zu rechnen habe.
Screenshots zu meinen MQTT-Instanzen und den Objekten habe ich angehängt.
-
RE: MQTT-Adapter wird nicht grün
Ich habe noch einmal im Forum gesucht und einen Fall gefunden, wo der MQTT-Adapter auch "gelb" blieb. Da war die Erklärung, dass er erst "grün" wird, wenn sich ein Gerät über MQTT mit dem ioBroker verbindet.
Die Anwendung bei mir ist, dass ich aus meinem PV-Wechselrichter Daten auslese und in die openWB schreibe. Aber keines der beiden Geräte verbindet sich selbst mit dem ioBroker. Ist das die Erklärung für die Meldung "Verbunden mit MQTT: falsch"?Wobei dann immer noch die Frage bliebe, warum der Adapter vor dem Update "grün" war ...