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.
    • Meister Mopper
      Meister Mopper @TH G last edited by Meister Mopper

      @TH-G Was willst Du nun wirklich? Was ist bei Dir ein Feld? Ist es ein Datenpunkt in den Objekten, den Du befüllen möchtest? Was ist ein "Feld für VIS"?

      Übrigens, die intellektuelle Leistungsfähigkeit von Mensch und Maschine kann wahrscheinlich weder hier noch woanders abschließend befriedigend und abschließend festgestellt werden können.

      1 Reply Last reply Reply Quote 0
      • CrunkFX
        CrunkFX Forum Testing @TH G last edited by

        @TH-G Check doch zuerst mal ob True ein Boolscher Wert ist oder ein String. Dann musst du statt "Wahr" einen Textblock dort reinfügen in dem auf true gecheckt wird.

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

          Im Adapter steht für die betroffenen Objekte:

          {
            "from": "system.adapter.stiebel-isg.0",
            "user": "system.user.admin",
            "ts": 1592375626112,
            "common": {
              "name": "KÜHLEN",
              "type": "boolean",
              "unit": "",
              "role": "indicator.state",
              "read": true,
              "write": false
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN",
            "type": "state"
          }
          

          Also Boolscher Wert.

          Ich habe Datenpunkte erstellt in den ein Text geschrieben werden soll je nachdem wie der Status der Wärmepumpe ist.

          Mit VIS Feld meinte ich einen Datenpunkt den ich im VIS anzeigen lasse

          1 Reply Last reply Reply Quote 0
          • Ralla66
            Ralla66 Most Active last edited by Ralla66

            @TH-G

            nichts ist immer schlecht, deklarieren.
            Textfeld immer ausfüllen, auch wenn du -> nichtst <- da einfügst.
            Schreibe was in den Status WP Text.
            Zumal der Datenpunkt eben auch String darstellen können muß.
            Nicht nur true und false.
            Deine "role": "indicator.state", sollte aber text sein.

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

              @Ralla66

              Die Angaben kommen ja vom Adapter und nicht von mir.

              Meine Datenpunkt in dem reingeschrieben werden soll ist:

              {
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1586954435979,
                "common": {
                  "name": "Status_WP",
                  "role": "",
                  "type": "string",
                  "desc": "Manuell erzeugt",
                  "def": "",
                  "read": true,
                  "write": true
                },
                "native": {},
                "acl": {
                  "object": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator",
                  "state": 1636
                },
                "_id": "0_userdata.0.Status_WP",
                "type": "state"
              }
              

              Auch irgendein Text wie "Nichts" bringt keine Änderung

              1 Reply Last reply Reply Quote 0
              • Ralla66
                Ralla66 Most Active last edited by Ralla66

                @TH-G

                schreibe mal was in den Status WP Text rein.
                Am besten bei sonst Kühlen ne 1, Heizen ne 2, WW ne 3.

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

                  @Ralla66

                  Auch das bringt nichts, dass alles habe ich schon alles durch. Deswegen nervt mich das auch alles so sehr, weil es nicht zu verstehen ist.

                  S 1 Reply Last reply Reply Quote 0
                  • Ralla66
                    Ralla66 Most Active last edited by Ralla66

                    @TH-G
                    Was steht den im Datenpunkt ? Immer nur Kühlen ?
                    Dann wird Kühlen zu oft getriggert.
                    Den Rest siehste nicht weil das zu schnell geht.

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

                      @TH-G
                      Leg doch mal für jeden Status einen eigenen Datenpunkt an.
                      Das erleichtert vielleicht die Fehlersuche.

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

                        @Ralla66

                        Ja es steht immer Kühlen im Datenpunkt.

                        on({id: "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN"/*KÜHLEN*/, change: "any"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN").val == true) {
                            setState("0_userdata.0.Status_WP"/*Status_WP*/, 'Kühlen', true);
                          } else {
                            setState("0_userdata.0.Status_WP"/*Status_WP*/, 'kein Status', true);
                          }
                        });
                        
                        on({id: "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN"/*HEIZEN*/, change: "any"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN").val == true) {
                            setState("0_userdata.0.Status_WP"/*Status_WP*/, 'Heizen', true);
                          } else {
                            setState("0_userdata.0.Status_WP"/*Status_WP*/, 'kein Status', true);
                          }
                        });
                        
                        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*/, 'kein Status', true);
                          }
                        

                        Ich sehe da keinen Fehler aber es geht nicht

                        1 Reply Last reply Reply Quote 0
                        • Ralla66
                          Ralla66 Most Active last edited by

                          @TH-G
                          mal kühlen auf false stellen und schauen was der DP macht.

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

                            @Ralla66

                            Auch das Ralla habe ich alles schon probiert ohne Auswirkungen

                            Ich kann doch nicht der einzige sein, der dieses Problem hat.

                            1 Reply Last reply Reply Quote 0
                            • Ralla66
                              Ralla66 Most Active last edited by

                              @TH-G
                              Debug Baustein im Kühlen falls sonst einbauen mit aktueller Zeit damit du siehst was passiert.

                              1 Reply Last reply Reply Quote 0
                              • C
                                Chrunchy last edited by

                                Ich würde auch auf Änderung prüfen, nicht auf Aktualisierung.

                                Ich kenne das Gerät nicht, würde aber vermuten, dass sich der Betriebsstatus mehr oder weniger zeitgleich bei Kühlen und Heizen aktualisiert, was dann dazu führt, dass das Script ja quasi zeitgleich doppelt getriggert wird. Deshalb change von "any" auf "ne" setzten.

                                Ansonsten würde ich erstmal ins Log Debuggen um zu sehen was überhaupt abgearbeitet wird.

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

                                  Das Problem ist, dass 3 verschiedene Trigger den gleichen Datenpunkt nutzen. Wird jetzt z.B. erst HEIZEN wahr, dann KÜHLEN falsch, dann wird in den Datenpunkt erst ganz kurz "Heizen" geschrieben, dann " ".

                                  Du musst alles in einen Trigger verpacken. Hier nur Pseudocode, da kein Blockly zur Hand:

                                  Trigger auf HEIZEN, KÜHLEN und WARMWASSER:
                                    Falls HEIZEN ist wahr, dann setze STATUS auf "Heizen"
                                    Sonst falls KÜHLEN ist wahr, dann setze STATUS auf "Kühlen"
                                    Sonst falls WARMWASSER ist wahr, dann setze STATUS auf "Warmwasser"
                                    Sonst setze STATUS auf ""
                                  

                                  So ist sichergestellt, dass immer nur einer der Stati gültig ist.

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

                                    @AlCalzone

                                    Perfekt das wars, Danke

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

                                      @AlCalzone

                                      Leider funktioniert es auch nicht richtig. Es wird zwar sauber bei Kühlung in den Datenpunkt "Kühlen" reingeschrieben aber wenn das Kühlen vorbei ist wird nicht der andere Wert "nicht aktiv" reingeschrieben und es bleibt "Kühlen" im DP stehen.

                                      Bildschirmfoto 2020-06-25 um 16.07.32.png

                                      AlCalzone 1 Reply Last reply Reply Quote 0
                                      • OstfrieseUnterwegs
                                        OstfrieseUnterwegs last edited by

                                        Die DP, auf die Du triggerst werden ja nicht alle exakt gleichzeitig gesetzt. Je nachem, welcher zuletzt im Adapter ankommt und vom Adapter gesetzt wird, der gewinnt.
                                        Ich würde mal eine kleine Pause einbauen (mit Timeout Baustein) und damit sozusagen auf einen stabilen Zustand warten. Vlt 2 Sekunden oder so. Wie genau muss ein Timeout-Spezialist sagen 🙂

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

                                          @OstfrieseUnterwegs

                                          Es ist doch egal wann was getriggert wird.

                                          Wenn die Anlage Kühlt steht im DP des Adapters "True" und bei den anderen steht nichts. Also wird der Text "Kühlen" in meinen DP fürs VIS reingeschrieben.

                                          Wenn Kühlen beendet ist steht in keinem der DP etwas, also müsste dann in meinem DP fürs VIS "nicht aktiv" reingeschrieben werden.

                                          Bei Heizen und Warmwasser läuft es gleich ab aber er macht es nicht.

                                          1 Reply Last reply Reply Quote 0
                                          • Ralla66
                                            Ralla66 Most Active last edited by Ralla66

                                            @TH-G

                                            Frage doch false ab.
                                            Wenn kühlen + heizen + WW ist false aktuallisiere DP mit nicht aktiv.

                                            Nichts in den 3 Datenpunkten auch nicht gut da -> nichts <- nicht ausgewertet werden kann.
                                            Schreibe da false rein wenn nicht wahr.

                                            kühlen.jpg

                                            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

                                            941
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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