Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter: 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.

    Adapter: milight

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

      Hallo ioBroker Gemeinde,

      erstmal einen riesigen Dank für das umfangreiche Entwickeln in diesem tollen Projekt.

      Ich bin begeistert und will auch einen Beitrag leisten, auch wenn das durchfräsen durch bestehenden Code nicht so einfach ist, wenn man die Ideen und Konzepte nicht kennt.

      Nachdem ich nun auch widgets erstellt habe, möchte ich euch nun meine erstellten Adapter vorstellen:

      ****MOD eric2905:

      DIe anderen Adapter wurden in jeweils eigene Threads gepackt****

      ioBroker.milight (derzeitig in Überarbeitung durch Bluefox)

      -       Zur Steuerung von preisgünstigeren milight, easybulb Lampen

      -       Da die benutzte nodejs-Bibliothek funktioniert endlich in meinem Setup (da vorher immer nach 30s das Licht ohne Befehl ausging und ein reboot notwendig der box wurde)

      -       Es muß im admin die IP-adresse und der Port der milight-box eingegeben werden

      -       In io_package.json sind die 4 möglichen Gruppen zu definieren

      -       Automatisch wird immer die GroupAll angelegt, egal wieviele Gruppen definiert sind

      -       im adapter enthalten sind 2 widgets, die auf milight abgestimmt sind

      -       Vorteil von von milight ist der günstige Preis und die mögliche Bedienung mit einer Fernbedienung, allerdings hat milight nur begrenzte Farben und leider sind keine Statusabfragen möglich

      ****MOD eric2905:

      DIe anderen Adapter wurden in jeweils eigene Threads gepackt****

      Ich hoffe ich erfülle alle Randbedingungen für eine offizielle Aufnahme in den ioBroker admin Bereich und würde mich freuen wenn es passiert.

      Es gibt noch jede Menge zu tun, aber ein Grundstein ist gelegt. Ich hoffe es kommen keine gravierenden Fehler bei der Benutzung in anderen Umgebungen. Ich habe unter node 4.5 und 4.7 getestet.

      Die folgenden Dinge würde ich gern angehen und bräuchte Hilfe:

      • zyklisches Aufrufen einer Statusabfrage im Adapter um bei lifx, fritzdect auch Zustandsänderungen außerhalb von ioBroker mitzubekommen, da bräuchte ich ein Konstrukt/Idee, wie man da vorgehen kann

      • Benutzung von Prototypen/meta.roles, hier hab ich mir mal hm-rpc und cul angeschaut, bin aber nicht klar gekommen.

      Ich hoffe auf Anregungen/Vorschläge/Verbesserungswünsche.

      Gruß

      Klaus

      1 Reply Last reply Reply Quote 0
      • M
        Marcolotti last edited by

        Hallo Klaus,

        herzlich Willkommen. Nutze deinen Milight-Adapter schon seit 1 Jahre sehr sehr zuverlässig.

        Gruß Marco

        1 Reply Last reply Reply Quote 0
        • F
          foxthefox Developer last edited by

          die umfangreichen Änderungen von bluefox sind in github nun enthalten.

          beim testen bin ich auf eine Frage zum Adapterdesign gestoßen.

          Warum ist es sinnvoll bei einer Reaktion auf eine Statusänderung vom vis-Adapter den Status nochmals zu schreiben/speichern?

          Die Zeile adapter.setForeignState() sorgt hier dafür.

          Dann schließt sich die nächste Frage an. Warum wird nicht adapter.setState() benutzt, man ist ja immerhin im eigenen Adapter?

          Klaus

          1 Reply Last reply Reply Quote 0
          • F
            foxthefox Developer last edited by

            so, der Adapter liegt jetzt auch auf npm.

            Ich habe lediglich eine ältere v4 Bridge und kann die v6 Protokolle nicht testen.

            Bei meinem Setup schaltet sich die Lampe nach geraumer Zeit aus. In der Vorgängerversion war es zum Glück weg gewesen (hier dachte ich die Ursache war die überarbeitete milight-Bibliothek). Die ist immer noch die gleiche, aber etwas muß wohl anders sein. :?

            Evtl. hängt es ja an der etwas älteren box, denn:

            @Marcolotti:

            Hallo Klaus,

            herzlich Willkommen. Nutze deinen Milight-Adapter schon seit 1 Jahre sehr sehr zuverlässig.

            Gruß Marco `

            es ging wohl schon besser, als ich noch Probleme hatte. 🙂

            Bin gespannt, welche Rückmeldungen es zum jetzigen Stand gibt.

            Gruß

            Klaus

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

              Hi

              verwendet jemand von euch das in kombination mit Alexa / Amazon Echo?

              Ich kann meine lichter ein und ausschalten.

              Ich kann meine lichter dimmen.

              jedoch wenn ich meine Lichter in einer Gruppe mit Dimmen und Ein/Aus konfiguriere, dann macht er erst den ein aus befehl und dimmt dann.

              Also wenn ich sage "Alexa schalte Wohnwand aus" geht das Licht aus und gleich darauf auf Minimum gedimmt.

              Bekomme dazu auch angehängten Fehler im Log.

              Screenshot von meiner Config, wenn beides gesetzt ist ebenfalls.

              Kennt das Phänomen jemand?

              und danke @foxthefox für den coolen "plugin" 😉
              2007_gruppe.png
              2007_gruppe-2.png

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

                @Highpressure:

                Hi

                verwendet jemand von euch das in kombination mit Alexa / Amazon Echo?

                Ich kann meine lichter ein und ausschalten.

                Ich kann meine lichter dimmen.

                jedoch wenn ich meine Lichter in einer Gruppe mit Dimmen und Ein/Aus konfiguriere, dann macht er erst den ein aus befehl und dimmt dann.

                Also wenn ich sage "Alexa schalte Wohnwand aus" geht das Licht aus und gleich darauf auf Minimum gedimmt.

                Bekomme dazu auch angehängten Fehler im Log.

                Screenshot von meiner Config, wenn beides gesetzt ist ebenfalls.

                Kennt das Phänomen jemand?

                und danke @foxthefox für den coolen "plugin" 😉 `
                Bitte cloud updaten (vom git)

                1 Reply Last reply Reply Quote 0
                • M
                  metnet last edited by

                  Hallo,

                  erst Mal, danke für die Adapter.

                  Ich habe eine Milight Wifi Bridge und GU5.3 12V Lampen dazu.

                  Diese lassen sich per Fernbedienung und Milight App v3 steuern.

                  Bei den Einstellungen steht der Port 8899 drin.

                  Die Lampen lassen sich weder über v5 noch v6 steuern "Command unknown".

                  Wie finde ich heraus welche API ich verwenden muss?

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

                    cloud updaten? habs gestern erst installiert, aber ok probier ich gleich

                    @metnet

                    stell auf RGBW und lass /Dimmer weg - geht bei mir sonst auch nicht

                    muss auch v5 und nicht v6 sein - geht sonst auch nicht

                    und 8899 wie in der app, nicht den vorgegebenen port - ja richtig, geht sonst auch nicht 😉

                    Dimmer weg? ja dimmer weg - dimmen geht trotzdem

                    1 Reply Last reply Reply Quote 0
                    • F
                      foxthefox Developer last edited by

                      v5 bezieht sich auf das Protokoll und auch die v4 enthält die gleichen Befehle

                      v6 ist das neueste Protokoll und es dürfte wahrscheinlich nur auf den aller neuesten milightbox laufen.

                      v5/v4 hat Port 8899 (v3 hätte Port 50000, ist aber nicht im Adapter programmiert)

                      v6 hat Port 5987

                      RGBW ist die Einstellung für die normalen farbigen Lampen

                      RGBWW ist die Einstellung für die farbigen Lampen mit integrierten weißen LED, oder nur weiße Lampen

                      dimmen geht in allen Einstellungen, wichtig ist die passende Lampenparametrierung

                      Gruß

                      Klaus

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

                        Danke für die Auskunft 🙂

                        Bin noch neu mit ioBroker

                        Kann ich die Befehle direkt via commandline / ssh auch testen?

                        Hab die Alexa in Kombination mit Cloud eventuell in verdacht?

                        Die ZoneAll funktioniert bei mir z.B. auch nicht - alex sagt zwar OK aber nichts passiert.

                        edit - ok habs in den objekten gefunden.. wenn ich dort klicke funkt alles einwandfrei

                        Wenn ich das allOn / allOff in einer der Zonen teste, gehen auch alle lichter an / aus - während keiner der ZoneAll befehle bei mir geht.

                        @Bluefox

                        im ioBroker.admin steht 0.4.2 bei cloud - selbe version wie auch online im git?

                        git pull oder so gibts ja nicht dafür, oder? ihr macht einfach npm install / npm update ?

                        hab hier deinen cloud update beitrag durchgelesen, das readme auf git und den faq aber da nichts konkretes gefunden… anyhow 0.4.2 läuft

                        edit

                        --- debug sagt:

                        beim ausschalten einer einzelnen lampe die dim + on/off hat:

                        milight.0 2017-01-30 20:56:03.085 debug inMem message milight.0.* milight.0.zone2.brightness2

                        milight.0 2017-01-30 20:56:02.866 debug inMem message milight.0.* milight.0.zone2.state

                        milight.0 2017-01-30 20:56:02.787 debug milight.0 Send to zone 2 "brightness2": undefined

                        milight.0 2017-01-30 20:56:02.784 debug inMem message milight.0.* milight.0.zone2.brightness2

                        cloud.0 2017-01-30 20:56:02.741 debug cloud.0 Set "milight.0.zone2.state" to false

                        cloud.0 2017-01-30 20:56:02.741 debug cloud.0 ALEXA OFF: Wand

                        beim ausschalten der zone all

                        milight.0 2017-01-30 21:00:46.677 debug inMem message milight.0.* milight.0.zoneAll.state

                        milight.0 2017-01-30 21:00:46.563 error milight.0 Unknown command: brightness

                        milight.0 2017-01-30 21:00:46.562 debug inMem message milight.0.* milight.0.zoneAll.brightness

                        milight.0 2017-01-30 21:00:46.562 debug milight.0 Send to zone 0 OFF

                        milight.0 2017-01-30 21:00:46.560 debug inMem message milight.0.* milight.0.zoneAll.state

                        cloud.0 2017-01-30 21:00:46.516 debug cloud.0 Set "milight.0.zoneAll.state" to false

                        cloud.0 2017-01-30 21:00:46.498 debug cloud.0 ALEXA OFF: Wohnzimmer

                        1 Reply Last reply Reply Quote 0
                        • F
                          foxthefox Developer last edited by

                          Es sieht mir ganz danach aus, daß es eine Komplikation mit den Variablendefinitionen gibt.

                          Für die RGBW Lampe werden 2 Werte für die Helligkeit definiert, "brightness" und "brightness2".

                          Beim letzten Feinschliff vorm Hochladen auf npm hab ich mich entschlossen die Variable "brightness2" für die v5 zu verwenden. Hier wird der erweiterte Helligkeitsbereich verwendet.

                          D.h. falls zur Zeit in der Benutzung durch vis oder andere Adapter die Variable brightness verwendet wird, so bitte mal diese konsistent auf brightness2 setzen/verwenden.

                          Daran dürfte es evtl. liegen.

                          Gruß

                          Klaus

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

                            nö daran liegts nicht

                            ich hab schon mit beiden getestet

                            hab auch sonst außer milight sonst noch nichts konfiguriert

                            wie gesagt wenn nur brightness oder nur state gewählt ist, dann funktioniert der befehl via alexa einwandfrei

                            alsbald ich jedoch 2 befehle kombiniere, wird erst der eine, dann der andere befehl wiedergegeben.

                            jetzt über das objekte menü im iobroker konnte ich den eintrag auch sauber steuern. (händisch)

                            ps: im case select von den zonen lässt du die zoneall unkonfiguriert, da dann später sowieso default zieht?

                            ich habs bei mir mal umgerschrieben und gesetzt, aber hat leider auch keine besserung gebracht betreffend steuerung von allen lampen

                            edit hab mal nen farbwechsler hinzugefügt.. bäm war´s auch schon blau lol

                            wird in der reihenfolge, wie es im SmartGeräte Tab aufscheint abgearbeitet. Hab nun ein AllOn + AllOff konfiguriert.

                            Schalt ich das licht dort ein, gehts an und gleich wieder aus.

                            Liegt somit def. nicht am Brightness oder Brightness2

                            1 Reply Last reply Reply Quote 0
                            • F
                              foxthefox Developer last edited by

                              @Highpressure:

                              ps: im case select von den zonen lässt du die zoneall unkonfiguriert, da dann später sowieso default zieht?ich habs bei mir mal umgerschrieben und gesetzt, aber hat leider auch keine besserung gebracht betreffend steuerung von allen lampen `

                              Ich muss ehrlich gestehen, dass ich die ZoneAll nicht ausgetestet habe. Zone=0 sollte für ZoneAll stehen, da muss ich morgen mal drüberschauen.

                              ->also 0 ist auf jeden Fall für ZoneAll ->alle 4 Zonen werden ausgeschaltet

                              Wenn du ohnehin schon am umschreiben bist, könntest du in der v5 nach dp===state die Zeile für light.sendCommands

                                          if (dp === 'state') {
                              
                                              if (state.val === 'true' || state.val === true || state.val === 1 || state.val === 'on' || state.val === 'ON') {
                              
                                                  adapter.log.debug('Send to zone ' + zone + ' ON');
                              
                                                  light.sendCommands(zones[zone].on(zone), zones[zone].brightness(100), zones[zone].whiteMode(zone)).then(function ()
                              

                              in

                                          if (dp === 'state') {
                              
                                              if (state.val === 'true' || state.val === true || state.val === 1 || state.val === 'on' || state.val === 'ON') {
                              
                                                  adapter.log.debug('Send to zone ' + zone + ' ON');
                              
                                                  light.sendCommands(zones[zone].on(zone)).then(function ()
                              
                              

                              umschreiben/testen.

                              Bei der Anweisung wird nicht nur Eingeschaltet, sondern auch die Helligkeit auf 100% gesetzt und weiß vorgewählt. Ein ON reicht auch aus, wobei dann der letzte Helligkeitswert von der Lampe selbst gemerkt wurde.

                              Kann ja sein, daß es hier mit den alexa brightness und dem ON brightness ein Mischmasch gibt. Und ein Brightness auf Zone=0/All ist nicht möglich.

                              Gruß

                              Klaus

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

                                Hi

                                Ok habs probiert, ändert nichts

                                Ich habe noch zusätzlich folgendes erstellt:

                                "Probe" - da nur den Dimmer gebunden, dann iobroker erkennt auch hier ein/aus gleichzeitig ohne state - somit wäre der state überflüssig meinte ich

                                Allerdings habe ich im testing gemerkt, dass das nicht zuverlässig klappt.

                                "Test" - da hab ich wie zuvor den dimmer und state gebunden

                                codezeile wie beschrieben umgeändert, adapter gestoppt, neu geladen gestartet..

                                hab dann das selbe phänomen.

                                Bei beiden wenn ich ausschalten sage, wird auf minimum gedimmt.

                                Bei Probe der nur dimmer ist, gehts auf minimum

                                Bei Test, der ein/aus(state) und dimmer hat, geht erst das licht aus, dann wieder an und er dimmt auf minimum.

                                Licht einschalten ist noch immer 100%

                                jedoch nicht durch milight bedingt sondern durch cloud:

                                milight.0 2017-01-31 10:21:59.282 debug inMem message milight.0.* milight.0.zone2.brightness

                                milight.0 2017-01-31 10:21:59.053 debug inMem message milight.0.* milight.0.zone2.state

                                milight.0 2017-01-31 10:21:58.976 debug milight.0 Send to zone 2 "brightness": 100

                                milight.0 2017-01-31 10:21:58.974 debug inMem message milight.0.* milight.0.zone2.brightness

                                cloud.0 2017-01-31 10:21:58.944 debug cloud.0 Set "milight.0.zone2.brightness" to 100

                                cloud.0 2017-01-31 10:21:58.942 debug cloud.0 Use stored ON value for "milight.0.zone2.brightness": 100

                                cloud.0 2017-01-31 10:21:58.925 debug cloud.0 Set "milight.0.zone2.state" to true

                                cloud.0 2017-01-31 10:21:58.925 debug cloud.0 ALEXA ON: test

                                keine ahnung wo cloud das her hat, denn mein letzter Befehl war, dass Test auf 60% gedimmt werden soll?

                                OFF level for switches ist bei mir auf 0 gestellt (in cloud)

                                habe dann den dimmer aus der Test Gruppe entfernt.

                                Dann ging auch die gespeicherte % brightness.. im debug sieht man auch nichts von cloud dann

                                Keine Ahnung ob das nun Zufall war.

                                Kanns ja leider nicht testen, denn ich hab ja keinen Dimmer mehr lol

                                milight.0 2017-01-31 09:27:38.800 debug Send to zone 2 ON

                                inMem 2017-01-31 09:27:38.797 debug message milight.0.* milight.0.zone2.state val=true, ack=false, ts=1485854858791, q=0, from=system.adapter.cloud.0, lc=1485854858791

                                cloud.0 2017-01-31 09:27:38.787 debug Set "milight.0.zone2.state" to true

                                cloud.0 2017-01-31 09:27:38.771 debug ALEXA ON: milight_0_zone2_state

                                aber wenn ich nun händisch mit der App dimme und dann mit Alexa einschalte wird der gedimmte Wert beibehalten.

                                Die Codeänderung funkt somit, falls dass vorher dadurch bedingt war und nicht durch cloud

                                1 Reply Last reply Reply Quote 0
                                • M
                                  metnet last edited by

                                  Hallo,

                                  hab den Dimmer weggelassen, nur RGBW. Funktioniert leider nicht.

                                  Auf meinen Lampen steht RGB+CCT. Habe in der API leider keine Commands für diese Lampen gefunden oder übersehen.

                                  Bei Domoticz steht, dass diese Lampen nur von v6 unterstützt werden, bei mir gehen sie aber über Fernbedienung und Bridge (Port 8899) +App.

                                  Vlt. noch jemand irgendeinen Rat?

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    Fitti last edited by

                                    Von welchen Adaptern, die ich bitte genau wo und wie finde, reden wir?

                                    Habe in letzter Zeit viel mit milight verbracht. Egal ob selbstgeschriebene UDP Packete oder Bibliotheken - milight ist 'ne Diva.

                                    Beste Erfolge gab's mit npm install milight. Und dann mit eigenen JavaSkripten in IoBroker.

                                    Zwar ist die Doku unausreichend, da einige Befehle nicht beschrieben sind, dafür aber gut funktionieren.

                                    Der in iobroker angebotenen milight-Adapter ging gar nicht. War auch quasi keine Doku dazu da.

                                    Jetzt sieht dieser so bei mir aus:
                                    578_2017-02-01_12_37_47-iobroker.admin.png

                                    Ist das der, von dem ihr hier sprecht?

                                    BTW: iobrocker Wifi Light machte seit Update auf js-controller 0.15.3 nur rote Einträge im Log. Habe ich entfernt.

                                    Fitti

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      foxthefox Developer last edited by

                                      ja, es geht um iobroker.milight mit Version 0.1.0

                                      Ich habe den Adapter vor einem Jahr angefangen und Bluefox hat ihn umfangreich für Protokoll v6 fit gemacht und damit auch neu strukturiert.

                                      Da ich nur "alte" Lampen und Box habe, konnte ich nur die v5 Anteile testen. Bei mir zeigte sich allerdings ein altbekanntes Problem wieder. Steuert man die Lampen per iobroker dann schaltet sich diese nach einer kurzen Zeit aus.

                                      Mit der neuen Version der Bibliothek 0.0.9 war dies Geschichte, mit der gleichen Bibliothek und jetziger Version des Adapters, kam das Problem wieder. Ich bin noch auf der Suche, was das verursachen könnte, aber mir gehen die Ideen aus.

                                      Doku ist immer zu knapp :shock:

                                      Gruß

                                      Klaus

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

                                        also bei mir ging der nach den ersten gehversuchen auf anhieb

                                        ich hab auch alte lampen und ein altes kästchen.

                                        schalte meine lampen nur noch via alexa ein und aus.

                                        aber meine gehen nicht nach einer bestimmten zeit aus.

                                        dafür spielt er bei mir halt alle befehle nacheinander ab

                                        hab noch immer keine lösung dafür

                                        hab überlegt eventuell den raspby neu aufzusetzen.

                                        vielleicht ging ja wo was schief

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          Fitti last edited by

                                          @foxthefox:

                                          Bei mir zeigte sich allerdings ein altbekanntes Problem wieder. Steuert man die Lampen per iobroker dann schaltet sich diese nach einer kurzen Zeit aus.

                                          Mit der neuen Version der Bibliothek 0.0.9 war dies Geschichte, mit der gleichen Bibliothek und jetziger Version des Adapters, kam das Problem wieder. Ich bin noch auf der Suche, was das verursachen könnte, aber mir gehen die Ideen aus.

                                          Doku ist immer zu knapp :shock:

                                          Gruß

                                          Klaus `
                                          Ich habe ähnliche Probleme per direkter Steuerung aus JavaSkript (also ohne Modul oder Blbiothek) und direkt gesendeten UDP Paketen. Deswegen sage ich ja, milight ist eine Diva.

                                          Ich habe dann mal den Netzwerk-Datenstrom getraced, als ich mit einer recht gut funktionierenden Windows Anwendung die Lampen eingeschaltet habe. Da stellte ich fest, dass die Daten doch etwas anders als in der API angegeben gesendet werden. Irgendein Byte war da zusätzlich.

                                          Habe auch Port 8889 als V5.

                                          Dann fand ich aber das npm Paket 'milight' - das funktioniert super. Also sagen wir mal zu 99%.

                                          Nimm doch das als Fork und mache ein Paket draus.

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

                                            Hallo zusammen,

                                            Ich habe gerade erst angefangen mich mit dem ioBroker zu befassen also seid bitte gnädig was meine Anfängerfragen angeht 😉

                                            Ich habe den Adapter installiert, bin allerdings etwas überrascht von der Anzahl der Variablen.

                                            Gibt es irgendwo eine Übersicht welche Variable für was zuständig und wie ihr Wertebereich ist?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            605
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            55
                                            314
                                            63356
                                            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