Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. gelöst MQTT: Tesla SOC auslesen und openWB in einem topic

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    gelöst MQTT: Tesla SOC auslesen und openWB in einem topic

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      lumajo @bommel_030 last edited by

      @bommel_030
      obs besser läuft weis ich nicht, ist aber die bessere weil viel einfachere Lösung.
      Irgendwie habe ich das zumindest gedanklich übersehen, ist aber sehr elegant, wenn es openWB schon so einfach zur Verfügung stellt.
      Danke nochmal

      1 Reply Last reply Reply Quote 0
      • X
        XWing last edited by

        Ich nutze den Teslalogger um mir via MQTT die Daten zuspielen zu lassen. Dort gibt es auch den Wert für den SoC. Er wird als Zahl in folgendem Objekt abgelegt:

        {
          "common": {
            "name": "battery_level",
            "desc": "Manuell erzeugt",
            "role": "state",
            "type": "number",
            "read": true,
            "write": true,
            "def": 0
          },
          "type": "state",
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1629204859393,
          "_id": "0_userdata.0.Tessi.battery_level"
        }
        

        Im Objectbaum der openWB habe ich, wie von der openWB vorgegeben folgendes Object angelegt:

        {
          "common": {
            "name": "%Soc",
            "desc": "mqtt client variable",
            "role": "variable",
            "type": "number",
            "read": true,
            "write": true,
            "def": 0
          },
          "type": "state",
          "_id": "mqtt.0.openWB.set.lp.1.%Soc",
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1642502005768
        }
        

        Gebe ich in der letzten Variablen einen Wert an, so wird mir dieser auch in der openWB angezeigt. Das Object mqtt.0.openWB.lp.1.%Soc aktualisiert sich entsprechend.
        Da ich zwei Autos habe, nutze ich nicht die Auslesefunktion der openWB, sondern möchte gerne mit folgendem Script die jeweiligen Werte in das Object schreiben lassen:

        on({id: '0_userdata.0.Tessi.charge_port_door_open', val: true}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          setState("mqtt.0.openWB.set.lp.1.%Soc"/*%Soc*/, getState("0_userdata.0.Tessi.battery_level").val, true);
        });
        on({id: '0_userdata.0.Blue.charge_port_door_open', val: true}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          setState("mqtt.0.openWB.set.lp.1.%Soc"/*%Soc*/, getState("0_userdata.0.Blue.battery_level").val, true);
        });
        

        Das funktioniert aber nicht. Der SoC wird nicht in das Objekt geschrieben. Im Protokoll kommt filgende Infomeldung:

        State value to set for "mqtt.0.openWB.set.lp.1.socFaultState" has to be type "number" but received type "string" 
        

        Wieso String? Ich übergebe doch den Inhalt eines "Number" Objektes.
        Kann mir jemand sagen, wie ich das Problem gelöst bekomme?

        L 1 Reply Last reply Reply Quote 0
        • L
          lumajo @XWing last edited by

          @xwing diesen fehler habe ich auch bei der Übergabe von NodeRed bekommen, allerdings wurde der Wert trotzdem geschrieben. Eine Umwandlung innerhalb von NodeRed war dabei völlig irrelevant.

          Versteh ich richtig, dass du den iobroker gar nicht verwendest, sondern direkt vom Teslalogger auf die openWB schreibst?

          X 1 Reply Last reply Reply Quote 0
          • X
            XWing @lumajo last edited by

            @lumajo
            Nein.
            Ich lasse den Teslalogger an ioBroker senden und splitte die Antwort in die verschiedenen Objekte. Der Teslalogger sendet ja keine Einzelwerte. Deswegen der Umweg über den ioBroker.
            Aber leider funktioniert das nicht. Wenn ich per Hand den Wert in openWB.set.lp.1.%Soc eingebe, wird der Wert auch in der openWB angezeigt und in openWB.lp.1.%Soc übergeben.
            Wenn ich in openWB.set.lp.1.%Soc den Wert über das Script eintrage, geschieht dies nicht.

            B 1 Reply Last reply Reply Quote 0
            • B
              bommel_030 @XWing last edited by

              @xwing
              Hast du mal versucht was passiert wenn du das true am Ende von setState weglässt?

              X 1 Reply Last reply Reply Quote 0
              • X
                XWing @bommel_030 last edited by

                @bommel_030
                Leider keine Änderung.

                tate value to set for "mqtt.0.openWB.set.lp.1.socFaultState" has to be type "number" but received type "string" 
                

                Wert wird in das openWB.set.lp.1.%Soc Objekt geschrieben aber nicht verarbeitet.

                B 1 Reply Last reply Reply Quote 0
                • B
                  bommel_030 @XWing last edited by

                  @xwing
                  Zeig mal bitte deine MQTT Config. Hatte das am Anfang auch, wenn ich nen String geliefert habe wollte er ne number, hab ich es in numer geändert wollte er nen string....
                  Kann mich aber nicht mehr dran erinnern was die Lösung war...

                  X 1 Reply Last reply Reply Quote 0
                  • X
                    XWing @bommel_030 last edited by

                    @bommel_030
                    4f19a1ad-6887-4a97-9b2b-98173cbca807-grafik.png
                    8336ee2a-91a2-4636-9e1d-bebee70ce0ed-grafik.png

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      bommel_030 @XWing last edited by

                      @xwing
                      Die Einstellungen sehen aus wie meine. Welche Version der openWB hast du am laufen?
                      Die Wallbox schon mal neu gestartet? Alternativ lass dir den gewünschten SoC in einen eigenen Datenpunkt schreiben und hole es über die SimpleAPI ab. Die openWB 2.x ist ja (hoffentlich) demnächst mal fertig. Da werden die Topics und die SoCs / Fahrzeuge eh geändert.

                      X 1 Reply Last reply Reply Quote 0
                      • X
                        XWing @bommel_030 last edited by

                        @bommel_030
                        Ich habe die stable 1.9.244 am laufen.
                        Die 2.0 ist noch alpha und wurde mir vom Support nicht empfohlen.

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          bommel_030 @XWing last edited by

                          @xwing
                          Bin mir der 1.9.250 nightly unterwegs, da wird immer mal wieder was geändert.
                          Nein, die 2.0 solltest du nicht verwenden, so war das nicht gemeint. Nur als Hinweis, bevor du jetzt unnötig viel Arbeit in die Fehlersuche steckst und mit der 2.0 wird wieder alles geändert. Daher der Vorschlag lass es dir über http aus nem eigenen Datenpunkt holen und wenn die 2.0 produktiv ist kannst du es auch ändern.

                          X 1 Reply Last reply Reply Quote 0
                          • X
                            XWing @bommel_030 last edited by

                            @bommel_030
                            Danke für den Tip!
                            Damit scheint es zu gehen.

                            C 1 Reply Last reply Reply Quote 0
                            • C
                              Chilihead @XWing last edited by

                              @xwing @bommel_030 habt Ihr vielleicht nen Tip warum bei den MQTT Objects kein openWB.set.lp.1.%Soc auftaucht als Objekt? Muss ich das erst erzeugen? Sorry mit MQTT bin ich noch nicht so fit.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                mading @Chilihead last edited by

                                @chilihead ja musst du erzeugen. Wird nicht standardmässig erstellt.

                                C 1 Reply Last reply Reply Quote 0
                                • C
                                  Chilihead @mading last edited by Chilihead

                                  @mading wie mach ich denn das? Wahrscheinlich wieder in JS? Da bin ich ja überhaupt nicht fit 😞
                                  Ohkeh 🙂 Expertenmodus an, dann gehts

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    mading @Chilihead last edited by

                                    @chilihead Expertenmodus an, den Ordner 1 markieren und oben auf das +. Dann Type number und Name %Soc.

                                    dd2190e4-e1a7-4be7-af23-8a150b641d00-grafik.png

                                    Du kannst im Nachgang noch die Einheit über den Stift ganz rechts ändern, schaus dir mal bei anderen DP an wie die Einheit dort angegeben wurde.

                                    15a7af16-9829-4605-a05a-c31baeac1f21-grafik.png

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      lumajo @mading last edited by

                                      @mading Super danke...nicht im Zusammenhang mit Tesla aber generell wusste ich das nicht.

                                      Aktuell: Warum aktualsiert sich gerade der SoC vom tesla nicht? Ist das nur bei mir so? In der App stehts richtig drin der tesla Adapter ist grün aber der SoC stimmt nicht.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        mading @lumajo last edited by mading

                                        @lumajo aktualisiert sich der soc vom tesla in der openwb nicht oder über den iobroker tesla adapter? Du kannst zwei Datenpunkte auch miteinander verknüpfen, d.h. ist der soc vom tesla iobroker aktuell, kannst du den Datenpunkt aus dem tesla adapter per blockly mit dem openweb set soc topic verknüpfen.

                                        Beispiel: 4022EB40-86D5-474E-AC78-F1C408B7FB42.jpeg

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          lumajo @mading last edited by lumajo

                                          @mading nein was ich meinte und was immer noch der Fall ist, das sich der Datenpunkt im iobroker nicht mehr aktualisiert. Der steht seit Tagen auf 41%, in der App auf einem völlig anderen Wert. Also irgendwas stimmt nicht mit dem Auslesen der api von Tesla. Adapter ist aber grün.

                                          Abgesehen davon das mit dem verbinden der Datenpunkt finde ich auch interessant. HAtte ich so auch noch nicht auf dem Schirm...(ist aber jetzt nicht die Ursache des Problems)

                                          L 1 Reply Last reply Reply Quote 0
                                          • L
                                            lumajo @lumajo last edited by

                                            @lumajo Kurzes Update, aus irgendeinem Grund hat der Tesla Adapter ein neues Fahrzeug angelegt. Das versteh ich nicht aber jetzt geht es wieder...
                                            Da die App auch aktualisiert wurde, ua ist eine Ladehistorie dazu gekommen könnte es vielleicht damit zu tun haben. Ich beobachte das mal....aber jetzt geht es erstmal wieder.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            565
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            24
                                            1618
                                            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