Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @ab-bro last edited by

      @ab-bro sagte: Der WiCAN-Dongle meldet seinen Status, den ich dann im ioBroker sehe.

      Was enthält der Status?

      A 1 Reply Last reply Reply Quote 0
      • A
        ab-bro @paul53 last edited by

        @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"}

        1 Reply Last reply Reply Quote 0
        • Marc Berg
          Marc Berg Most Active @ab-bro last edited by Marc Berg

          @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.tx ein.

          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.

          A 1 Reply Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @ab-bro last edited by

            @ab-bro Und zeig' bitte noch die MQTT Instanzeinstellungen.

            A 1 Reply Last reply Reply Quote 0
            • A
              ab-bro @Marc Berg last edited by

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

              mqtt-Instanzeinstellungen-Verbindung.png

              Instanzeinstellungen-ClientSettings.png

              Instanzeinstellungen-mqttEinstellungen1.png

              Instanzeinstellungen-mqttEinstellungen2.png

              1 Reply Last reply Reply Quote 0
              • A
                ab-bro @Marc Berg last edited by

                @marc-berg Es hat funktioniert! Vielen Dank für Deine Hilfe!

                Marc Berg 1 Reply Last reply Reply Quote 0
                • Marc Berg
                  Marc Berg Most Active @ab-bro last edited by

                  @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.

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    ab-bro @Marc Berg last edited by ab-bro

                    @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.

                    Bildschirmfoto 2023-12-27 um 14.02.25.png

                    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 1 Reply Last reply Reply Quote 0
                    • Marc Berg
                      Marc Berg Most Active @ab-bro last edited by Marc Berg

                      @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

                      214c48df-0edd-4cba-83e4-1145f7a98799-grafik.png

                      Edit: "State ID" angepasst

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        ab-bro @Marc Berg last edited by

                        @marc-berg Auch das hat funktioniert. Kannte ich ebenfalls noch gar nicht ...
                        Vielen Dank!!!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.0k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        932
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo