NEWS
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:




-
@ab-bro sagte in mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly:
wican.34b472f22a8d.can.tx
Ich würde das Blockly erstmal außen vor lassen und stattdessen das Topic im MQTT Baum anlegen. Dann kannst du einfach die Message in den Datenpunkt kopieren. Damit wird diese Message dann veröffentlicht.
Um das Topic anzulegen aktivierst du kurz des Expertenmodus, stellst dich auf den Ordner "34b472..." und klickst auf das "+", als Name gibst du
can.txein.Nun kannst du den Inhalt des neuen Datenpunktes "tx" verändern und
{ "bus": "0", "type": "tx", "frame": [{ "id": 2021, "dlc": 8, "rtr": false, "extd": false, "data": [3, 34, 2, 140, 170, 170, 170, 170] }] }reinschreiben.Wenn das funktioniert, kannst du mit dem Automatisieren weiter machen.
@marc-berg Es hat funktioniert! Vielen Dank für Deine Hilfe!
-
@marc-berg Es hat funktioniert! Vielen Dank für Deine Hilfe!
-
@ab-bro Aber jetzt hast du doch immer noch einen Fehler in deinem Skript, oder? Mein Hinweis war ja nur dafür gedacht, dass Ganze zu testen, ob es grundsätzlich läuft.
@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!
-
@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!
@ab-bro sagte in mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly:
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.
das geht über einen Alias und eine Read-Funktion
JSON.parse(val).frame[0].data[4]/2.55
Edit: "State ID" angepasst
-
@ab-bro sagte in mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly:
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.
das geht über einen Alias und eine Read-Funktion
JSON.parse(val).frame[0].data[4]/2.55
Edit: "State ID" angepasst
@marc-berg Auch das hat funktioniert. Kannte ich ebenfalls noch gar nicht ...
Vielen Dank!!! -
Hi,
Läuft es bei dir noch? Ich bin am überlegen mir auch ein WiCAN-OBD für unseren eUP zu holen. Habe davon aber ehrlich gesagt keine Ahnung.
Könntest du mich dann unterstützen?Das wichtigste für mich ist, den aktuellen Akkustand in iobroker zu bekommen.
Vielej Dank vorab!
:) -
Hey,
ich habe mich jetzt für das OVMS-Modul entschieden: https://www.smart-emotion.de/wiki/entry/1686-ovms-unabhängiger-app-zugriff-ohne-mercedes-server/#module31im Wifi Daten über MQTT. Unterwegs bisher nur über die OVMS-App. Aber ehrlich gesagt brauche ich die Daten nicht im iobroker, wenn das Auto nicht daheim ist. Deshalb habe ich es auch nicht weiter verfolgt die Daten abzurufen.
Gruß
MarcusBin damit bisher auch sehr zufrieden - nur der Preis ist "ungünstig" ;)
-
Nachtrag:
Per Script (mit Hilfe von ChatGPT) kann ich mir auch die mobilen Daten herunterladen, wenn das Auto nicht im WLAN steht.
Hatte dies ein paar Tage laufen - aber irgendwie benötigte ich die Daten noch immer nicht und deshalb habe ich es wieder deaktiviert. "Datensparsamkeit" :)Es bleibt dabei - ich hole mir die Daten nur über Wifi und MQTT.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden