Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Z-Wave Fibaro Dimmer 2 kein "Binary Switch"

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    7
    1
    65

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

Z-Wave Fibaro Dimmer 2 kein "Binary Switch"

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
23 Beiträge 8 Kommentatoren 2.4k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Matten
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe zwei Dimmer in meinen Z-Wave Adapter includiert, einen Qubino und einen Fibaro Dimmer 2. Beim Fibaro Dimmer wird allerdings

    kein "Binary Switch" angelegt. Damit ist ein einfaches Ein-/Ausschalten über vis oder Alexa nicht möglich sondern wäre nur

    über ein Script machbar. Kennt jemand das Problem?

    Der Dimmer wurde von mir auch wieder excludiert und nochmals eingebunden um einen Fehler hier zu vermeiden.

    Vielen Dank!

    Hardware: NUC 386i, Proxmox: als VM ioBroker, HomeMatic, Hue(Zigbee), UnifiAC, Visualisierung: 24 Zoll Touchscreen Portrait Modus

    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #2

      Er ist ja auch kein Binary Switch, sondern ein Multilevel Switch. Wenn du Level_1 in Alexa einbindest funktioniert das Ein und Ausschalten auch.

      Lediglich die Prozentangaben sind aufgrund des ZWave-Wertebereichs etwas dämlich. Es geht nur 0 (aus) bis 38% (volle Helligkeit).

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Matten
        schrieb am zuletzt editiert von
        #3

        @AlCalzone:

        Danke für Deine Antwort. Ich habe allerdings beim Qubino Dimmer neben dem Multilevel-Switch auch einen Binary Switch, womit das Ein- und Ausschalten unkompliziert ist…

        Hardware: NUC 386i, Proxmox: als VM ioBroker, HomeMatic, Hue(Zigbee), UnifiAC, Visualisierung: 24 Zoll Touchscreen Portrait Modus

        1 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #4

          Multilevel ist prinzipiell abwärtskompatibel zu Binary und verwendet intern sogar die gleichen Werte zur Kommunikation. 0 (min) = aus, 254 (max) = an.

          Wenn du diesen in Alexa einbindest, muss nichts weiter gemacht werden, da bei "an" automatisch der höchstmögliche Wert geschickt wird.

          Ich habe auch zwei Fibaro Dimmer im Einsatz und die machen im Gegensatz zu dem Switches keinen Murks und lassen sich ohne weiteres per Alexa steuern.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            CrazyCreator
            schrieb am zuletzt editiert von
            #5

            @AlCalzone:

            Multilevel ist prinzipiell abwärtskompatibel zu Binary und verwendet intern sogar die gleichen Werte zur Kommunikation. 0 (min) = aus, 254 (max) = an.

            Wenn du diesen in Alexa einbindest, muss nichts weiter gemacht werden, da bei "an" automatisch der höchstmögliche Wert geschickt wird.

            Ich habe auch zwei Fibaro Dimmer im Einsatz und die machen im Gegensatz zu dem Switches keinen Murks und lassen sich ohne weiteres per Alexa steuern. `

            Das klingt irgendwie nach der Lösung meines Problems, welchen Datenpunkt schaltest du denn im ioBroker?

            Ich möchte per yahka an/aus und natürlich das dimmen realisieren?

            9744_bildschirmfoto_2018-12-28_um_01.45.04.png

            1 Antwort Letzte Antwort
            0
            • ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #6

              Ich nutze zwar kein Alexa, aber ich schalte den Dimmer über den State "Level_1".

              1 Antwort Letzte Antwort
              0
              • AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #7

                Exakt, das ist Level_1

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  CrazyCreator
                  schrieb am zuletzt editiert von
                  #8

                  Das Problem:

                  Wenn ich in Yahka einen LightBulb erstelle und dort bei ON auf Level_1 zeige, passiert im Level_1 gar nichts.

                  Die Lampe geht nur an und aus wenn ich die Datenpunkte On_1 und Off_1 anspreche. Leider müssen diese wiederum immer genau den entgegengesetzten Wert haben, damit die Lampe auch an und aus geht.

                  Ich habe mir also per Blockly eine kleine Krücke gebaut:
                  9744_bildschirmfoto_2018-12-28_um_16.15.26.png

                  So weit so gut. Leider aber wird beim ausschalten der Dimmerwert in Level_1 nicht auf 0 sondern auf 1 gesetzt. Die Lampe leuchtet also noch. Des weiteren wird der aktuelle Dimmerwert beim ausschalten nicht gespeichert.

                  Ich will also nun beim ausschalten den Wert von Level_1 auf 0 setzen und ihn vorher speichern, damit ich ihn beim einschalten wieder reinschreiben kann.

                  Das klingt irgendwie total simpel, aber ich bekomme es nicht gebacken. So wie hier:
                  9744_bildschirmfoto_2018-12-28_um_16.54.16.png
                  funktioniert es nicht.

                  1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    CrazyCreator
                    schrieb am zuletzt editiert von
                    #9

                    Manchmal haben kleine Änderungen eine große Wirkung.

                    So wie das Blockly jetzt aussieht, bekomme in Level_1 beim ausschalten schonmal runter auf 0

                    9744_bildschirmfoto_2018-12-28_um_17.07.49.png

                    Dummerweise funzt das mit dem speichern des Dimmlevels nur bedingt, was aber wohl daran liegt:
                    @AlCalzone:

                    … Lediglich die Prozentangaben sind aufgrund des ZWave-Wertebereichs etwas dämlich. Es geht nur 0 (aus) bis 38% (volle Helligkeit). `

                    Gibt es dafür einen Lösungsansatz? Denn es ist schon irgendwie blöd das in der Home.app jetzt 39% angezeigt werden, aber in ioBroker 99%

                    /EDIT

                    Das mit den %-Angaben funktioniert jetzt auch :) … Im Yahka Adapter war bei Brightness -> Umwandlungsfunktion level255 eingestellt.

                    Das rausgenommen und auch in der Home.app kann man jetzt bis 99% aufdrehen.

                    1 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      CrazyCreator
                      schrieb am zuletzt editiert von
                      #10

                      So … Und schon haben wir das nächste banale Problem:

                      In der App und in ioBroker funktioniert das schalten der Lampe jetzt tadellos.

                      ABER, wenn man das Licht jetzt am echten Schalter schaltet ändert sich dummerweise nur der Datenpunkt: Level_1

                      also das Dimmlevel. Das Wiederrum bedeutet das in der App und in ioBroker der Status der Lampe auf AUS bleibt :(

                      Muss ich mein Script jetzt etwa noch mehr erweitern, so das die Werte von On_1 und Off_1 angepasst werden sobald sich der Wert von Level_1 ändert?

                      Das das funktionieren würde, steht außer frage, aber das kann doch nicht der Plan sein, so ein "HeckMeck" zu betreiben nur um einen Switch schalten zu können. Verdammt nochmal, wie mich das gerade annervt.

                      Habt ihr eine bessere, andere Lösung parat?

                      1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        On/off sind Schalter. Du kannst den Status nur über level1 beobachten. 0 ist aus. Alles andere ist an.

                        Gesendet von unterwegs

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                        1 Antwort Letzte Antwort
                        0
                        • C Offline
                          C Offline
                          CrazyCreator
                          schrieb am zuletzt editiert von
                          #12

                          Naja … Das ist ja meine Rede :)

                          Bin schon bei der TryAndError Entwicklung, aber irgendwie läuft mir das ganze Log voll wenn ich den Status von Level_1 trigger.

                          Weil es ja jedesmal losrennt wenn sich der wert ändert.

                          Ich bin da ja leider kein Profi. Die Logik ist mir klar, aber das umsetzen in Codezeilen läuft nicht so.

                          1 Antwort Letzte Antwort
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            schrieb am zuletzt editiert von
                            #13

                            Dann zeig mal was du hast

                            Gesendet von unterwegs

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            1 Antwort Letzte Antwort
                            0
                            • C Offline
                              C Offline
                              CrazyCreator
                              schrieb am zuletzt editiert von
                              #14

                              Du meinst den Code oder die Logik?

                              Der Code:

                              Den aktuellen Code siehst du ja ein paar Post weiter oben. Da habe ich noch nichts geändert.

                              Aktuell bin ich auf der Suche nach einem ordentlichen Triggerwert/Einstellung.

                              Denn den LEVEL_1 versorgen drei verschiedene Quellen mit Werten, was dann wiederum zu einer wilden Triggerorgie führt.

                              Schlussendlich, meist nach 2-3 sec. legt die Quelle: system.adapter.zwave.0 dann den Wert von Level_1 fest, aber bis dahin funkt es wild.

                              Problem wird dann: Wenn ich da jetzt mit einem Script drauf reagiere, dann switche ich zwar erstmal nur den On_1 und Off_1 Wert, aber das wiederum führt ja dazu das der Level_1 Wert auch geändert wird und schon befinden wir uns in sowas wie einer Schleife und die beiden Scripte Triggern sich gegenseitig "zu Tode".

                              Die Logik:

                              Schalten per HomeKit.app:

                              • Der Datenpunkt On_1 wir auf true oder false gesetzt:

                              Wenn On_1 = false -> Dann: Off_1 = true UND LEVEL_1 = 0 und den Wert von Level_1 vorher speichern.

                              Wenn On_1 = true -> Dann: Off_1 = false und den vorher gespeicherten Wert von Level_1 in Level_1 schreiben.

                              Das funktioniert ja schonmal soweit, mit diesem Knüller von Code:
                              9744_bildschirmfoto_2018-12-30_um_23.09.32.png

                              Schalten per echtem Schalter:

                              • Das Schalten per Schalter, ändert den Wert von Level_1

                              Wenn der Wert von LEVEL_1 größer 0 WIRD UND On_1 = false WAR ->Dann: DANN On_1 = True und Off_1 = false

                              Anmerkungen:

                              Das "EchteSchalterCodeTeil" darf sich dann aber nicht mit den oberen Codezeilen kreuzen, denn dort lege ich ja fest das der gespeicherte Level_1 Wert geschrieben werden soll. Der Schalter will aber seinen intern gespeicherten Wert schreiben.

                              Was mir ja schon bei der "Entwicklung" des nun laufenden Code's aufgefallen ist, ich muss Level_1 mit Verzögerung füllen, sonst überschreibt mir die Quelle: system.adapter.zwave.0 den Wert, woher auch immer der kommt. Denn das passiert auch wenn den echten Schalter keiner angefasst hat. Das war ja quasi beim schreiben der ersten Zeilen schon mein Problem.

                              Wenn der Schalter in der App erst ein paar Sekunden später auf eine Änderung des echten Schalters reagiert, ist das auch kein Problem. Denn alle folgenden Automatisierungen würden ja, wenn dann, direkt den Datenpunkt/Schalter On_1 schalten und die Scripte dann darauf reagieren.

                              Ja und das war es ja eigentlich schon.

                              Vielen Dank schonmal

                              1 Antwort Letzte Antwort
                              0
                              • AlCalzoneA Offline
                                AlCalzoneA Offline
                                AlCalzone
                                Developer
                                schrieb am zuletzt editiert von
                                #15

                                Ich verstehe noch nicht ganz was du damit vor hast. On und Off sind nur Schalter, auf die sollte wie ich schon schrieb nicht getriggert werden. Und schon gar nicht so wie du es machst. true heißt in ZWave gedrückt, false heißt losgelassen.

                                Triggere auf Level_1, um herauszufinden, ob die Lampe an (>0) oder aus (=0) ist.

                                Schalte On auf true, um die Lampe anzuschalten. Die Auswirkung siehst du nach kurzer Zeit am Level_1-DP

                                Schalte Off auf true, um die Lampe auszuschalten. Die Auswirkung siehst du nach kurzer Zeit am Level_1-DP

                                Im Prinzip brauchst du weder On noch Off. Setzte Level_1 auf 0, um auszuschalten. Um mit dem letzten Wert wieder anzuschalten, setze es auf 255.

                                Edit: ich habe gerade mal probiert. On/Off funktioniert bei mir auch nicht sauber. Wenn du einfach mit Level_1 arbeitest und 0 zum Ausschalten, 255 zum Anschalten nutzt, wird auch der Dimmer-Wert gespeichert

                                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                1 Antwort Letzte Antwort
                                0
                                • C Offline
                                  C Offline
                                  CrazyCreator
                                  schrieb am zuletzt editiert von
                                  #16

                                  So … Erst mal an alle: Gesundes neues Jahr :)

                                  Hat ein bisschen gedauert, aber die Feiertage fordern ihren Tribut :)

                                  Also ich habe jetzt zwei verschiedene Scripte laufen.

                                  Das erste Script ist für den virtuellen Schaltvorgang durch Yahka bzw. HomeKit und das andere für den Schaltvorgang durch den FibaroDimmerSwitch

                                  Wie schonmal geschrieben, habe ich mir innerhalb des zwaveDevices einen Datenpunkt erstellt, der durch yahka auf true/false geschaltet wird.

                                  @https://forum.iobroker.net/memberlist.php?mode=viewprofile&u=1097

                                  Falls du gemeint hast, ich soll durch yahka schon direkt 0 und 255 schalten, dann bräuchte ich da noch einen Denkanstoß … Denn ich wüsste nicht wie ich das realisieren soll.

                                  Hier mal die beiden Blockly's und unten drunter jeweils das javasript:

                                  Das für HomeKit:
                                  9744_bildschirmfoto_2019-01-01_um_21.59.28.png

                                  var var_zahler;
                                  
                                  on({id: 'zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter', change: "ne"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter").val == false && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.zwave.0') {
                                      if (var_zahler == 100) {
                                        console.log('AnAusSchalter=false / Quelle=ZWAVE / var_zahler=100 -> LICHT WURDE EIGENTLICH ANGESCHALTET -> TUE NICHTS -> Setze var_zahler wieder auf 0');
                                        var_zahler = 0;
                                      } else {
                                        setStateDelayed("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1"/*Level_1*/, 0, 1000, false);
                                        console.log('AnAusSchalter=false / Quelle=ZWAVE / var_zahler=NICHT100 -> LICHT AUS => Level_1=0 UND var_zahler=0');
                                        var_zahler = 0;
                                      }
                                    } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter").val == true && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val > 0) {
                                      if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val == 100 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.yahka.0') {
                                        console.log('AnAusSchalter=true+Level_1>0+Level_1=100+Quelle=Yahka =>> Level_1=255');
                                        setStateDelayed("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1"/*Level_1*/, 255, 1100, false);
                                      } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val > 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.javascript.0') {
                                        console.log('AnAusSchalter=true+Level_1>0+Level_1>100+Quelle=JAVASCRIPT =>> Level_1=255 + var_zahler=100');
                                        var_zahler = 100;
                                        setStateDelayed("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1"/*Level_1*/, 255, 1100, false);
                                      } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val > 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.zwave.0') {
                                        console.log('AnAusSchalter=true+Level_1>0+Level_1=100+Quelle=ZWAVE =>> Level_1=255');
                                        setStateDelayed("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1"/*Level_1*/, 255, 1100, false);
                                      }
                                    }
                                  });
                                  
                                  

                                  Das für FibaroDimmerSwitch:
                                  9744_bildschirmfoto_2019-01-01_um_22.01.43.png

                                  var var_handy;
                                  
                                  on({id: 'zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1', change: "ne"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val > 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.javascript.0') {
                                      console.log('AnDurchHandy / LEVEL_1 > 0 / Quelle=JAVA');
                                      setState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter"/*AnAusSchalter*/, true);
                                    } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val > 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.zwave.0') {
                                      console.log('AnDurchSchalter / LEVEL_1 > 0 / Quelle=ZWAVE');
                                      setState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter"/*AnAusSchalter*/, true);
                                    } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val > 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.yahka.0') {
                                      setState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter"/*AnAusSchalter*/, true);
                                      console.log('AnDurchHandy 1.SCHRITT / LEVEL_ > 0 / Quelle=YAHKA');
                                      var_handy = true;
                                    } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val == 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.javascript.0') {
                                      console.log('AusDurchHandy / LEVEL_1=0 / Quelle=JAVASCRIPT');
                                      setState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter"/*AnAusSchalter*/, false);
                                    } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val == 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.zwave.0') {
                                      if (var_handy == true) {
                                        console.log('Level_1=0 / Quelle=ZWAVE / var_handy=true =>> AnAusSchalter->true UND var_handy=false');
                                        setState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter"/*AnAusSchalter*/, true);
                                        var_handy = false;
                                      } else if (var_handy == false) {
                                        console.log('Level_1=0 / Quelle=ZWAVE / var_handy=false =>> AnAusSchalter->false UND var_handy=true');
                                        setState("zwave.0.NODE14.SWITCH_MULTILEVEL.AnAusSchalter"/*AnAusSchalter*/, false);
                                        var_handy = true;
                                      }
                                    } else if (getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").val == 0 && getState("zwave.0.NODE14.SWITCH_MULTILEVEL.Level_1").from == 'system.adapter.yahka.0') {
                                      console.log('NICHT VERWENDETER WERT - DAS DÜRFTE EIGENTLICH NIE EINTRETEN');
                                    }
                                  });
                                  

                                  Ich "bastel" derweil mal noch ein bisschen weiter, vielleicht geht das ja alles noch irgendwie kürzer.

                                  G 1 Antwort Letzte Antwort
                                  0
                                  • AlCalzoneA Offline
                                    AlCalzoneA Offline
                                    AlCalzone
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #17

                                    Zwei Hinweise:

                                    Es geht sicher deutlich kürzer, wenn du die ganzen Log-Ausgaben abhängig von der Quelle nicht brauchst.

                                    Abgesehen davon solltest du vermeiden, eigene States in den Strukturen anderer Adapter anzulegen. Lege die lieber unter javascript.0 mit einem geeigneten Namen an.

                                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      CrazyCreator
                                      schrieb am zuletzt editiert von
                                      #18

                                      Ok … Danke für den Tip

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        danw
                                        schrieb am zuletzt editiert von
                                        #19

                                        @CrazyCreator:

                                        Falls du gelinst hast ich soll durch yahka schon direkt 0 und 255 schalten, dann bräuchte ich da noch einen Denkanstoß … Denn ich wüsste nicht wie ich das realisieren soll. `

                                        Nur im Bezug auf den Satz, weil ich den Rest nicht gelesen habe: Conversion Function level255 übersetzt 0-100 (von Apple) in 0-255 (nach ioBroker).

                                        It's not a Bug, it's a Feature

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          Dragondrummer71
                                          schrieb am zuletzt editiert von
                                          #20

                                          Hallo Zusammen,

                                          ich werde hier mal meine Erfahrungen bezüglich des "FIBARO System FGD212 Dimmer 2" posten, da ich jetzt über einige Tage mit Lesen, try and error eine Lösung zusammen gestrickt habe.

                                          Folgendes Szenario:

                                          Mit einem ZME_WALLC-S wollte ich mit den Tasten des Schalters bei kurzem Druck auf die Tasten die Lampe auf den zuletzt gedimmten Wert einschalten bzw. bei der anderen Taste den Timmer ausschalten.

                                          Bei langem Druck sollte der Dimmer langsam nach oben dimmen bis ich die Taste wieder loslasse - und das natürlich schön gleichmäßig :D . Bei der anderen Taste natürlich das gleiche nur nach unten.

                                          Da ich so etwas tatsächlich nirgends gefunden habe, hier meine Lösung mit Erklärung:
                                          18311_blockly-fibaro_system_fgd212_dimmer.png

                                          var Intervall, Intervall2;
                                          
                                          createState("Wandtaster-betätigt", function () {
                                            on({id: "zwave.0.NODE10.CLASSES91.Scene_Number_1"/*Scene Number*/, change: "ne"}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              if (getState("zwave.0.NODE10.CLASSES91.Scene_Number_1").val == 10) {
                                                setState("zwave.0.NODE8.SWITCH_MULTILEVEL.Level_1"/*Level*/, 0);
                                              } else if (getState("zwave.0.NODE10.CLASSES91.Scene_Number_1").val == 50) {
                                                setState("zwave.0.NODE8.SWITCH_MULTILEVEL.Level_1"/*Level*/, 255);
                                              } else if (getState("zwave.0.NODE10.CLASSES91.Scene_Number_1").val == 52) {
                                                setState("zwave.0.NODE8.SWITCH_MULTILEVEL.Inc_1"/*Inc*/, true);
                                                Intervall = setInterval(function () {
                                                  if (getState("zwave.0.NODE10.CLASSES91.Scene_KeyAttribute_1").val != 2) {
                                                    setState("zwave.0.NODE8.SWITCH_MULTILEVEL.Inc_1"/*Inc*/, false);
                                                    (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                                  }
                                                }, 500);
                                              } else if (getState("zwave.0.NODE10.CLASSES91.Scene_Number_1").val == 12) {
                                                setState("zwave.0.NODE8.SWITCH_MULTILEVEL.Dec_1"/*Dec*/, true);
                                                Intervall2 = setInterval(function () {
                                                  if (getState("zwave.0.NODE10.CLASSES91.Scene_KeyAttribute_1").val != 2) {
                                                    setState("zwave.0.NODE8.SWITCH_MULTILEVEL.Dec_1"/*Dec*/, false);
                                                    (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})();
                                                  }
                                                }, 500);
                                              }
                                            });
                                          });
                                          

                                          Ich verwende am Wandtaster ZME_WALLC-S den Wert: "zwave.0.NODE10.CLASSES91.Scene_Number_1" und den Wert: "zwave.0.NODE10.CLASSES91.Scene_KeyAttribute_1".

                                          Der Erste zeigt mir an ob der Wert nur kurz gedrückt wurde (hier die Werte 10 und 50) oder lang gedrückt wird (52 bzw. 12).

                                          Nachdem der Schalter lange gedrückt wird:

                                          steht der Wert Scene_KeyAttribute_1 = 2 (Key held down) wenn er losgelassen wird,

                                          wird dieser Wert Scene_KeyAttribute_1 =1 (Key released) gesetzt.

                                          Nun zum Fibaro Dimmer:

                                          An bzw. Ausschalten läßt sich diese über "zwave.0.NODE8.SWITCH_MULTILEVEL.Level_1" hierzu muss man für An den Wert "255" übergeben und für Aus den Wert "0".

                                          Beim Multilevel_switch entspricht somit "255" dem Wert "ON" und ersetzt den Binary_Switch.

                                          Um den Dimmer gleichmäßig zu dimmen, verwende ich hier das event "start level change".

                                          Dieses event startet man in dem man increase "zwave.0.NODE8.SWITCH_MULTILEVEL.Inc_1" auf "wahr" setzt.

                                          Der Dimmer erhöht dann den Dimmwert solange bis ein "stop level change" gesendet wird. Dies erzeugt man in dem man den Wert "zwave.0.NODE8.SWITCH_MULTILEVEL.Inc_1" auf "unwahr" setzt.

                                          Das gleiche gilt für decrease = "zwave.0.NODE8.SWITCH_MULTILEVEL.Dec_1".

                                          Ich hoffe das hilft.

                                          Ich denke ähnliches kann man auch für Rolladensteuerung verwenden.

                                          R 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          474

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe