Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. HILFE: Alle Fenster geschlossen ? Datenpunkte auf true

    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

    HILFE: Alle Fenster geschlossen ? Datenpunkte auf true

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

      @dellishelly Schau doch mal in dem Du mit debug das topic ausgibst was da steht. Dann lass Dir auch mal den Namen des Datenpunktes ausgeben. Name ist die 2. Spalte in der Objektansicht.

      Du kannst das leicht prüfen in dem Du halt mal den Text direkt eingibst.

      ebff9b03-186b-4a16-b9dc-24957ae1bd45-image.png

      Im Grund wird also nur der vordere Teil abgeschnitten

      fa38105c-a84e-446f-9928-9d39f0e1f4ca-image.png

      Also aus Couchbeleuchtung.STATE wird Couchbeleuchtung.

      Deaktiviere mal alle weiteren Bausteine dann gehen wir Schritt für Schritt vor.

      c066590d-004e-415e-a3c2-4001be5e747b-image.png

      Wenn der Name bei den Datenpunkten nicht gesetzt ist dann nehmen wir die ID - aber wir wollen ja die Couchbeleuchtung als Eigenschaft aus den Infos herauslösen.

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

        @dellishelly sagte in HILFE: Alle Fenster geschlossen ? Datenpunkte auf true:

        @mickym

        Bist du sicher dass der hier stimmt ?

        $match($,/(.).(.)/).groups[0]

        Woher kommt der Pfad ?
        Kann ich ihn mir selbst irgendwoher kopieren ?

        Zitieren die * fehlen bei dem Befehl - das liegt aber daran weil Du es nicht in CodeTags geschrieben hast.

        Du kannst auch wie gesagt die ID nehmen - wir müssen ja nur ermitteln was für eine Lampe es ist. Sonst poste den String, woher er ist (ID oder Name) und dann basteln wir den regulären Ausdruck

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

          @mickym

          6d1b5dcb-474c-46de-a5fa-a943a24083be-image.png ```

          soweit so gut. das gibt er mir nun unten aus

          Aber ich komme nicht in die Liste
          beim starten des Skripts gibt er mir den debug

          
          javascript.0
          2023-09-19 15:01:31.776	info	script.js.Lichterprüfen: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          
          javascript.0
          2023-09-19 15:01:31.776	error	script.js.Lichterprüfen Error by subscription (trigger): empty ID defined. All states matched.
          
          javascript.0
          2023-09-19 15:01:31.775	warn	at script.js.Lichterprüfen:23:3
          
          javascript.0
          2023-09-19 15:01:31.775	warn	at script.js.Lichterprüfen:10:20
          
          javascript.0
          2023-09-19 15:01:31.773	warn	getState "[object Object]" not found (3)
          
          javascript.0
          2023-09-19 15:01:31.747	info	Start javascript script.js.Lichterprüfen
          
          javascript.0
          2023-09-19 15:01:29.256	info	Stop script script.js.Lichterprüfen
          
          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Dellishelly last edited by mickym

            @dellishelly Das getState kommt vom unteren Teil - deaktiviere den auch.

            Dann ersetze mal

            70dae4f0-74ff-4656-80cc-296baa5ef21f-image.png

            den Text durch Name und schau ob dann Couchbeleuchtung ohne weitere Fehler rauskommt. Oder Couchlicht

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

              @mickym

              das klappt nun auch

              2df8156b-065a-4edf-82bb-84480a5b81d1-image.png

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

                @dellishelly So dann aktiviere die nächsten beiden Blöcke und schau dass der Datenpunkt Liste_lampen existiert.

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

                  @mickym
                  Ich bekomme zum einen nenne Warnung und hier der Debug. Warum auch immer scheint er die Liste nicht zu finden, obwohl der Datenpunkt existiert.

                  9ee00a68-dcc0-4a05-8abc-65842c4c0c69-image.png

                  javascript.0
                  2023-09-19 15:30:09.150	info	script.js.Lichterprüfen: {"Couchbeleuchtung":true}
                  
                  javascript.0
                  2023-09-19 15:30:09.148	warn	at Object.<anonymous> (script.js.Lichterprüfen:9:142)
                  
                  javascript.0
                  2023-09-19 15:30:09.147	warn	at script.js.Lichterprüfen:9:52
                  
                  javascript.0
                  2023-09-19 15:30:09.146	warn	getState "[object Object]" not found (3)
                  
                  javascript.0
                  2023-09-19 15:30:09.145	info	script.js.Lichterprüfen: Couchbeleuchtung
                  
                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Dellishelly last edited by mickym

                    @dellishelly Gut dann mach den nächsten auch noch scharf. Die Warnung kommt weil kein Objekt da ist.

                    840be508-7b4f-43ab-a2c3-fadc72a8305b-image.png

                    Und dann prüfe ob anschließend was in Deinem Datenpunkt der Liste drin steht

                    0ee61598-5c1f-4d31-9bc9-9788e2ca9aeb-image.png

                    Das schaut doch gut aus.

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

                      @mickym
                      läuft auch durch und er schreibt den Wert auch in die Liste_lampen.
                      Allerdings schreibt er immer nur einen Wert in die Liste auch wenn ich mehrere Lichter aus der Aufzählung schalte.

                      Der Fehler kommt im Debug noch immer Object not found

                      625c60a3-5c41-4c4e-a090-148ac356b09f-image.png

                      f86930c5-e1ed-44c3-9caf-6e00e490d9ef-image.png

                      	2023-09-19 15:43:05.189	info	script.js.Lichterprüfen: {"Couchbeleuchtung":true}
                      
                      javascript.0
                      2023-09-19 15:43:05.185	warn	at Object.<anonymous> (script.js.Lichterprüfen:9:142)
                      
                      javascript.0
                      2023-09-19 15:43:05.185	warn	at script.js.Lichterprüfen:9:52
                      
                      javascript.0
                      2023-09-19 15:43:05.183	warn	getState "[object Object]" not found (3)
                      
                      javascript.0
                      2023-09-19 15:43:05.182	info	script.js.Lichterprüfen: Couchbeleuchtung
                      
                      mickym 2 Replies Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Dellishelly last edited by

                        @dellishelly Also jetzt sollte der Fehler nicht mehr kommen hast Du auch als Datentyp JSON eingetragen?

                        c22a8d64-ad2d-4ae2-9242-3bcf507d92a3-image.png

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

                          @dellishelly sagte in HILFE: Alle Fenster geschlossen ? Datenpunkte auf true:

                          Allerdings schreibt er immer nur einen Wert in die Liste auch wenn ich mehrere Lichter aus der Aufzählung schalte.

                          Sollte auch nicht der Fall sein - da ja jedes Licht einen Trigger erzeugen müsste und somit müsste das ja mehrfach durchlaufen werden.

                          Nachdem jetzt einmal was drinsteht, sollten auch keine Warnungen mehr kommen.

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

                            @mickym

                            Der DP ist eine JSON
                            und egal was ich mache, in der Debug bekomme ich immer angezeigt, dass er das Object nicht findet und auch steht nur weiterhin nur ein Wert drin.
                            Immer der, der als letztes getriggert wurde.

                            94c98f7e-ffc9-419d-9069-57d636cb1a62-image.png

                            2023-09-19 15:50:15.066	info	script.js.Lichterprüfen: {"Couchbeleuchtung":false}
                            
                            javascript.0
                            2023-09-19 15:50:15.064	warn	at Object.<anonymous> (script.js.Lichterprüfen:9:142)
                            
                            javascript.0
                            2023-09-19 15:50:15.063	warn	at script.js.Lichterprüfen:9:52
                            
                            javascript.0
                            2023-09-19 15:50:15.062	warn	getState "[object Object]" not found (3)
                            
                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @Dellishelly last edited by mickym

                              @dellishelly Ok - ich verstehe es im Moment nicht - da es bei mir funktioniert. Nachdem Du jetzt schon was in Deinem Datenpunkt stehen hast, schau mal wenn Du die Objektprüfung wieder rausnimmst, ob sich dann das Objekt erweitert:

                              Also beim Datenpunkt schreiben:

                              3f4e0a7f-aa53-4a7f-8692-d693b8458a8b-image.png

                              nur

                              $merge($)
                              

                              Was hast Du denn für eine Version des Javascript Adapters - denn ich hab diese Probleme ja nicht. Ich habe:
                              436eddea-a54b-4bc9-9f8a-7f7457c2fd88-image.png

                              Alle Statusänderungen kommen nacheinander an und modifizieren das Objekt korrekt:

                              96f54b31-d35e-441d-93aa-c124629ae68f-image.png

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

                                @mickym
                                sobald ich die raus nehme, läuft nur noch der debug für topic.

                                37c01964-0f45-4de7-92a6-8e631f5fccf1-image.png

                                2023-09-19 16:12:21.655	error	at Object.<anonymous> (script.js.Lichterprüfen:10:31)
                                
                                javascript.0
                                2023-09-19 16:12:21.655	error	at Object.evaluate (/opt/iobroker/node_modules/jsonata/jsonata.js:5558:26)
                                
                                javascript.0
                                2023-09-19 16:12:21.655	error	at evaluate (/opt/iobroker/node_modules/jsonata/jsonata.js:3525:26)
                                
                                javascript.0
                                2023-09-19 16:12:21.655	error	at evaluateFunction (/opt/iobroker/node_modules/jsonata/jsonata.js:4871:28)
                                
                                javascript.0
                                2023-09-19 16:12:21.655	error	at apply (/opt/iobroker/node_modules/jsonata/jsonata.js:4896:24)
                                
                                javascript.0
                                2023-09-19 16:12:21.654	error	at applyInner (/opt/iobroker/node_modules/jsonata/jsonata.js:4929:33)
                                
                                javascript.0
                                2023-09-19 16:12:21.654	error	at validateArguments (/opt/iobroker/node_modules/jsonata/jsonata.js:5062:39)
                                
                                javascript.0
                                2023-09-19 16:12:21.654	error	at Object.validate (/opt/iobroker/node_modules/jsonata/jsonata.js:7215:28)
                                
                                javascript.0
                                2023-09-19 16:12:21.654	error	at Array.forEach (<anonymous>)
                                
                                javascript.0
                                2023-09-19 16:12:21.654	error	at /opt/iobroker/node_modules/jsonata/jsonata.js:7242:45
                                
                                javascript.0
                                2023-09-19 16:12:21.653	error	at Array.forEach (<anonymous>)
                                
                                javascript.0
                                2023-09-19 16:12:21.653	error	at /opt/iobroker/node_modules/jsonata/jsonata.js:7272:57
                                
                                javascript.0
                                2023-09-19 16:12:21.653	error	script.js.Lichterprüfen: Error:
                                
                                javascript.0
                                2023-09-19 16:12:21.646	warn	at Object.<anonymous> (script.js.Lichterprüfen:9:142)
                                
                                javascript.0
                                2023-09-19 16:12:21.645	warn	at script.js.Lichterprüfen:9:52
                                
                                javascript.0
                                2023-09-19 16:12:21.639	warn	getState "[object Object]" not found (3)
                                
                                javascript.0
                                2023-09-19 16:12:21.638	info	script.js.Lichterprüfen: Couchbeleuchtung
                                
                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @Dellishelly last edited by

                                  @dellishelly Nee schon wieder aktivieren - wie gesagt diese Fehlermeldungen habe ich nicht.

                                  diese Warnung dass er was nicht findet - das macht mich stutzig

                                  8649ffa0-9a7d-415b-a048-bfef33dc9ae3-image.png

                                  Das muss bei Dir am System liegen.

                                  Prüfe ob Du beim Einlesen des Wertes diese Fehler bekommst. Das ist der Grund warum das Objekt nicht erweitert wird, weil der Datenpunkt bei DIR NICHT EINGELESEN wird.
                                  e495c26e-c2c4-4f78-9e62-1becd6ff7bc7-image.png

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

                                    @mickym

                                    ich hab die debug Blöcke mal raus genommen.
                                    Jetzt läufts und er schreibt auch die einmal getriggert wurden in die Liste.

                                    Nur die Prüfung am Ende läuft wohl noch nicht.
                                    debug im Admin zeigt keine Warnungen oder Fehler

                                    c016d68f-daf8-4c8f-bf7d-16a0ac17d893-image.png
                                    9c89f62e-b118-49e5-926f-b9586a93d4f6-image.png

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

                                      @dellishelly Na Dein Objektbezeichnungen sind zwar kryptisch - aber gut.

                                      Für die Lichter musst Du ja die Logik etwas anders machen.

                                      Die Lichter sind aus, wenn alles aus ist. Also musst Du mit OR verknüfen.

                                      $reduce($.*,function($i, $j){$i or $j})
                                      

                                      und das Ergebnis verneinen:
                                      ac79b1ed-eeee-4c93-84e5-02e2c6357869-image.png

                                      lampen_aus wird also von JSONATA nur dann false sein, wenn alle Eigenschaften des Objektes falsch sind. lampen_aus wird true sein, wenn NUR eine Eigenschaft true ist.

                                      Um also postiv abzufragen, ob Lampen aus wahr ist, musst Du das Ergebnis verneinen.

                                      Somit wird es true, sobald alle Eigenschaften false ist und false, falls eine Eigenschaft true ist.

                                      Unten musst Du dann, um die Lampen rauszufischen die true sind - die Verneinung aufheben:

                                      statt

                                      $each($, function($v, $k) {$not($v) ? $k})~>$join(", ")
                                      

                                      dann

                                      $each($, function($v, $k) {$v ? $k})~>$join(", ")
                                      
                                      D mickym 2 Replies Last reply Reply Quote 0
                                      • D
                                        Dellishelly @mickym last edited by Dellishelly

                                        @mickym said in HILFE: Alle Fenster geschlossen ? Datenpunkte auf true:

                                        Ich muss hier noch die richtigen Namen hinterlegen. Die Object ID sind in Mehreren Ordnern mehrfach gleich vergeben.

                                        Aber das mach ich hinterher.
                                        Habe die Logik nun geändert, aber er gibt mir unten trotzdem keine Ausgabe.

                                        Habe mal nen debug direkt hinter den trigger der Listenprüfung gesetzt. - der gibt auch nichts aus, obwohl sich der Wert der Liste ändert

                                        0ffc2401-9282-449b-ad7d-de11bde230ef-image.png

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

                                          @mickym Nun dann prüfe halt erst mal ob der untere Teil getriggert wird (siehst Du ja mit Test) und dann lass Dir mal den Wert mit debug ausgeben, um zu sehen, dass er auch das Objekt einliest.

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

                                            @mickym

                                            genau das scheint er ja nicht zu machen.
                                            sieht so aus als würde er keine Änderung in der Liste_Lampen feststellen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            471
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            46
                                            2060
                                            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