Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Homematic Systemvariablen Problem

    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

    Homematic Systemvariablen Problem

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Wolf-B last edited by

      Guten Tag zusammen,
      ich habe unter Homematic Systemvariablen erstellt, die ich mit ioBroker auslesen und aktualisieren will. Im vorliegenden Fall soll es um geöffnete Fenster gehen. So gibt es dafür eine Systemvariable OG_Fenster definiert als Zahl. Wenn nun im OG ein Fenster geöffnet wird, wird zunächst diese Zahl ausgelesen und in der Variablen Fensterzahl gespeichert. Dann wird die Fensterzahl um 1 erhöht, sodass man dann in Vis nicht nur sieht, dass Fenster in einer Etage geöffnet sind, sondern auch wieviele. So sollte es sein ... Wenn ich das nun laufen lasse, ergibt sich die Fehlermeldung unten und es wird nichts aktualisiert.
      Was mich hier bei auch irritiert, ist die Floskel <Anonymous> in der Fehlermeldung. Wer kann mir hier weiterhelfen ? Was mache ich hier falsch ? Ich sage schonmal: Vielen Dank !

      Mein Blockly-Script
      Blockly vom 2023-11-19 11-04-54.png

      gibt folgende Fehlermeldung aus:

      11:03:21.848 warn javascript.0 (2149) at Object.<anonymous> (script.js.Fenster.OG_EDV-Zimmer-Fenster:8:3)

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Wolf-B last edited by

        @wolf-b sagte in Homematic Systemvariablen Problem:

        11:03:21.848 warn javascript.0 (2149) at Object.<anonymous> (script.js.Fenster.OG_EDV-Zimmer-Fenster:8:3)

        was steht denn in der js-Ansicht in Zeile 8 an Pos.3?

        ich denke mal dass du nicht das Objekt haben willst, sondern Wert von ObjectID

        W 3 Replies Last reply Reply Quote 0
        • W
          Wolf-B @Homoran last edited by Homoran

          @homoran var Fensterzahl;

          on({ id: 'hm-rpc.0.JEQ0248106.1.STATE' /* OG EDVZi Fensterkontakt Kanal-1.STATE */, val: true }, async (obj) => {
            let value = obj.state.val;
            let oldValue = obj.oldState.val;
            Fensterzahl = 'hm-rega.0.11407';
            setState('hm-rega.0.11407' /* Fenster_OG */, (Fensterzahl + 1));
          });
          on({ id: 'hm-rpc.0.JEQ0248106.1.STATE' /* OG EDVZi Fensterkontakt Kanal-1.STATE */, val: false }, async (obj) => {
            let value = obj.state.val;
            let oldValue = obj.oldState.val;
            Fensterzahl = 'hm-rega.0.11407';
            setState('hm-rega.0.11407' /* Fenster_OG */, (Fensterzahl - 1));
          });
          

          MOD-EDIT: Code in code-tags gesetzt!

          1 Reply Last reply Reply Quote 0
          • W
            Wolf-B @Homoran last edited by

            @homoran sagte in Homematic Systemvariablen Problem:

            ich denke mal dass du nicht das Objekt haben willst, sondern Wert von ObjectID

            Ja, stimmt

            Homoran 1 Reply Last reply Reply Quote 0
            • W
              Wolf-B @Homoran last edited by

              @homoran : Sorry - ist so vielleicht besser:

              df22e94c-0dfa-4630-b5d6-ad2b17267239-grafik.png

              In Zeile 8, Pos 3 müsste also die 0 stehen ? Oder was ist mit 3. Position gemeint ? Bin noch nicht so drin in Java.

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Wolf-B last edited by

                @wolf-b sagte in Homematic Systemvariablen Problem:

                Ja, stimmt

                dann nimm den entsprechenden Block.

                @wolf-b sagte in Homematic Systemvariablen Problem:

                In Zeile 8, Pos 3 müsste also die 0 stehen

                nein, das ist der setState auf die Variable, resp bei dir das Objekt statt des Wertes

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Wolf-B last edited by

                  @wolf-b sagte: Mein Blockly-Script

                  Man verwendet nur einen Trigger (Ressourcen):

                  Blockly_temp.JPG

                  "Fenster offen" ist die SV.

                  W 3 Replies Last reply Reply Quote 0
                  • W
                    Wolf-B @paul53 last edited by

                    @paul53
                    @Homoran
                    Danke Euch zunächst - das muss ich nun erstmal durcharbeiten. Mittlerweile habe ich (dank Homoran's Hinweis) zumindest keine Fehlermeldung mehr, aber jetzt muss ich erst noch den Tipp von paul53 umsetzen und schauen, was passiert - melde mich wieder ...

                    1 Reply Last reply Reply Quote 0
                    • W
                      Wolf-B @paul53 last edited by

                      @paul53 Einen Block mit "falls-mache-sonst" habe ich nicht in meiner Auswahl, nur einen mit "falls-mache".

                      1 Reply Last reply Reply Quote 0
                      • W
                        Wolf-B @paul53 last edited by

                        @paul53
                        Ich habe nun ein Zusatzfeld gefunden, mit dem man wohl ein "sonst" hinzufügen kann, nur wenn ich auf "sonst" klicke, tut sich nix. Wie ka nn ich das "sonst" in der Auswahl aktivieren ?
                         ioBroker vom 2023-11-19 12-27-16.png

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @Wolf-B last edited by Homoran

                          @wolf-b sagte in Homematic Systemvariablen Problem:

                          @paul53
                          Ich habe nun ein Zusatzfeld gefunden, mit dem man wohl ein "sonst" hinzufügen kann, nur wenn ich auf "sonst" klicke, tut sich nix. Wie ka nn ich das "sonst" in der Auswahl aktivieren ?
                           ioBroker vom 2023-11-19 12-27-16.png

                          rüberziehen

                          edit:
                          ist dein Wert eibe selbst erstellte Variable?
                          das geht nicht!
                          du musst aus dem Bereich Trigger den Block mit dem Pulldown nehmen und dort Wert auswählen

                          W 2 Replies Last reply Reply Quote 0
                          • W
                            Wolf-B @Homoran last edited by

                            @homoran
                            @paul53

                            Vielen Dank Euch beiden - jetzt passt es endlich und funktioniert.

                            Die Variablen "Fensterzahl" (reine Zählervariable) und "OG_Fenster_offen" (Anzahl der aktuell im OG geöffneten Fenster) sind selbst definiert, die Variable "OG EDVZi Fensterkontakt Kanal-1.STATE" ist der Zustand des Fensters aus dem Homematic-Objekt (ist also nicht selbst erstellt) - auch dafür noch schönen Dank - war mir auch nicht klar, dass man bei selbsterstellten die andere Variante nehmen muss - wieder was gelernt.

                            Wünsche Euch einen schönen weiteren Sonntag - nun habe ich so Einiges zu tun - wir haben viele Fenster ...

                            Dies ist das funktionierende Blockly:
                            ioBroker vom 2023-11-19 12-48-24.png

                            1 Reply Last reply Reply Quote 0
                            • W
                              Wolf-B @Homoran last edited by

                              @homoran
                              Bin leider doch noch nicht so ganz fertig ...

                              Habe nun ein zweites Fenster hinzugefügt - und auch das funktioniert für sich. Allerdings verändert sich die Variable für die Fensterzahl nicht. Die erhöht sich beim 2. geöffneten Fenster wohl nicht - der Wert scheint irgendwie noch auf 0 zu liegen, obwohl in der Systemvariablen schon 1 angezeigt wird, wenn bereits ein Fenster geöffnet ist.

                              Wie kann ich in der ersten Blockly-Zeile erzwingen, dass die Variable "Fensterzahl" jeweils neu eingelesen wird ?

                              Homoran paul53 2 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @Wolf-B last edited by

                                @wolf-b sagte in Homematic Systemvariablen Problem:

                                Habe nun ein zweites Fenster hinzugefügt - u

                                wo?
                                der Trigger bezieht sich nur auf das OGEDVZi.

                                das Skript arbeitet nur wenn sich dessen Zustand ändert

                                W 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Wolf-B last edited by paul53

                                  @wolf-b sagte: Habe nun ein zweites Fenster hinzugefügt

                                  Behandle alle Fenster des OG in einem Skript. Dann genügt es, die Fensterzahl nur bei Skriptstart einzulesen.

                                  Blockly_temp.JPG

                                  Was für ein DP ist "OG_EDVZi_Fenster_offen"? Wozu wird er benötigt?

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    Wolf-B @Homoran last edited by

                                    @homoran sagte in Homematic Systemvariablen Problem:

                                    das Skript arbeitet nur wenn sich dessen Zustand ändert

                                    Das wars - die erste Zeile stand über dem Trigger, wurde also nicht mit aktualisiert. Ich habe diese Zeile nun mit in den Trigger genommen und jetzt klappt das.

                                    Das Blockly sieht jetzt so aus:
                                    iobroker 2023-11-19 13-34-13.png

                                    Alle Fenster in einem Script ? Dann bräuchte ich für jedes Fenster einen solchen Triggerblock, so, als wenn ich für jedes Fenster einen eigenes Script hätte ?

                                    paul53 Homoran 2 Replies Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Wolf-B last edited by paul53

                                      @wolf-b sagte: Dann bräuchte ich für jedes Fenster einen solchen Triggerblock, so, als wenn ich für jedes Fenster einen eigenes Script hätte ?

                                      Ja, wenn auch noch der zusätzliche DP "OG_EDVZi_Fenster_offen" bedient werden soll. Andernfalls würde ein Mehrfachtrigger genügen.

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @Wolf-B last edited by

                                        @wolf-b sagte in Homematic Systemvariablen Problem:

                                        für jedes Fenster einen solchen Triggerblock,

                                        nimm den Trigger mit Zahnrad, da kannst du mehrere IDs angeben.
                                        Der Nachteil ist, dass dann der Wert-Baustein nicht geht

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

                                          @homoran sagte: Der Nachteil ist, dass dann der Wert-Baustein nicht geht

                                          Zum Zählen genügt der Wert-Block. Beispiel mit 2 Fenstern:

                                          Blockly_temp.JPG

                                          W 1 Reply Last reply Reply Quote 1
                                          • W
                                            Wolf-B @paul53 last edited by

                                            @paul53
                                            Ich denke, es ist für mich besser und übersichtlicher, wenn ich für jedes Fenster ein eigenes Script mache.
                                            Es sei denn, dass das dann das System überfordert ?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            787
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            23
                                            768
                                            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