Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Rolle eines Objektes auslesen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Rolle eines Objektes auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      JoergH last edited by

      Hi,

      ich würde gerne eine Rolle eines Objektes auslesen, um eine Liste zu erstellen, die nur die Fenstersensoren beinhaltet.

      So sehen die Datenpunkte aus:

      Screenshot 2024-11-16 113643.png

      Mein Blockly dazu sieht so aus, liefert aber immer Fehler:

      Screenshot 2024-11-16 112902.png

      Was mache ich falsch?

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

        @joergh Du kannst direkt im Selektor filtern:

        61892763-132d-47c3-8352-04c827782b93-image.png

        Also bei Dir halt nach [role=value.window].

        J 1 Reply Last reply Reply Quote 1
        • J
          JoergH @mickym last edited by

          @mickym Danke! Das funktioniert!

          Wieso klappt das mit dem Attribut nicht? Ich würde es gerne verstehen....

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

            @joergh sagte in Rolle eines Objektes auslesen:

            @mickym Danke! Das funktioniert!

            Wieso klappt das mit dem Attribut nicht? Ich würde es gerne verstehen....

            Das klappt deshalb nicht, weil der Selektor nur IDs zurückliefert, aber keine Objekte. Deshalb kannst du auch keine Objekte analysieren.

            1 Reply Last reply Reply Quote 0
            • J
              JoergH last edited by

              @mickym Achso, danke. Dass heißt ich müsste dann einfach erst das Objekt in eine andere Variable einlesen und da könnte ich dann nach dem Attribut suchen, korrekt?

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

                @joergh Ich weiß nicht, wie Du überhaupt auf die Objekteigenschaften in Blockly zugreifen kannst. Meines Wissens (aber da musst Du dann @paul53 fragen, geht das im Blockly nicht). Der Selektor, den Du nutzt gibt Dir nichts weiter als eine Liste zurück mit den IDs (reiner Text und keine Objekte).

                Du kannst aber in dem Selektor ggf. auch andere Eigenschaften der Objekte direkt abfragen.

                a0ed9044-7ea8-4191-bbaa-8d0b8bebd91f-image.png

                siehe: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#---selector

                Sprich wenn Du weitere Bedingungen setzen willst, dann gleich im Selektor.

                paul53 J 2 Replies Last reply Reply Quote 0
                • paul53
                  paul53 @mickym last edited by paul53

                  @mickym sagte: auf die Objekteigenschaften in Blockly zugreifen

                  Blockly_temp.JPG

                  EDIT: Die unteren 7 Auswahlen enthalten common-Attribute des statischen Objektes.

                  1 Reply Last reply Reply Quote 0
                  • J
                    JoergH @mickym last edited by

                    @mickym Blockly hat neue Bausteine, da geht nun eine Menge, die zuvor nicht ging, so auch der Zugriff auf Objekte...

                    430c7e39-e7f0-4678-a249-b6ce038af8af-grafik.png

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

                      @joergh Ja wenn Du Objekte hast. Du hast aber keine Objekte. @paul53 hat Dir ja gerade gepostet, wie Du auf die Objekteigenschaften zugreifst.

                      Du musst also die Eigenschaften jeder einzelnen ID überprüfen.

                      b5019771-cc80-4c9f-837e-36477b08615d-image.png

                      An der 1. Debug Ausgabe siehst Du ja, dass eine Liste mit reinem Text zurückgeliefert wird und kein Obkjekt.

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        JoergH @mickym last edited by

                        @mickym Wofür?
                        Ich kann Dir leider gerade nicht ganz folgen.

                        Mit dem Selektor suche ich mir die ganzen Fenster ObjektIDs raus und dann kann ich mir den dazugehörigen Wert eines Attributes in dem Objekt, welches ich dann ja in eine Variable schreiben kann suchen....oder nicht?

                        Ich wollte zuvor nur darauf hinweisen, dass sich in Blockly einiges getan hat und man nun nicht mehr auf Javascript Code zurückgreifen muss, um solche Dinge zu erledigen, weil Du meintest man könne in Blockly nicht auf Objekt zugreifen...

                        Homoran mickym 2 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @JoergH last edited by

                          @joergh sagte in Rolle eines Objektes auslesen:

                          Mit dem Selektor suche ich mir die ganzen Fenster ObjektIDs raus und dann kann ich mir den dazugehörigen Wert eines Attributes in dem Objekt, welches ich dann ja in eine Variable schreiben kann suchen....oder nicht?

                          geht das mit enums nicht?
                          warum über die Rolle?

                          mickym paul53 2 Replies Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @JoergH last edited by

                            @joergh sagte in Rolle eines Objektes auslesen:

                            @mickym Wofür?
                            Ich kann Dir leider gerade nicht ganz folgen.

                            Mit dem Selektor suche ich mir die ganzen Fenster ObjektIDs raus und dann kann ich mir den dazugehörigen Wert eines Attributes in dem Objekt, welches ich dann ja in eine Variable schreiben kann suchen....oder nicht?

                            Ich wollte zuvor nur darauf hinweisen, dass sich in Blockly einiges getan hat und man nun nicht mehr auf Javascript Code zurückgreifen muss, um solche Dinge zu erledigen, weil Du meintest man könne in Blockly nicht auf Objekt zugreifen...

                            Ich verstehe Dich wiederum nicht. Der Selektor liefert Dir KEINE Objekte, sondern eine Liste, die nur die IDs als Text hat. Da helfen Dir die neuen Bausteine nichts. Die helfen Dir nur, wenn Du bereits ein Objekt hast oder selbst eines erstellen willst.

                            Um aber auf die Objekteigenschaften eines States zuzugreifen (das hat mit den neuen Bausteinen 0,0 zu tun), musst Du dieses Puzzleteil nehmen, dass @paul53 und ich Dir gepostet haben.

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

                              @homoran sagte in Rolle eines Objektes auslesen:

                              @joergh sagte in Rolle eines Objektes auslesen:

                              Mit dem Selektor suche ich mir die ganzen Fenster ObjektIDs raus und dann kann ich mir den dazugehörigen Wert eines Attributes in dem Objekt, welches ich dann ja in eine Variable schreiben kann suchen....oder nicht?

                              geht das mit enums nicht?
                              warum über die Rolle?

                              Gut dann lass ich Euch nun wieder alleine mit dem Puzzeln, ich glaube es ist besser, wenn ihr unter Euch seid, um über alternative Puzzleteile zu sprechen und Ihr Vor- und Nachteile erörtert. Das ist etwas für Puzzlespezialisten.

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

                                @mickym das hat nichts mit puzzle zu tun.
                                da geht es um den grundsätzlichen Ansatz das erwünschte zu erreichen, egal ob mit Strippen oder Puzzles.

                                wobei mir immer noch nicht klar ist was @JoergH im Endeffekt erreichen will.

                                mickym J 2 Replies Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @Homoran last edited by

                                  @homoran Nun über die Rolle und den Selektor die IDs zu selektieren, ist sicher am schnellsten und am Besten, da das System dann die Arbeit macht. Und das habe ich ja im 2. Post gepostet. Wenn man andere Eigenschaften des state Objektes auslesen will, dann wurde das ja von @paul53 gepostet.

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Homoran last edited by

                                    @homoran sagte: warum über die Rolle?

                                    Warum nicht über die Rolle, wenn sie eindeutig ist? Enums muss man meist erst zuweisen.

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

                                      @paul53 sagte in Rolle eines Objektes auslesen:

                                      @homoran sagte: warum über die Rolle?

                                      Warum nicht über die Rolle, wenn sie eindeutig ist? Enums muss man meist erst zuweisen.

                                      ja, Enums sind ggf. aufwändiger, und ob die role immer, insbesondere bei alias oder eigenen Datenpunkten für alle Datenpunkte eindeutig ist, sollte @JoergH prüfen.

                                      Es kommt auch vor, dass z.B. mal .level und .value verwendet werden.

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        JoergH @Homoran last edited by

                                        @homoran sagte in Rolle eines Objektes auslesen:

                                        @mickym das hat nichts mit puzzle zu tun.
                                        da geht es um den grundsätzlichen Ansatz das erwünschte zu erreichen, egal ob mit Strippen oder Puzzles.

                                        wobei mir immer noch nicht klar ist was @JoergH im Endeffekt erreichen will.

                                        Eigentlich steht es im ersten Post:

                                        Ich will eine Liste mit den IDs der Fenster haben, um mir mein eigenes Blockly zu basteln, mithilfe dessen ich deren Zustände auswerten kann.
                                        Bisher nutze ich das Javascript von Pittini, allerdings verliert der hm-rpc Adapter hin- und wieder mal die Datenpunkte. Heute waren sie mal wieder alle weg. Daraufhin habe ich versucht diese wieder einzulesen, was er auch gemacht hat, allerdings sämtliche ohne Rolle und ohne Räume (scheint ein Bug zu sein, Github Issue habe ich eröffnet), was bedeutet, dass ich alles wieder manuell herstellen muss. 😖
                                        Sowieso verlangt das Script eine etwas unorthodoxe Kennzeichnung, die der Adapter so nicht selber bietet, sodass man immer manuell nachbearbeiten muss.

                                        Das will ich nun ein für alle Mal lösen und etwas selber schreiben. Dazu brauche ich eine Liste der Fenster, dann kann ich die Werte auslesen. Leider finde ich keine Beschreibung der neuen Blockly Funktionen und habe keine praktische Erfahrung mit Objekten und deren Funktionsweise, deswegen frage ich ja auch mal nach..

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

                                          @joergh sagte in Rolle eines Objektes auslesen:

                                          allerdings verliert der hm-rpc Adapter hin- und wieder mal die Datenpunkte. Heute waren sie mal wieder alle weg

                                          hast du die Instanz neu gestartet
                                          und nicht "Datenpunkte bei Adapterstart nicht löschen" in der Instanz aktiviert?

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            JoergH @Homoran last edited by

                                            @homoran sagte in Rolle eines Objektes auslesen:

                                            @joergh sagte in Rolle eines Objektes auslesen:

                                            allerdings verliert der hm-rpc Adapter hin- und wieder mal die Datenpunkte. Heute waren sie mal wieder alle weg

                                            hast du die Instanz neu gestartet
                                            und nicht "Datenpunkte bei Adapterstart nicht löschen" in der Instanz aktiviert?

                                            Ja, dabei auch noch Werte neu einlesen angehakt. Er stellt die DP wieder her, aber ohne jegliche Zusatzinfos...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            733
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            55
                                            1523
                                            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