Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Stiebel Eltron Adaper: Verdichterstatus true / (null)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Stiebel Eltron Adaper: Verdichterstatus true / (null)

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Schneider last edited by mickym

      @schneider Du gibtst einfach typeof val in die Konvertierungsfunktion ein. Dann siehst Du welcher Datentyp erkannt wird - dies kann man dann später in einer Bedingung abprüfen.

      sprich mit der Konvertierungsfunktion siehst Du dann welche Datentypen erkannt werden.

      ca8da958-47fa-4013-9aa6-102331a92796-image.png

      ab12a6f5-9569-4f08-93db-d3619aee2f30-image.png

      Komischerweise liefert (null) bei typeof den Typ objekt. true/false hingegen boolean.

      Das müsstest Du halt nochmal checken. Wenn es sich so verhält dann kann man einfach auf Typ boolean abprüfen.

      Wenn es sich so verhält kannst Du den alias auf Typ boolean setzen und folgende Konvertierungsfunktion verwenden:

      (typeof val === 'boolean') ? true : false
      

      d3914079-3a13-400e-8fa5-f76b01925cd7-image.png

      Damit sollte bei (null) false kommen, bei true true.

      S 1 Reply Last reply Reply Quote 0
      • S
        Schneider @mickym last edited by Schneider

        @mickym
        23ab1547-7e9d-4d71-9aca-10a862dbc131-grafik.png

        Wie komme ich in die Ansicht, welcher Datentyp das ist? (Da wo bei dir "string" angezeigt wird)

        Damit kommt selber Effekt. Alias true, Verdichter false

        (typeof val === 'boolean') ? true : false 
        

        Hat das evtl. was mit der Rolle zu tun? Alias "state", Verdichter indicator.state
        30f24ef1-50c8-433f-9df2-723c5ed0a08e-grafik.png

        2f7dc7a5-fe12-4954-83a4-a32b71a92675-grafik.png

        Wobei das im Objekt steht (boolean)
        1b03103a-f813-40bf-8bef-28fefb77ff62-grafik.png

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Schneider last edited by

          @schneider Nun ich habe einfach typeof val in die Konvertierung eingetragen. Und den Alias auf String. Dann siehst Du doch was für ein Datentyp erkannt wird.

          False ist Typ boolean. unten drunter ist doch (null) dann schau halt mal was für ein Datentyp das ist. Wie gesagt (null) wurde nicht als boolean erkannt. Bei mir hat also die Konvertierung geklappt. (also boolean = true und (null) = false) Ansonsten bin ich leider mit meiner Weisheit am Ende.

          S 1 Reply Last reply Reply Quote 0
          • S
            Schneider @mickym last edited by

            @mickym b5b8ca79-083a-4d34-b6e8-51ae6ece02c8-grafik.png

            (null) scheint boolean zu sein.

            Oh man.. ich versuche es mal weiter 😵

            Vielen Dank Dir auf jeden Fall schonmal 🙂

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Schneider last edited by

              @schneider sagte in Stiebel Eltron Adaper: Verdichterstatus true / (null):

              (null) scheint boolean zu sein.

              Das ist schon komisch .

              Probiere höchstens nochmal

              (val === true) ? true : false
              
              paul53 S 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @mickym last edited by

                @mickym
                (null) wird gezeigt, wenn der Datenpunkt keinen Zustand hat. Ohne Zustand kann er nicht triggern und somit auch den Alias nicht aktualisieren.

                S mickym 2 Replies Last reply Reply Quote 0
                • S
                  Schneider @mickym last edited by

                  @mickym Das ist total seltsam. Ich muss das morgen nochmal alles durchprobieren. Ich hatte eben mit der ersten Variante ein true & false im Alias. Nachdem die Zirkulationspumpe (mit der probiere ich das leichter durch als mit dem Verdichter) dann wieder ausging, steht im Alias wieder (null).

                  1 Reply Last reply Reply Quote 0
                  • S
                    Schneider @paul53 last edited by

                    @paul53 Ah, das erklärt das Verhalten eben.
                    Ähm, hast du dazu ne Lösung? 😉

                    paul53 Tom Mes 3 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @Schneider last edited by paul53

                      @schneider sagte: hast du dazu ne Lösung?

                      Zyklisches Polling des Datenpunktes per Skript und Schreiben in einen eigenen Datenpunkt unter "0_useradata.0".

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @paul53 last edited by

                        @paul53 sagte in Stiebel Eltron Adaper: Verdichterstatus true / (null):

                        @mickym
                        (null) wird gezeigt, wenn der Datenpunkt keinen Zustand hat. Ohne Zustand kann er nicht triggern und somit auch den Alias nicht aktualisieren.

                        Na ja schlüssig ist mir das zwar trotzdem nicht, wenn ein Zustand von boolean auf (null) geht, dann sollte doch undefined oder irgendwas dann der Zustand sein und triggern sollte ja das eine Änderung des states stattgefunden hat. Wenn man das nicht triggern kann, dann ist das ja nur mit polling möglich und das finde ich ja nicht gut.

                        paul53 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @mickym last edited by

                          @mickym sagte: triggern sollte ja das eine Änderung des states stattgefunden hat.

                          Getriggert wird bei Aktualisierung des Zeitstempels, den es nicht mehr gibt.

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @mickym last edited by paul53

                            @mickym sagte: nur mit polling möglich

                            Ich vermute, dass man das Polling mit existsState(id) ausführen muss, um keine Warnungen zu erhalten.

                            const idSrc = 'stiebel-isg.0.Info.STATUSANLAGE.BETRIEBSSTATUS.VERDICHTER';
                            const idDst = '0_userdata.0.WP.Verdichter.Status';
                            
                            var timer = null;
                            
                            on({id: idSrc, val: true}, function() {
                                setState(idDst, true, true);
                                clearInterval(timer);
                                timer = setInterval(function() {
                                    if(!existsState(idSrc)) {
                                        setState(idDst, false, true);
                                        clearInterval(timer);
                                    }
                                }, 10000);
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Schneider last edited by paul53

                              @schneider sagte: ne Lösung?

                              Man kann auch ausnutzen, dass der Datenpunkt jede Minute mit true aktualisiert wird, solange der Verdichter läuft.

                              const idSrc = 'stiebel-isg.0.Info.STATUSANLAGE.BETRIEBSSTATUS.VERDICHTER';
                              const idDst = '0_userdata.0.WP.Verdichter.Status';
                              
                              var timer = null;
                              
                              on({id: idSrc, val: true}, function() {
                                  setState(idDst, true, true);
                                  clearTimeout(timer);
                                  timer = setTimeout(function() {
                                      setState(idDst, false, true);
                                  }, 70000);
                              });
                              
                              1 Reply Last reply Reply Quote 0
                              • Tom Mes
                                Tom Mes @Schneider last edited by

                                @schneider ich habe auch eine Stiebel Eltron und wollte mir auch per Grafana und iobroker (mit influx DB) eine Übersicht basteln, leider das gleiche Problem wie bei dir, ich sehe nur, wenn auf True gesetzt wird und sonst leere Punkte, somit immer nur "true" und nie ein "false" bzw. "Verdichter ist aus".

                                Ganz schlau werde ich als iobroker Neuling noch nicht aus den Nachrichten.
                                Wo gebt ihr den Code an, den zB auch @paul53 hier eingetragen hat?

                                Ich habe es mit blockly Funktionen versucht, aber es aktualisiert sich nicht:
                                Screenshot 2023-12-13 122427.png

                                Ähnliches habe ich auch für meien PV gemacht, um zu visualisieren, ob Strom generiert wird etc. Da funktioniert es, aber da wird auch nicht "null" zurückgegeben, sondern halt Werte über 0 (watt).

                                Hast du es zum Laufen bekommen?

                                Tom Mes 1 Reply Last reply Reply Quote 0
                                • Tom Mes
                                  Tom Mes @Tom Mes last edited by

                                  @tom-mes habe es ebenfalls gelöst mit dem Script von Paul53. Es ist einfach an Stelle von Blockly ein Javascript.
                                  Vielen Dank an @paul53.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate
                                  FAQ Cloud / IOT
                                  HowTo: Node.js-Update
                                  HowTo: Backup/Restore
                                  Downloads
                                  BLOG

                                  854
                                  Online

                                  32.0k
                                  Users

                                  80.5k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  20
                                  784
                                  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