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.
    • D
      Dellishelly @Dellishelly last edited by Dellishelly

      @mickym

      Bist du sicher dass der hier stimmt ?

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

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

      mickym 2 Replies Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            581
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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