Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg

    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

    Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg

    This topic has been deleted. Only users with topic management privileges can see it.
    • TH G
      TH G @Homoran last edited by

      @Homoran

      Das war der Auslöser mit VIS, dass es aber nun doch so ein anderes Problem ist, war nicht abzusehen. Hatte die Überschrift schon angepasst und werde das nun nochmal machen.

      1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @TH G last edited by

        @TH-G sagte in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

        Der History Adapter überfordert mich leider, sorry

        Ist nicht schwer... Neben dem Datenpunkt, den du überwachen willst (in deinem Fall die 3) ganz rechts auf den Schraubenschlüssel klicken.
        Dort dann den Haken bei "aktiviert" setzen. Standardeinstellungen kannst du sonst lassen.
        8c389b79-2c45-4e8a-92f9-bc7a910df4cb-grafik.png

        Im Tab "Tabelle" siehst du dann die Änderungen:
        35cd68e0-bb55-46fe-8770-0858ac37f325-grafik.png

        TH G 1 Reply Last reply Reply Quote 0
        • TH G
          TH G @AlCalzone last edited by

          @AlCalzone

          History Adapter schau ich mir dann nochmal an 🙂

          Ich habe es gerade nochmals genau beobachtet

          Ich habe nun für die drei DP eigene Blocklys angelegt wie

          on({id: "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.WARMWASSERBEREITUNG"/*WARMWASSERBEREITUNG*/, change: "any"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            if (getState("stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.WARMWASSERBEREITUNG").val == true) {
              setState("0_userdata.0.Status_WP"/*Status_WP*/, 'Warmwasser', true);
            } else {
              setState("0_userdata.0.Status_WP"/*Status_WP*/, 'nicht aktiv', true);
            }
          });
          
          

          Es wird wenn "True" in STATUS.BETRIEBSSTATUS.WARMWASSERBEREITUNG steht auch der Text in meinen DP für VIS geschrieben.

          Ändert sich aber der Status von True auf "Nichts" wird im Logikmodul nicht "Sonst" ausgeführt.

          Im Log steht nur das:

          javascript.0 2020-06-29 10:02:00.303 info (1584) script.js.common.Tecalor_Betriebsart_Aktuell_Warmwasser: registered 1 subscription and 0 schedules
          javascript.0 2020-06-29 10:02:00.299 info (1584) Start javascript script.js.common.Tecalor_Betriebsart_Aktuell_Warmwasser

          C AlCalzone 2 Replies Last reply Reply Quote 0
          • C
            Chrunchy @TH G last edited by

            @TH-G Versuch es doch mal so...

            on({id: "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.WARMWASSERBEREITUNG"/*WARMWASSERBEREITUNG*/, change: "any"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              var tmp = "nicht aktiv";
              if (getState("stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.WARMWASSERBEREITUNG").val == true) {
                tmp = "Warmwasser";
              } setState("0_userdata.0.Status_WP"/*Status_WP*/, tmp, true);
            });
            
            
            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer @TH G last edited by

              @TH-G Ich glaube ich weiß was das Problem ist.
              Der Adapter nutzt die expire-Funktion, um states automatisch nach gewisser Zeit zurück (auf null) zu setzen. Scheint als bekommt der JS-Adapter diese Änderung nicht mit. Ich hör mich mal um, was man da tun kann.

              Workaround wäre tatsächlich ein Intervall zusätzlich zum Trigger.

              TH G 1 Reply Last reply Reply Quote 0
              • TH G
                TH G @AlCalzone last edited by TH G

                @AlCalzone

                Danke

                Wo würdest du denn den Intervall im Blockly einbauen?

                So geht es leider nicht:

                Bildschirmfoto 2020-07-01 um 11.07.35.png

                1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 last edited by

                  Äääähm Leute ... bitte baut mal das getState da aus aus dem Trigger!

                  Wenn ein "on" Trigger triggert kann es sein das "getState" noch den alten Wert hat. Immer das übergebene State object nutzen!

                  Also:

                  on({id: "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.WARMWASSERBEREITUNG"/*WARMWASSERBEREITUNG*/, change: "any"}, function (obj) {
                  
                    var value = obj.state.val;
                  
                    var oldValue = obj.oldState.val;
                  
                    var tmp = "nicht aktiv";
                  
                    if (value == true) {
                  
                      tmp = "Warmwasser";
                  
                    } setState("0_userdata.0.Status_WP"/*Status_WP*/, tmp, true);
                  
                  });
                  
                  F 1 Reply Last reply Reply Quote 0
                  • F
                    fastfoot @apollon77 last edited by

                    @apollon77 sagte in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                    Äääähm Leute ... bitte baut mal das getState da aus aus dem Trigger!

                    Wenn ein "on" Trigger triggert kann es sein das "getState" noch den alten Wert hat. Immer das übergebene State object nutzen!

                    Hallo, bisher hörte ich in Diskussionen immer, dass der State dann evtl schon einen neuen Wert hat und man es deshalb unterlassen sollte, mal davon abgesehen dass man eh den Wert, der schon mitgeliefert wird, nehmen sollte. Könntest du den Sachverhalt bitte etwas näher erläutern? Im Moment des GetState() wurde der Triggerwert doch schon ermittelt, wie kann man da noch den alten Wert bekommen? Danke!

                    apollon77 1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 @fastfoot last edited by

                      @fastfoot Sagen wir es mal so: Er kann einen "anderen" wert haben 🙂

                      1 Reply Last reply Reply Quote 1
                      • TH G
                        TH G last edited by

                        @AlCalzone

                        So funktioniert es jetzt:

                        Bildschirmfoto 2020-07-09 um 11.20.21.png

                        AlCalzone 1 Reply Last reply Reply Quote 0
                        • AlCalzone
                          AlCalzone Developer @TH G last edited by

                          @TH-G Du solltest zusätzlich vor dem Ausführen des Intervalls einen Stop erzwingen. Sonst kann es sein, dass Kopien des Intervalls laufen, die sich mit der Zeit anhäufen.

                          TH G 1 Reply Last reply Reply Quote 0
                          • TH G
                            TH G @AlCalzone last edited by

                            @alcalzone

                            Hallo, ich muss das Thema nochmals aktivieren.

                            Ich bekommen massenweise Warnungen im Log und ich würde das gerne lösen.

                            So sieht es derzeit aus:

                            Bildschirmfoto 2021-01-14 um 22.41.04.png Bildschirmfoto 2021-01-14 um 22.41.14.png

                            Ich brauche bitte nochmals Hilfe was ich tun kann.

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              fastfoot @TH G last edited by

                              @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                              Ich brauche bitte nochmals Hilfe was ich tun kann.

                              Im Tab Log findest du mehr Infos, welche sind das? Ausserdem solltest du, anstatt den Wert von Heizung nochmals auszulesen, den tatsächlichen Wert benutzen, zu finden im Trigger Block.
                              Wert.PNG

                              TH G 1 Reply Last reply Reply Quote 0
                              • TH G
                                TH G @fastfoot last edited by

                                @fastfoot

                                Hier der Log:

                                avascript.0 2021-01-15 11:53:02.849 warn (2355) at processTimers (internal/timers.js:497:7)
                                javascript.0 2021-01-15 11:53:02.849 warn (2355) at listOnTimeout (internal/timers.js:554:17)
                                javascript.0 2021-01-15 11:53:02.849 warn (2355) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1982:34)
                                javascript.0 2021-01-15 11:53:02.848 warn (2355) at Object.<anonymous> (script.js.common.Tecalor_Betriebsart_Aktuell_Heizen:8:9)
                                javascript.0 2021-01-15 11:53:02.845 warn (2355) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN" not found (3)

                                Was du mit dem tatsächlichen Wert meinst verstehe ich nicht. Wenn Heizung aktiv ist steht in dem Feld true wenn nicht steht dort nichts

                                F T 2 Replies Last reply Reply Quote 0
                                • F
                                  fastfoot @TH G last edited by

                                  @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                                  @fastfoot

                                  Hier der Log:
                                  javascript.0 2021-01-15 11:53:02.845 warn (2355) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN" not found (3)

                                  Was du mit dem tatsächlichen Wert meinst verstehe ich nicht. Wenn Heizung aktiv ist steht in dem Feld true wenn nicht steht dort nichts

                                  mit tatsächlicher Wert meinte ich den Wert zum Zeitpunkt des Auslösens des Triggers. Wie du ihn abfrägst habe ich ja im Bild gezeigt.

                                  TH G 1 Reply Last reply Reply Quote 0
                                  • TH G
                                    TH G @fastfoot last edited by

                                    @fastfoot

                                    Sorry ich weiß jetzt nicht was unklar ist aber der Wert im DP Heizen ist "true" oder ein leeres Feld.

                                    Was willst du mir bitte sagen?

                                    F 1 Reply Last reply Reply Quote 0
                                    • F
                                      fastfoot @TH G last edited by

                                      @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                                      @fastfoot

                                      Sorry ich weiß jetzt nicht was unklar ist aber der Wert im DP Heizen ist "true" oder ein leeres Feld.

                                      Was willst du mir bitte sagen?

                                      ich rede von deinem Blockly, wieviele Werte genau fragst du da ab? Von genau diesem einen Wert rede ich und habe eine Alternative genannt es besser zu machen

                                      TH G 1 Reply Last reply Reply Quote 0
                                      • TH G
                                        TH G @fastfoot last edited by TH G

                                        @fastfoot

                                        Im Blockly siehst du das ich einen Wert abfrage und zwar den DP Heizen.

                                        Für dich mag es normal sein mit dem was du mir schreibst aber ich verstehe nicht was du meinst. Was soll ich denn in meinem Blockly ändern?

                                        Würde mich freuen, wenn du es mir für einen Anfänger erklären würdest.

                                        Die Aufgabe ist:

                                        Wenn im DP Heizen -true- steht soll im Datenpunkt Status_WP der Text -Heizen- stehen und wenn nicht dann der Text -nicht aktiv-.

                                        Das alles funktioniert ja auch aber wenn halt im DP nichts steht, läuft mein Log voll und das muss geändert werden.

                                        F 1 Reply Last reply Reply Quote 0
                                        • F
                                          fastfoot @TH G last edited by

                                          @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                                          @fastfoot

                                          Im Blockly siehst du das ich einen Wert abfrage und zwar den DP Heizen.

                                          Für dich mag es normal sein mit dem was du mir schreibst aber ich verstehe nicht was du meinst. Was soll ich denn in meinem Blockly ändern?

                                          Aber du siehst doch den Unterschied in meinem Bild. Wo du dieses Wert herbekommst habe ich auch geschrieben.

                                          TH G 1 Reply Last reply Reply Quote 0
                                          • TH G
                                            TH G @fastfoot last edited by TH G

                                            @fastfoot

                                            Danke für den Versuch mir zu helfen aber ich scheine dich nicht zu verstehen und aus deinen kurzen Antworten, kann ich für mich leider keine Informationen ableiten.

                                            Eventuell kann jemand anders helfen, den ich besser verstehe.

                                            Wenn ich das Skript starte ist alles ok.
                                            Dann läuft die Wärmepumpe an und der Status im DP Heizen der Wärmepumpe ändert sich der Wert von -leer- (also kein Wert im DP) auf -true-.
                                            Im Vis wird dann im auch der Text im DP Status_WP richtig angzeigt mit -Heizen-
                                            Ist Heizen dann vorbei steht im DP Heizen wieder kein Wert und auch hier wird dann im DP Status_WP -nicht aktiv- richtig angezeigt.
                                            Danach fangen aber die ständigen Warnungen im Log um Rhythmus des Intervalls an.

                                            F 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

                                            732
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            16
                                            119
                                            7703
                                            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