Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. MQTT und Milight

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    MQTT und Milight

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

      Guten Morgen,

      ich verwende den Milight Hub (Arduino) (https://github.com/sidoh/esp8266_milight_hub) und binde ihn über den MQTT Adapter in ioBroker an.

      Der Hub hat den Vorteil, dass ich nicht pro 4 Kanäle einen Originalgateway verwenden muss. 1 Milight Hub (Arduino) kann quasi unendlich viele Module steuern.

      Der Hub nimmt auch die Signale von der Originalfernbedienung entgegen. Eine Synchronisation mit ioBroker ist dadurch möglich. Womit wir auch schon bei meinem Problem wären.

      Als Beispiel soll eine RGBW Controller von Milight (https://www.amazon.de/Wireless-Steuermo … F1G6PE5GED) dienen. Ich verwende jetzt nur mal die Aus- und Einschaltfunktion.

      Im Vis Adapter habe ich einen Schalter (fancyswitch – Schieber dunkel Aus/Ein) und jeweils ein Symbol welches „Licht an“ und „Licht aus“ grafisch darstellt. Gesteuert über die Sichtbarkeit (Objekt ID und Wert).

      Grafiken für An und Aus

      Objekt ID: mqtt.0.milight.commands.0xE233.rgbw.4

      Bedingung: ==

      Wert: {"state":"ON"} bzw. {"state":"OFF"}

      Fancyswitch

      Objekt ID: mqtt.0.milight.commands.0xE233.rgbw.4

      Falsch-Wert: {"state":"OFF"}

      Wahr-Wert: {"state":"ON"}

      Drücke ich nun den Schalter in der Vis, schaltet sich der LED Stripe „Ein“ bzw. „Aus“. Auch die Grafiken für den Status ändern sich wie gewünscht mit.

      Drücke ich die Originalfernbedienung schaltet der LED Stripe wie gewollt und auch die Grafiken in der Vis ändern sich auch mit. Nur der Schalter wird nicht mit synchronisiert. Und genau das ist mein Problem. Gibt es eine Möglichkeit den Schalter auch Synchron zu bekommen?

      SG

      Mario

      S Jan Puchta 2 Replies Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        Milight ist leider nicht bidirektional, d.h. es kommen keine Rückmeldungen, weshalb auch keine Meldung kommt, wenn du per FB schaltest, das ist beim Gateway das Gleiche.

        Ob es aber vielleicht in deiner Konstellation möglich wäre, MQTT mitzuteilen, dass die FB einen Befehl über dein Gerät gesendet hat, das weiß ich nicht!

        Edit: Man, man wieder nicht richtig zu Ende gelesen. :? Hast du noch einen anderen Datenpunkt außer rgb und hast du auch mal einen anderen Schalter ausprobiert, ich hatte den Fancy-Switch auch schon mal verwendet, hatte da irgendwie das Problem, dass dieser von allein zurück geschaltet hat,obwohl das Objekt noch an war!? Is aber auch schon ewig her.

        Aber diese Möglichkeit, doch eine Rückmeldung zu bekommen interesssiert mich! 😄

        Enrico

        1 Reply Last reply Reply Quote 0
        • B
          bigd-73 last edited by

          @RappiRN:

          Edit: Man, man wieder nicht richtig zu Ende gelesen. :? Hast du noch einen anderen Datenpunkt außer rgb und hast du auch mal einen anderen Schalter ausprobiert, ich hatte den Fancy-Switch auch schon mal verwendet, hatte da irgendwie das Problem, dass dieser von allein zurück geschaltet hat,obwohl das Objekt noch an war!? Is aber auch schon ewig her. `
          kann schon mal passieren 🙂 … Datenpunkt gibt es pro Kanal nur einen. Die verschiedenen Möglichkeiten, Ein/Aus - RGB(W) - Brightness, HUE usw., werden dann anhand des Befehles im Feld "Wert" ausgeführt.

          Einen anderen Schalter hab ich auch schon versucht - hqwidgets - On/Off. Aber leider das selbe Verhalten. Der Status des Schalters wird beim Betätigen der Originalfernbedienung nicht mit synchronisiert. Nur die Symbole für "EIN/AUS" laufen synchron ...

          SG

          Mario

          1 Reply Last reply Reply Quote 0
          • S
            slemy @bigd-73 last edited by

            @bigd-73
            Hi,
            kannst du mir zeigen was ich da eintragen soll ?
            Neue Bitmap.jpg
            möchte es auch über MQTT versuchen .
            THX

            1 Reply Last reply Reply Quote 0
            • S
              slemy last edited by slemy

              ok soweit bin ich jetzt auch, State ändert sich nun auch egal was man macht mit der Fernbedienung was über milight-smart-light.0 Adapter nicht ging da nicht bidirektional ist, jetzt wäre ein Blockly Skript gut das Objekt ID und Wert ausliest zum beispiel {"state":"ON"} dann hier milight-smart-light.0.Wohnzimmer.rgbw-1.onoff auf True ändert oder so, dann kann man in VIS weiter machen damit Ein“ bzw. „Aus“. Auch die Grafiken für den Status ändern, oder kann uns einer jetzt irgenwie helfen, da man jetzt den Wert True/False ändern kann .

              so etwa nur das es falsch ist

              
              BlocklyJavascriptTypeScript
              Skript läuft nicht
              13:43:02.256	info	javascript.0 Stop script script.js.common.milight-test
              Ausgewählte Blöcke exportieren
              <xml xmlns="http://www.w3.org/1999/xhtml">
                <block type="on" id="%jCw~L#4N0zp0S+ckKh!" x="-362" y="-212">
                  <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.1</field>
                  <field name="CONDITION">any</field>
                  <field name="ACK_CONDITION"></field>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="}q*Y+Q=G?dlNXxBC,es9">
                      <value name="IF0">
                        <block type="logic_compare" id="c_5km@iv_$eUTk~_^PE=">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="text_indexOf" id="A^qFGNIsgBr`oOq!8h-8">
                              <field name="END">FIRST</field>
                              <value name="VALUE">
                                <shadow type="text" id="Wuctg26#/+xe=J4=,mTC">
                                  <field name="TEXT"></field>
                                </shadow>
                                <block type="get_value" id="%YKl0:.qf:@o1ZCK$Ob#">
                                  <field name="ATTR">val</field>
                                  <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.0</field>
                                </block>
                              </value>
                              <value name="FIND">
                                <shadow type="text" id="?).tM_iUlCX{0Sk]A`0+">
                                  <field name="TEXT">{"state":"ON"}</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="control" id="S4bM^)qJZ^OGY-nA%zUC">
                          <mutation delay_input="true"></mutation>
                          <field name="OID">milight-smart-light.0.Wohnzimmer.rgbw-1.onoff</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">5</field>
                          <field name="UNIT">sec</field>
                          <field name="CLEAR_RUNNING">TRUE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="RZOsT6ym3.4,3{SLUA(G">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </xml>
              <xml xmlns="http://www.w3.org/1999/xhtml">
                <block type="on" id="%jCw~L#4N0zp0S+ckKh!" x="-362" y="-212">
                  <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.1</field>
                  <field name="CONDITION">any</field>
                  <field name="ACK_CONDITION"></field>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="}q*Y+Q=G?dlNXxBC,es9">
                      <value name="IF0">
                        <block type="logic_compare" id="c_5km@iv_$eUTk~_^PE=">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="text_indexOf" id="A^qFGNIsgBr`oOq!8h-8">
                              <field name="END">FIRST</field>
                              <value name="VALUE">
                                <shadow type="text" id="Wuctg26#/+xe=J4=,mTC">
                                  <field name="TEXT"></field>
                                </shadow>
                                <block type="get_value" id="%YKl0:.qf:@o1ZCK$Ob#">
                                  <field name="ATTR">val</field>
                                  <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.0</field>
                                </block>
                              </value>
                              <value name="FIND">
                                <shadow type="text" id="?).tM_iUlCX{0Sk]A`0+">
                                  <field name="TEXT">{"state":"ON"}</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="control" id="S4bM^)qJZ^OGY-nA%zUC">
                          <mutation delay_input="true"></mutation>
                          <field name="OID">milight-smart-light.0.Wohnzimmer.rgbw-1.onoff</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">5</field>
                          <field name="UNIT">sec</field>
                          <field name="CLEAR_RUNNING">TRUE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="RZOsT6ym3.4,3{SLUA(G">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </xml>
              

              sk.jpg

              milight.jpg

              1 Reply Last reply Reply Quote 0
              • S
                slemy last edited by slemy

                Soweit Funktioniert der Skript, jetzt fehlt noch ein Widgets .
                Neue Bitm.jpg

                
                BlocklyJavascriptTypeScript
                Protokoll
                Ausgewählte Blöcke exportieren
                <xml xmlns="http://www.w3.org/1999/xhtml">
                  <block type="on" id="%jCw~L#4N0zp0S+ckKh!" x="-362" y="-212">
                    <field name="OID">mqtt.0.milight.states.0x8B4C.rgbw.1</field>
                    <field name="CONDITION">ne</field>
                    <field name="ACK_CONDITION"></field>
                    <statement name="STATEMENT">
                      <block type="controls_if" id="#~LwQDZv;s`9}d1b31!D">
                        <value name="IF0">
                          <block type="logic_compare" id="ml[0rp4*`32z;f(Xn(yp">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="text_indexOf" id="+hluwdt?P?HdmjYqn7o+">
                                <field name="END">FIRST</field>
                                <value name="VALUE">
                                  <shadow type="text" id="Wuctg26#/+xe=J4=,mTC">
                                    <field name="TEXT"></field>
                                  </shadow>
                                  <block type="get_value" id="T{CtVxufq?]ZOMyH!j^/">
                                    <field name="ATTR">val</field>
                                    <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.1</field>
                                  </block>
                                </value>
                                <value name="FIND">
                                  <shadow type="text" id="I0@ht-D6/ho-^j!PcXi`">
                                    <field name="TEXT">{"state":"ON"</field>
                                  </shadow>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="control" id="ZAJ,lw=wCeRXF-7pT,Rb">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">milight-smart-light.0.Wohnzimmer.rgbw-1.ON-vis</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="f{3dvxe1/3UH*Oe(.0nr">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </statement>
                        <next>
                          <block type="controls_if" id="=Pe$=o0Z){n[a;8Uc!1C">
                            <value name="IF0">
                              <block type="logic_compare" id="4DMLBm_zpY66Z7hbBgO!">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="text_indexOf" id="TFQVxOrzqAc%kK0=(jfy">
                                    <field name="END">FIRST</field>
                                    <value name="VALUE">
                                      <shadow type="text" id="Wuctg26#/+xe=J4=,mTC">
                                        <field name="TEXT"></field>
                                      </shadow>
                                      <block type="get_value" id="6F21.nAl#2wziFbKLg(t">
                                        <field name="ATTR">val</field>
                                        <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.1</field>
                                      </block>
                                    </value>
                                    <value name="FIND">
                                      <shadow type="text" id="XSv,%Om4w_hSKgH`ZH%$">
                                        <field name="TEXT">{"state":"OFF"</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="NE:@ofbcXgHP)8TDyJwI">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">milight-smart-light.0.Wohnzimmer.rgbw-1.ON-vis</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="{21,w2p;-)=w$(a4m-5v">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </xml>
                <xml xmlns="http://www.w3.org/1999/xhtml">
                  <block type="on" id="%jCw~L#4N0zp0S+ckKh!" x="-362" y="-212">
                    <field name="OID">mqtt.0.milight.states.0x8B4C.rgbw.1</field>
                    <field name="CONDITION">ne</field>
                    <field name="ACK_CONDITION"></field>
                    <statement name="STATEMENT">
                      <block type="controls_if" id="#~LwQDZv;s`9}d1b31!D">
                        <value name="IF0">
                          <block type="logic_compare" id="ml[0rp4*`32z;f(Xn(yp">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="text_indexOf" id="+hluwdt?P?HdmjYqn7o+">
                                <field name="END">FIRST</field>
                                <value name="VALUE">
                                  <shadow type="text" id="Wuctg26#/+xe=J4=,mTC">
                                    <field name="TEXT"></field>
                                  </shadow>
                                  <block type="get_value" id="T{CtVxufq?]ZOMyH!j^/">
                                    <field name="ATTR">val</field>
                                    <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.1</field>
                                  </block>
                                </value>
                                <value name="FIND">
                                  <shadow type="text" id="I0@ht-D6/ho-^j!PcXi`">
                                    <field name="TEXT">{"state":"ON"</field>
                                  </shadow>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="control" id="ZAJ,lw=wCeRXF-7pT,Rb">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">milight-smart-light.0.Wohnzimmer.rgbw-1.ON-vis</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="f{3dvxe1/3UH*Oe(.0nr">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </statement>
                        <next>
                          <block type="controls_if" id="=Pe$=o0Z){n[a;8Uc!1C">
                            <value name="IF0">
                              <block type="logic_compare" id="4DMLBm_zpY66Z7hbBgO!">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="text_indexOf" id="TFQVxOrzqAc%kK0=(jfy">
                                    <field name="END">FIRST</field>
                                    <value name="VALUE">
                                      <shadow type="text" id="Wuctg26#/+xe=J4=,mTC">
                                        <field name="TEXT"></field>
                                      </shadow>
                                      <block type="get_value" id="6F21.nAl#2wziFbKLg(t">
                                        <field name="ATTR">val</field>
                                        <field name="OID">mqtt.0.milight.updates.0x8B4C.rgbw.1</field>
                                      </block>
                                    </value>
                                    <value name="FIND">
                                      <shadow type="text" id="XSv,%Om4w_hSKgH`ZH%$">
                                        <field name="TEXT">{"state":"OFF"</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="NE:@ofbcXgHP)8TDyJwI">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">milight-smart-light.0.Wohnzimmer.rgbw-1.ON-vis</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="{21,w2p;-)=w$(a4m-5v">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </xml>
                
                1 Reply Last reply Reply Quote 0
                • Jan Puchta
                  Jan Puchta @bigd-73 last edited by

                  @bigd-73 hallo,
                  keine ahnung ob du hier noch aktiv bist,
                  hast du zeit und kannst du mir bei meinem problem helfen?
                  komme nicht weiter https://forum.iobroker.net/topic/26275/mqtt-milight-hub-newbie

                  Danke

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  583
                  Online

                  31.6k
                  Users

                  79.4k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  1733
                  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