Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. [gelöst] Zigbee Ikea Styrbar 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

    [gelöst] Zigbee Ikea Styrbar Problem

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

      Systemdata Bitte Ausfüllen
      Hardwaresystem: NUC / VM
      Arbeitsspeicher: 4,5 GB
      Festplattenart: SSD
      Betriebssystem: Ubuntu
      Node-Version: 12.22.8
      Nodejs-Version: 12.22.8
      NPM-Version: 6.14.15
      Installationsart: Manuell
      Image genutzt: Nein
      Ort/Name der Imagedatei:

      Hallo zusammen, ich habe heute zwei Ikea Styrbar Ferbedienungen angelernt und wollte jetzt die Tasten belegen.

      c6b6ddff-1b38-477b-9951-cfebacdf49a2-grafik.png

      On (Druck in der Mitte) soll die Steckdose vom TV umschalten (funktioniert), die Tasten für Brightness sollen die Deckenlampe umschalten.

      Leider gibt es Probleme bei den Brightness- und Richtungstasen.

      Zigbee Objekte


      d457aec9-3c91-44a7-9819-c376a05e0bef-grafik.png

      Blockly Skript:


      802f6f71-3a8f-451a-aa2e-63107d538e83-grafik.png

      Error Log

      javascript.0	2022-01-20 10:45:06.592	warn	at processImmediate (internal/timers.js:461:21)
      javascript.0	2022-01-20 10:45:06.592	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5708:41)
      javascript.0	2022-01-20 10:45:06.592	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
      javascript.0	2022-01-20 10:45:06.592	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
      javascript.0	2022-01-20 10:45:06.592	warn	at Object.<anonymous> (script.js.smarthome.sontiges.fernbedienungen:22:7)
      javascript.0	2022-01-20 10:45:06.574	warn	getState "zigbee.0.0c4314fffedbdbf0.brightness_move_up" not found (3)
      

      Hat das Anlernen nicht korrekt funktioniert ?

      Kennt jemand das Problem und hat eine Lösung?

      amg_666 1 Reply Last reply Reply Quote 0
      • amg_666
        amg_666 @Kuddel last edited by

        @kuddel Löst das SKirpt denn aus?
        ich würde mal im admin auf die Objekte des Schalters gehen (dein 1. Screenshot) und dann mal auf pfeil rechts/links bei der Fernbedienung drücken. Ändert sich dann der Boolean Wert von brightness_move_down bzw up?

        Wenn ja, dann stimmt was nicht mit der Anweisung LS_SW_Deckenlampe.STATE

        K 1 Reply Last reply Reply Quote 0
        • K
          Kuddel @amg_666 last edited by

          @amg_666 weder bei Brightness_up noch Brightness_down tut sich was.

          K 1 Reply Last reply Reply Quote 0
          • K
            Kuddel @Kuddel last edited by

            Kurzes Update:

            Die beiden Buttons "brightness_move_down" und "brightness_move_up" reagieren nur auf Longpress.

            Man muss sie also gedrückt halten.

            H 1 Reply Last reply Reply Quote 0
            • H
              holgerwolf @Kuddel last edited by

              @kuddel Das mit Brightness funktioniert anders.
              Up und Down sind nur kurz (solange gedrückt) "true". Danach toggeln die sofort auf false und "Brighness Stop" geht kurz auf "true". Somit bekommt man gut hell-dunkel bzw laut-leise hin.
              Du musst in deinem Script einfach auf die Änderung nach true triggern. So habe ich es umgesetzt:

              f2104853-e935-4cb7-81b3-aab8da283e39-grafik.png

              K C 3 Replies Last reply Reply Quote 0
              • K
                Kuddel @holgerwolf last edited by

                @holgerwolf das die Statusämderung nur kurz zu sehen ist, weiß ich.

                Leider tut sich bei kurzem Tastendruck gar nichts. Der Status wird nicht geändert.

                Nur bei langem Tastendruck

                H 1 Reply Last reply Reply Quote 0
                • H
                  holgerwolf @Kuddel last edited by

                  @kuddel Schau mal in On und Off:

                  zigbee.0.xxxxx.off bzw zigbee.0.xxxx.on

                  Die sind für den kurzen Druck zuständig:

                  29fa2c2d-790f-4568-80a4-2b1bdf5037e9-grafik.png

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kuddel @holgerwolf last edited by

                    @holgerwolf ja die Tasten funktionieren auch wie gewünscht (siehe erster Post)

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      holgerwolf @Kuddel last edited by

                      @kuddel So stehts in der Anleitung:

                      8315c60e-2a1a-4100-8931-04fba36e9614-grafik.png

                      Da gibts keine Mitte. Nur kurz oben und kurz unten für aus und ein.

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        Kuddel @holgerwolf last edited by

                        @holgerwolf oh okay. Dann muss ich nochmal genauer testen.

                        Bei der Vorgänger Version gab es Mitte noch

                        1 Reply Last reply Reply Quote 0
                        • C
                          chris299 @holgerwolf last edited by

                          @holgerwolf vielen Dank für das Teilen deines Steuerungsskripts.
                          Ich habe das bei mir etwas anders gelöst und frage mich, ob ich was übersehen habe, bzw. warum deins so viel komplizierter ist.
                          Warum benutzt dieses "größer als" im Trigger, und fängst es danach wieder per "falls" ab?
                          Warum die zusätzliche Verzögerung beim Setzen?
                          Wie hast Du die Pfeil-Tasten angebunden?

                          Hier mal meins, was bisher auch einwandfrei funktioniert:
                          24530c5d-bbf0-417d-b6f6-e579fc0831f4-grafik.png

                          1 Reply Last reply Reply Quote 0
                          • C
                            chris299 @holgerwolf last edited by

                            @holgerwolf nachdem bei mir die zyklischen Ausführungen ein paar mal nicht angehalten haben (vermutlich ging das "stop" im zigbee netz unter) habe ich das zusätzlich innerhalb der Ausführung auch nochmal auf "Anhalten" geprüft:
                            41f4e928-8dfd-4c93-b128-54497d121efa-grafik.png

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

                              @chris299 Ich würde Dir empfehlen die Konstruktion aus Timeout und alle 500 ms hoch / runter dimmen durch ein Konstrukt nach dem folgenden Muster zu ersetzen. (Muster im Pseudocode, da ich keinen Zugang zu meinem ioBroker habe)

                              Probier es mal aus - es ist viel eleganter:

                              • Trigger auf den Styrbar Datenpunkt up, grösser als vorher.
                              • Darin: Setze Datenpunkt "brightness_move" to 25
                              • Trigger auf den Styrbar Datenpunkt down, grösser als vorher.
                              • Darin: Setze Datenpunkt "brightness_move" to -25
                              • Trigger auf den Styrbar Datenpunkt brightness_stop, grösser als vorher.
                              • Darin: Setze Datenpunkt "brightness_move" to 0

                              Das gleiche geht für die Farbtemperatur mit dem Datenpunkt "colortemp_move".

                              ggf. musst du die Lampe in die Ausschlussliste aufnehmen um den Datenpunkt zu bekommen falls Du diesen noch nicht hast.

                              A.

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                chris299 @Asgothian last edited by

                                @asgothian danke für den Tipp. Aber warum "grösser als vorher" und nicht "wahr" ?

                                1 Reply Last reply Reply Quote 0
                                • H
                                  holgerwolf last edited by holgerwolf

                                  @chris299 Du willst ja nur beim Wechsel von False auf True triggern. Prüfung auf True würde dann ja immer ziehen.

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    chris299 @holgerwolf last edited by chris299

                                    @holgerwolf evtl. habe ich dann das Konzept der Trigger noch nicht verstanden. Bisher dachte ich, dass Trigger sowieso nur bei Änderungen des Objekts ausgelöst werden. (die verfügbaren Optionen scheinen das zu untermauern)
                                    80415b2b-efc8-4fac-ac74-d08d87095044-grafik.png
                                    Aber wenn ich Euch richtig verstehe, dann wird auch bei einer "Änderung" von "wahr" auf "wahr" ausgelöst, richtig?
                                    wenn ja, was genau verursacht denn "Änderungen" von "wahr" auf "wahr"? der Wechsel von unbestätigt auf bestätigt?

                                    Bisher hatte ich nicht den Eindruck, dass mein Skript zu oft auslöst... ☺

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

                                      @chris299 sagte in [gelöst] Zigbee Ikea Styrbar Problem:

                                      @holgerwolf evtl. habe ich dann das Konzept der Trigger noch nicht verstanden. Bisher dachte ich, dass Trigger sowieso nur bei Änderungen des Objekts ausgelöst werden. (die verfügbaren Optionen scheinen das zu untermauern)

                                      Nein. Die Trigger werden aktiv wenn das Objekt 'beschrieben' wird - das kann eine Änderung oder eine Aktualisierung mit dem gleichen Wert sein.
                                      Um die verschiedenen Optionen abzufangen gibt es die Einstellungen 'ist wahr', 'ist falsch' und so weiter.
                                      Der Punkt 'auslösung durch hat mit dem "acknowledge" status zu tun. Um den zu erklären muss ich ausholen:

                                      Wenn der ioBroker Hardware steuern will macht es sinn wenn die Software erkennt welche Änderungen von Werten eines Datenpunktes als "Aufforderung zum Schalten" interpretiert werden - im Gegensatz zu den Meldungen das ein Gerät seinen Status geändert hat. Dazu gibt es das "Acknowledge".
                                      Steuerbefehle werden immer ohne Acknowledge (also als unbestätigte Änderung) gesetzt. In Blockly gibt es dazu beim SetState die Auswahl "steuere" (ohne acknowledge als unbestätigte Änderung) und "aktualisiere" (mit acknowledge, als bestätigte Änderung). Wenn der Adapter die information bekommen hat das der Steuerbefehl ausgeführt wurde aktualisiert dieser überlicherweise den Datenpunkt (mit acknowledge).

                                      im Admin 5 wird dieses farblich dargestellt. Wertänderungen ohne acknowledge werden in rot dargestellt, Wertänderungen mit acknowledge in grün.

                                      80415b2b-efc8-4fac-ac74-d08d87095044-grafik.png
                                      Aber wenn ich Euch richtig verstehe, dann wird auch bei einer "Änderung" von "wahr" auf "wahr" ausgelöst, richtig?
                                      wenn ja, was genau verursacht denn "Änderungen" von "wahr" auf "wahr"? der Wechsel von unbestätigt auf bestätigt?

                                      Bisher hatte ich nicht den Eindruck, dass mein Skript zu oft auslöst... ☺

                                      Fun fact: Bei JS (und vielen anderen Programmiersprachen) gilt: true > false.

                                      Damit löst ein Trigger auf "ist grösser als" nur aus wenn sich der Wert von false auf true ändert.

                                      Ein Trigger auf "true" wird immer dann aktiv wenn der Datenpunkt mit dem Wert true beschrieben wird (also bei Änderung UND Aktualisierung)

                                      A.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      556
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

                                      5
                                      17
                                      2099
                                      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