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.
    • Ralla66
      Ralla66 Most Active last edited by Ralla66

      @TH-G
      Deklarieren und Vorbesetzen das A und O.
      5 - nix = 2 geht das ?
      Das geht wiederum 5 - x = 2

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

        @Ralla66

        Ich bin der Meinung, wenn eine leeres Feld nicht als Trigger dienen kann und "leer" ist in meinen Augen auch ein Zustand, dann sollte das über den Adapter abgefangen werden oder mit einem Zustand versehen werden.

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

          @TH-G Ein leeres Feld (Wert null) kann definitiv als Trigger dienen.

          createState("testwert", () => {
          
              on("testwert", obj => {
                  log(obj.state.val);
              });
          
              setTimeout(() => {
                  setState("testwert", true);
              }, 1000);
          
              setTimeout(() => {
                  setState("testwert", null);
              }, 2000);
          
              setTimeout(() => {
                  setState("testwert", true);
              }, 3000);
          
          });
          

          Log-Ausgabe:

          javascript.0	2020-06-27 11:43:12.329	info	(1052) script.js.Testtest: true
          javascript.0	2020-06-27 11:43:11.329	info	(1052) script.js.Testtest: null
          javascript.0	2020-06-27 11:43:10.333	info	(1052) script.js.Testtest: true
          javascript.0	2020-06-27 11:43:09.237	info	(1052) script.js.Testtest: registered 0 subscriptions and 0 schedules
          javascript.0	2020-06-27 11:43:09.200	info	(1052) Start javascript script.js.Testtest
          

          @Ralla66 ich weiß gar nicht warum du überhaupt diskutierst. Vergleiche mit "NIX" funktionieren einwandfrei. null ist schließlich auch nur ein bestimmter Wert:

          Welcome to Node.js v12.16.3.
          Type ".help" for more information.
          > null === true
          false
          
          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer @TH G last edited by

            @TH-G Was sind denn die ganzen Warnungen in deinem Log? Löscht der Adapter die Objekte etwa komplett und nicht nur die Werte? Wechsle mal auf das Log-Tab von ioBroker, da sieht man mehr.

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

              @AlCalzone

              Meinst du mit Null auch ein leeres Feld? Denn Null ist ja ein Wert aber ein leeres Feld?

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

                @TH-G "Leere" Datenpunkte in ioBroker haben den Wert null. Was ein Problem sein könnte, wäre ein Datenpunkt ohne zugehöriges Objekt (welches dessen Eigenschaften definiert) oder ein Adapter der das Objekt mitlöscht wenn es keinen Wert hat.

                FredF 1 Reply Last reply Reply Quote 0
                • FredF
                  FredF Most Active Forum Testing @AlCalzone last edited by

                  @AlCalzone sagte in VIS nervt aber warum? Trigger DP ohne Wert?:

                  "Leere" Datenpunkte in ioBroker haben den Wert null

                  Bei mir auch nicht:
                  87e50bed-371b-477f-bafa-988d4b795c57-grafik.png

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

                    @FredF Du hast einen Default-Wert von "" vergeben (leerer String).

                    FredF 1 Reply Last reply Reply Quote 0
                    • D
                      Dragon last edited by Dragon

                      Ich würde vom gefühl darauf tippen, dass das Problem Die Trigger sind in dem Skript oben. Wer sagt dir denn, dass wenn einer der Datenpunkte sich ändert nicht mehrere wahr sein können. Wenn es einzelne Datenpunkte sind kann es ja sein, dass zwei davon zur gleichen Zeit auf True stehen und dann wäre das Skript so nicht möglich denke ich. Wenn es tatsächlich so, dass alle beiden Datenpunkte auf False gesetzt werden wenn einer der anderen auf True steht, dann solltest du ein 1000MS Timeout zwischen Trigger und Logik setzen. Für den Fall, dass mehrere Datenpunkte True sein können, aber sich immer nur einer verändert, funktioniert das so nicht. Dann musst du mehrere Blocklys schreiben. Ist aber nur eine Vermutung...

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

                        @David-Froebus @AlCalzone

                        Es wird immer nur einer der DP geändert niemals mehrere.

                        Ich habe Blockly so oft umgebaut das ich nun am Ende bin. Der aktuelle Status wird immer erkannt aber NIEMALS das Ende. Wenn also kein True mehr in einem der drei DP steht wird nicht der Text "nicht aktiv" in meinem DP fürs VIS geschrieben.

                        Habe es auch mit Timeout probiert und mit mehreren Blocklys.

                        Es wird im Logikmodul einfach nicht "sonst" ausgeführt.

                        Für mich ist das ganze Verhalten nicht nachvollziehbar.

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

                          @TH-G sagte in VIS nervt aber warum? Trigger DP ohne Wert?:

                          Für mich ist das ganze Verhalten nicht nachvollziehbar.

                          Für mich auch nicht. Ich habe dich zwar mehrfach nach Logs oder so gefragt, dass man die verschiedenen Zustände nachvollziehen kann, aber keine bekommen.

                          TH G 1 Reply Last reply Reply Quote 0
                          • FredF
                            FredF Most Active Forum Testing @AlCalzone last edited by

                            @AlCalzone sagte in VIS nervt aber warum? Trigger DP ohne Wert?:

                            @FredF Du hast einen Default-Wert von "" vergeben (leerer String).

                            Ja, beim manuellen Anlegen wird das auch nicht abgefragt.
                            Mit vergabe des Default-Wertes:

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

                            Ist die Ausgabe aber genau so
                            ae608b9b-4c5b-4820-8fd8-44299efb7640-grafik.png

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

                              @AlCalzone

                              Ich weiss aber ich finde keine Logs dazu, das ist mein Problem.

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

                                @TH-G Du könntest z.B. mit dem history-Adapter alle States mitschreiben.

                                @FredF Wenn der State schon existiert, bringt eine Änderung des Default-Wert nichts mehr. Außerdem ist der String "null" ungleich null.

                                FredF TH G Homoran 3 Replies Last reply Reply Quote 0
                                • FredF
                                  FredF Most Active Forum Testing @AlCalzone last edited by

                                  @AlCalzone sagte in VIS nervt aber warum? Trigger DP ohne Wert?:

                                  @FredF Wenn der State schon existiert, bringt eine Änderung des Default-Wert nichts mehr. Außerdem ist der String "null" ungleich null.

                                  Ok. Einen Default-Wert kann aber beim manuellen Anlegen eines Objekts dennoch nicht mitgeben werden.

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

                                    @AlCalzone

                                    Der History Adapter überfordert mich leider, sorry

                                    Gibt es eine alternative Möglichkeit?

                                    AlCalzone 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @AlCalzone last edited by Homoran

                                      @AlCalzone
                                      Es gab schon mal einen Thread in dem ein State nicht true/false hatte sondern nur true/"leer"
                                      Ich glaube da ging es um KNX - bin mir aber nicht sicher.

                                      Ich glaube auch da war ein Triggern nicht möglich.

                                      @TH-G
                                      Was hat das ganze mit dem Titel vis nervt zu tun?

                                      TH G 1 Reply Last reply Reply Quote 0
                                      • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            824
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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