Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Einfach Skript für Gruppenstatus

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Einfach Skript für Gruppenstatus

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      ft.knorr last edited by

      Hallo Zusammen,
      kann mir einer Helfen, wie ihr ein Skript ausbauen würdet, dass den Status der Rückmeldung GA´s checkt und sobald einer "true" ist eine weitere GA auf true stellt?

      Ich habe 42 Aktorenkanäle mit Leuchten. Nun möchte ich einen Master etablieren, der natürlich "EIN" anzeigt, sobald eine Leuchte leuchtet.

      Vielen Dank!!!

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @ft.knorr last edited by

        @ft-knorr
        Bisschen wenig Info, oder?
        https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge
        Ich jedenfalls verstehe nur Bahnhof. GA's??

        Bei 42 Kanälen wäre "ID von Selektor" ein Ansatzpunkt.

        F 1 Reply Last reply Reply Quote 0
        • F
          ft.knorr @Codierknecht last edited by

          @codierknecht
          Dachte GA ist üblich als Bezeichnung für Gruppenadresse.

          Vielleicht nochmals etwas konkreter:
          Jeder Autor hat ja ein Kommunikationsobjekt "Rückmeldung Schalten", dass true ist falls der Autor aktiv ist und die Leuchte leuchtet, sowie false, falls der Kanal ausgeschaltet ist.
          Jedes dieser Kommunikationsobjekte habe ich in eine eigene Gruppenadresse gelegt. Also zum Beispiel "EG - Wohnzimmer - Deckenleuchte - Rückmeldung Schalten"
          Ich möchte nun ein Blockly Skript entwerfen, dass alle diese 42 Gruppenadressen überwacht und selbst dann eine weitere Gruppenadresse (EG - Zentral - Leuchten - Rückmeldung Schalten) mit true oder false steuert. Diese letzte Gruppenadresse soll true sein, wenn bereits eine Leuchte leuchtet und false, wenn wirklich alle aus sind oder (null) haben.

          Vielleicht so besser ? Danke euch!

          Codierknecht Homoran 2 Replies Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @ft.knorr last edited by Codierknecht

            @ft-knorr sagte in Einfach Skript für Gruppenstatus:

            Vielleicht so besser ?

            Naja - nicht wirklich.
            Um was geht es? KNX?

            Dachte GA ist üblich als Bezeichnung für Gruppenadresse.

            Es gibt hunderte von Adaptern für die unterschiedlichsten Systeme. "Üblich" ist da wenig.

            Egal - ich würde die betroffenen 42 Aktoren in eine Aufzählung packen oder über einen passenden Selektor ansprechen.
            Bei Änderung eines der Aktoren durch die Liste rauschen und entsprechend true (mindestens 1 Lampe an) oder false (alle aus) ermitteln und wegschreiben.

            Zeig mal wie das im Baum aussieht.

            F 1 Reply Last reply Reply Quote 0
            • F
              ft.knorr @Codierknecht last edited by

              @codierknecht
              Ja KNX genau. Du hast recht, da gibt es eine Menge mehr. Das sind die Objekte in ioBroker

              Bildschirmfoto 2024-02-06 um 18.40.57.png

              paul53 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @ft.knorr last edited by Homoran

                @ft-knorr sagte in Einfach Skript für Gruppenstatus:

                Vielleicht so besser ?

                wie schon gesagt wurde: nicht wirklich.
                Wer nicht genau weiß worum es da geht, kann damit wahrscheinlich nichts anfangen.

                GAs sind mir nur von der Bezeichnung nur von KNX bekannt.
                Das Handling davon habe ich nie verstanden.

                Deswegen weiß ich auch nicht ob der Vorschlag von @Codierknecht funktionieren kann.
                ich habe noch dunkel im Kopf, dass KNX für Sende- und Emfangsnachrichten unterschiedliche Kanäle nutzt, die ggf. erst vereint werden müssen.
                Da müsste sich mal ein Wissender, der sich mit dem von dir verwendeten unbekannten Adapter auskennt einschalten.

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @ft.knorr last edited by paul53

                  @ft-knorr sagte: Das sind die Objekte in ioBroker

                  Wenn alle IDs mit "Rückmeldung_Schalten" enden, kann der Selektor verwendet werden.

                  Blockly_temp.JPG

                  @ft-knorr sagte in Einfach Skript für Gruppenstatus:

                  Diese letzte Gruppenadresse soll true sein, wenn bereits eine Leuchte leuchtet und false, wenn wirklich alle aus sind oder (null) haben.

                  Diese ID bzw. deren Rückmeldung darf nicht auf "Rückmeldung_Schalten" enden.

                  Codierknecht F 2 Replies Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @paul53 last edited by

                    @paul53
                    Genau sowas hatte ich im Sinn.

                    @homoran sagte in Einfach Skript für Gruppenstatus:

                    ich habe noch dunkel im Kopf, dass KNX für Sende- und Emfangsnachrichten unterschiedliche Kanäle nutzt, die ggf. erst vereint werden müssen.

                    So wie ich das verstanden habe, will er ja die 42 nur lesen.
                    Beschrieben wird nur ein einzelner State.

                    Asgothian 1 Reply Last reply Reply Quote 0
                    • F
                      ft.knorr @paul53 last edited by

                      @paul53
                      Ja genau! Gibt es denn eine Möglichkeit die Objekte auch alle manuell auswählen? Ich will nur etwas dazulernen und den Case kann ich sicher noch auf andere Gruppen anwenden.

                      Bei Falls Objekt "ids" kann ich doch auch eine Oder Logik einsetzten. Bei 42 wären es dann 43 mal "oder"

                      Ist das ganz schrecklich im Code-Sinn?

                      paul53 Codierknecht 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @ft.knorr last edited by paul53

                        @ft-knorr sagte: 43 mal "oder"
                        Ist das ganz schrecklich im Code-Sinn?

                        Ja.

                        @ft-knorr sagte in Einfach Skript für Gruppenstatus:

                        Gibt es denn eine Möglichkeit die Objekte auch alle manuell auswählen?

                        Ja, Liste mit den 42 IDs erstellen. Ist ganz schön aufwändig.

                        Blockly_temp.JPG

                        @ft-knorr sagte in Einfach Skript für Gruppenstatus:

                        Bei Falls Objekt "ids" kann ich doch auch eine Oder Logik einsetzten.

                        Nein, eine Oder-Verknüpfung funktioniert beim Trigger nicht. Nur einzelne ID, Liste mit IDs oder RegExp.

                        1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @ft.knorr last edited by Codierknecht

                          @ft-knorr sagte in Einfach Skript für Gruppenstatus:

                          Gibt es denn eine Möglichkeit die Objekte auch alle manuell auswählen?

                          Du könntest eine Aufzählung verwenden. Dort kannst Du die entsprechenden States manuell hinzufügen.

                          Angesprochen wird das im Script fast genauso mit z.B. (functions=lights)

                          Die States werden einfach da rein gezogen:
                          b1ac53b4-a93f-4aa8-aeb1-39f07f8a593b-grafik.png

                          Und im Script sieht das dann so aus:
                          9da510ef-c3f6-42c4-af2b-2ac80e2147a8-grafik.png

                          1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @Codierknecht last edited by

                            @codierknecht sagte in Einfach Skript für Gruppenstatus:

                            @paul53
                            Genau sowas hatte ich im Sinn.

                            @homoran sagte in Einfach Skript für Gruppenstatus:

                            ich habe noch dunkel im Kopf, dass KNX für Sende- und Emfangsnachrichten unterschiedliche Kanäle nutzt, die ggf. erst vereint werden müssen.

                            So wie ich das verstanden habe, will er ja die 42 nur lesen.
                            Beschrieben wird nur ein einzelner State.

                            Für das nachhalten eines reinen True/False ist mir das eigentlich zu aufwändig. Ich komm aber mal wieder nicht an Blockly ran, deswegen als pseudo-code.

                            Eine Liste idan definieren, in denen die id‘s der eingangsstati gespeichert werden. Im trigger auf den selektor (oder eine vordefinierte Liste von Kandidaten):
                            Idx = Index von id in idan
                            Falls (wert == wahr und Idx ==0) füge id als letztes Objekt derListe idan hinzu
                            Falls (wert == falsch und Idx <> 0) entferne Objekt an stelle Idx aus der Liste.
                            Steuere ObjektID mit (Länge der Liste idan >0)

                            Da muss dann noch in scheifen geschleift werden.

                            A.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            824
                            Online

                            32.0k
                            Users

                            80.4k
                            Topics

                            1.3m
                            Posts

                            5
                            12
                            319
                            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