Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Blockly - Fensterdrehgriff auswerten?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly - Fensterdrehgriff auswerten?

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

      ich glaube ich verzweifle langsam an Blockly … :shock:

      Ich würde gerne mehrere HM Fensterdrehgriffe auswerten und wenn alle 0 also closed sind eine Systemvariable setzen.

      Diese haben als State 3 Zustände : 0 = Closed / 1 = tilted / 2 = Open

      Ich finde absolut keinen Ansatz mit Blockly, wie ich diese 3 Stati verarbeiten kann….

      Klar, ich kann alle auf CLOSED prüfen, aber ich würde auch auf die TILTED reagieren können.

      Ich hätte nicht gedacht, daß ich mit Blockly so ein Brett vor dem Kopf kriegen kann, in HM selbst ist das in 2 Minuten getan...

      Hätte da jemand ein leicht verständliches Beispiel für mich?

      Grüße

      Tom

      EDIT :

      was noch unglaublich irritiert ist die Farbmarkierung neben LOGIK. Dieser Balken ist LILA/ROT und die Blöcke selbst sind dann BLAU....

      Alle anderen Farben passen.... Ist dass so gewollt und warum?

      1 Reply Last reply Reply Quote 0
      • rantanplan
        rantanplan last edited by

        @TomT:

        was noch unglaublich irritiert ist die Farbmarkierung neben LOGIK. Dieser Balken ist LILA/ROT und die Blöcke selbst sind dann BLAU….

        Alle anderen Farben passen.... Ist dass so gewollt und warum? `

        Also das hat mich nie irritiert. :lol:

        Wenn Du auf gekippt und offen reagieren willst: Fall Status > 0 mache ….

        Grüße

        1 Reply Last reply Reply Quote 0
        • TomT
          TomT last edited by

          3351_blockly01.jpg

          Das wäre für ein Fenster der Block der funktioniert…

          Gibt es da noch ne elegantere Lösung?

          Ich schrieb ja bereits mehrere Fenstergriffe....

          Also etwa so :

          WENN

          Fenster1 = AUF

          oder

          Fenster2 = AUF

          oder

          ....

          DANN

          SV_Fenster = AUF

          SONST WENN

          Fenster1 = GEKIPPT

          oder

          Fenster2 = GEKIPPT

          oder

          ....

          DANN

          SV_Fenster = GEKIPPT

          SONST

          SV_Fenster = ZU

          1 Reply Last reply Reply Quote 0
          • TomT
            TomT last edited by

            Habe jetzt auch mal nach oben geposteten Bild alle Erdgeschossfenster zusammengesetzt.

            3351_blockly02.jpg

            3351_blockly03.jpg

            usw.

            So meine ich sollte eigentlich, wenn irgendein fenster geöffnet wird, die SV_FensterEG auf 1 gesetzt werden.

            Passiert aber nicht….

            Die SV bleibt auf 0, egal was ich auch mache...

            So ganz langsam steigt mein Frustationslevel mit dem ioBroker. :oops:

            Ich hätte echt nicht damit gerechnet, daß der Umstieg von HM und Mediola so zeitintensiv und frustrierend ist.

            Bin schon am überlegen den OPI zu verkaufen, ioBroker zu löschen und bei HM und Mediola zu bleiben.

            Grüße

            Tom

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              2 bemerkungen:

              1: warum so kompliziert mit so vielen abfragen ? Du kannst auch einfach eine IF abfragen machen und darin oder einbauen, also

              wen fenster 1 = auf oder fenster 2 ist auf oder… usw, und dan sonst ....

              2: deine logic stimm nicht, due benutzt uerball if abragen also wird wen dein letztes fenster zu is wird der status immer auf 0 springen

              3: du benutzt einen mathe block fuer den wert 0/1, probier mal tekst. Muss das eigentlich 0/1 sein oder true/false ?

              Wen du mal einen export von deinem blockly machst koennen wir die helfen und dein beispiel umbauen. Mach mal bitte export dan bau ich es dir um das es passt als beispiel 🙂

              ~Dutch

              PS:
              ` > So ganz langsam steigt mein Frustationslevel mit dem ioBroker. :oops:

              Ich hätte echt nicht damit gerechnet, daß der Umstieg von HM und Mediola so zeitintensiv und frustrierend ist. `

              so hier und da ist die logic anders als man gewoenst ist das ist eine sachen von probieren und umstellen, bei mir war es genau andersrumund haben mich die programme/moeglichkeiten mit HM einfach enorm irritiert und mediola hab ich nach 3 tagen rausgeschmissen 🙂

              1 Reply Last reply Reply Quote 0
              • rantanplan
                rantanplan last edited by

                @TomT:

                Ich schrieb ja bereits mehrere Fenstergriffe….

                Also etwa so :

                WENN

                Fenster1 = AUF

                oder

                Fenster2 = AUF

                oder

                ....

                DANN

                SV_Fenster = AUF

                SONST WENN

                Fenster1 = GEKIPPT

                oder

                Fenster2 = GEKIPPT

                oder

                ....

                DANN

                SV_Fenster = GEKIPPT

                SONST

                SV_Fenster = ZU `

                Dein Bildbeispiel kann nicht funktionieren weil "Baustein aktualisiere" und nicht "steuere"

                Zudem ist es sinnfrei einen Zustand 1 zu 1 in einer Variablen abzubilden.

                Auch Dein Textbeispiel macht keinen Sinn.

                Wenn ein Fenster offen ist und eines ist gekippt, "gewinnt" immer das gekippte Fenster.

                Was möchtest Du?

                Wissen ob alle Fenster zu sind?

                Wissen wie viele offen sind?

                Wissen wie viele gekippt sind?

                Wissen wie viele gekippt und wie viele offen sind?

                Usw. usw…..

                Grüße

                1 Reply Last reply Reply Quote 0
                • rantanplan
                  rantanplan last edited by

                  @TomT:

                  So ganz langsam steigt mein Frustationslevel mit dem ioBroker. :oops:

                  Ich hätte echt nicht damit gerechnet, daß der Umstieg von HM und Mediola so zeitintensiv und frustrierend ist.

                  Bin schon am überlegen den OPI zu verkaufen, ioBroker zu löschen und bei HM und Mediola zu bleiben. `
                  Die Schuld nicht immer bei anderen suchen 😉
                  @TomT:

                  Die SV bleibt auf 0, egal was ich auch mache… `
                  Falscher Baustein. "steuere" NICHT "aktualisiere"!!!

                  Hast Du schon mal irgendwelche Blockly-Beiträge gelesen?

                  Den Hinweis habe ich schon gefühlte 1000mal geschrieben.

                  Wie Dutchman schrieb, stell mal Dein Blockly als Export bereit.

                  Muss dann nur mit Dutchman klären ob er oder ich dran bastel 😄

                  Grüße

                  1 Reply Last reply Reply Quote 0
                  • TomT
                    TomT last edited by

                    Moin 😄

                    Danke für eure Hilfe Dutchman und Rantanplan 😉

                    Ich habe glaube ich gestern zu lange am Broker gesessen und einen Knoten ins Gehirn bekommen….

                    Dutchman hat Recht, die SV wird immer 0 sein, wenn das letzte Fenster auf 0 ist.

                    Wieder mal auf den klassischen Fehler reingefallen :?

                    0,1, und 2 sind die Rückgabewerte des Datenpunktes für Fensterdrehgriffe, wahr / unwahr die des normalen TFK.

                    Ich werde mal den Blockly versuchen umzubauen mit einer klassischen Oder Verknüpfung, wenn ich die denn mal finde 🙂

                    Wenn es dann nicht klappt stell ich den Export mal hier rein.

                    > Wenn ein Fenster offen ist und eines ist gekippt, "gewinnt" immer das gekippte Fenster.
                    Das ist so beabsichtigt. Nur wenn alle Fenster zu sind soll die SV auf 0 stehen, sonst soll sie immer 1 sein.

                    > Dein Bildbeispiel kann nicht funktionieren weil "Baustein aktualisiere" und nicht "steuere"
                    Dann habe ich den Unterschied zwischen den beiden nicht verstanden.

                    Steuere ist doch das gleiche wie aktualisiere, nur das bei steuere noch der Auslöseevent mit gesendet wird, oder?

                    Ich will aber nix auslösen, sondern nur den SV Wert ändern.

                    ` > Was möchtest Du?

                    Wissen ob alle Fenster zu sind? `
                    Ja, genau das ist es 🙂

                    > Die Schuld nicht immer bei anderen suchen ;)
                    Hab ich das wirklich? :mrgreen:

                    ` > Hast Du schon mal irgendwelche Blockly-Beiträge gelesen?

                    Den Hinweis habe ich schon gefühlte 1000mal geschrieben. `
                    Ja, ich habe schon versucht aus diversen Blockly Beiträgen schlau zu werden, aber das Ergebnis siehst du ja oben 😉

                    Grüße

                    Tom

                    1 Reply Last reply Reply Quote 0
                    • TomT
                      TomT last edited by

                      Moin,

                      sodele, Rückmeldung zu oben abgebildetem Blockly.

                      Nachdem ich einiges an Zeit in Blockly invenstiert habe, und die ineinander geschachtelten ODER Abfragen mir persönlich viel zu unübersichtlich gewesen sind, habe ich es mit einem Javascript gelöst. 😄

                      on(
                          {id: new RegExp('hm-rpc\\.0\\.LEQ0631xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.LEQ0631xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.LEQ1467xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.LEQ0501xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.LEQ0504xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.LEQ0505xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.LEQ1467xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.MEQ0031xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.MEQ0031xxx\\.1\\.STATE' + "|" + 
                          'hm-rpc\\.0\\.LEQ1467xxx\\.1\\.STATE'), change: "ne"}, 
                      
                          function (obj) 
                              {if (getState("hm-rpc.0.LEQ0631xxx.1.STATE").val !== 0 || 
                                  getState("hm-rpc.0.LEQ0631xxx.1.STATE").val !== 0 || 
                                  getState("hm-rpc.0.LEQ1467xxx.1.STATE").val !== false || 
                                  getState("hm-rpc.0.LEQ0501xxx.1.STATE").val !== false || 
                                  getState("hm-rpc.0.LEQ0504xxx.1.STATE").val !== false || 
                                  getState("hm-rpc.0.LEQ0505xxx.1.STATE").val !== false || 
                                  getState("hm-rpc.0.LEQ1467xxx.1.STATE").val !== false || 
                                  getState("hm-rpc.0.LEQ1467xxx.1.STATE").val !== false || 
                                  getState("hm-rpc.0.MEQ0031xxx.1.STATE").val !== false || 
                                  getState("hm-rpc.0.MEQ0031xxx.1.STATE").val !== false) 
                                  {
                                  setState("Systemvariablen.0.SV_FensterEG", 1);
                                  } 
                              else {setState("Systemvariablen.0.SV_FensterEG", 0);
                                  }
                              }
                      );
                      
                      

                      Klappt genau so, wie ich es mir vorgestellt habe.

                      Nur wenn alle Fenster zu sind, dann SV = 0 sonst SV = 1.

                      Damit kann ich zum Start mal arbeiten….

                      Ich danle euch für den Input 😉

                      Grüße

                      Tom

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      742
                      Online

                      32.0k
                      Users

                      80.5k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      1062
                      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