Autor Thema: (WIP) MiLight-Remote als input-Gadget für MPD, HUEDevice usw.  (Gelesen 423 mal)

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 9254
  • eigentlich eher "user" wie "developer"
Hallo zusammen,

MiLight als Leuchtmittel sind eigentlich nicht mehr zeitgemäß, aber neulich bin ich über eine Fernbedienung gestolpert, die mein Interesse geweckt hat: FUT089.

Gibts für um die 10 Euro in der Bucht, Optik ist ganz ok. Sie kann 8 MiLight-Gruppen steuern, was effektiv 9 Kanäle ergibt, dabei auf jedem Kanal getrennte Regelmöglichkeiten für an/aus, Helligkeit, HUE, RGB und 4 weitere Tasten. Das ist schon deutlich mehr, als ich bisher bei irgend einer anderen (halbwegs erschwinglichen) Fernbedienung gesehen habe (IR mal außen vor, MiLight funkt auf 2.4GHz und geht damit auch halbwegs durch Decken und Wände).

Hat zwar im Kern weniger mit "Automatisierung" zu tun, aber folgende Ideen waren mir eben durch den Kopf gegangen, als ich das gesehen habe:
1. Könnte ich meinen MPD damit steuern - irgendwie ist es reichlich umständlich, jedesmal das Handy rauszukramen (oder zu suchen oder gar zum Verstärker zu dackeln...), wenn man - warum auch immer - Steuerungsbedarf z.B. bei der Lautstärke hat;
2. Habe ich jüngst ein paar tradfri und tint-Leuchten verbaut bzw. beschafft (zigbee, früher eingebunden via zigbee2mqtt, jetzt als HUEDevice über einen Conbee II). Die sind m.E. den MiLights technisch um Welten voraus. Nur leider gibt es keine bezahlbaren mehrkanaligen Fernbedienungen für die (?) und ein Teil der Leuchtmittel wird erst mal MiLight bleiben - allerdings sind mir die Tasten auf den "alten" Fernbedienungen ausgegangen, die kannten nur 4 Gruppen, und die tint wären die 5. Gruppe...
3. Da gab es auch noch ein paar Rollläden bzw. Jalousien!?! Vielleicht kann so eine FB da hilfreich sein, v.a. auch für die Lamellendrehung...?
4. ...man kann nie wissen....

Von daher dachte ich, die gut 10 Euro sind eigentlich einen Versuch wert ::) . Nachdem das ganze jetzt erste Formen angenommen hat, wollte ich euch den Code nicht vorenthalten, vielleicht hat der eine oder andere einen Nutzen davon oder mehr oder weniger clevere Ideen, was man damit noch tun kann. Gerne dürfen hier auch fertige Codeschnipsel rein, wenn jemand solche hat. Insgesamt ist es vermutlich so, dass man die Reaktionscodes ohne weiteres auch für andere Fernbedienungen nutzen könnte.

Bisher erkennbare Haken:
- Um den Kanal umzuschalten, muß man immer erst auf "on" gehen, und es gibt keine Anzeige, auf welchem Kanal die steht. Das bedeutet, dass man den "ersten" "on"-Befehl bei der Auswertung von Events ggf. anders behandeln muß.
Für das Anzeigethema gäbe es Abhilfe: FUT090 - 99 Kanäle mit Kanalanzeige - aktuell ca. 22 Euro... Hab' mir auch davon eine kommen lassen, fürchte aber, dass das Ding eher eine geringere Akzeptanz bei anderen Bewohnern haben wird als die FUT089, es ist mMn. leichter, einen bestimmten Ort auf einer FB mit einer Reaktion in der Realität zu verbinden als erst mal eine anonyme Ziffer einzugeben.
- Das Ding verwendet das neuere V6-Protokoll, man kann also nicht "alte" V5-Leuchtmittel einfach so direkt verknüpfen;
- Bei HUE kommt gerne am Ende der Wert "181". Muß man wohl per Software rauswerfen;
- Man braucht ein funktionierendes FHEM (aber das läuft nach meinen bisherigen Erfahrungen so stabil, dass ich mir dazu nicht die große Sorgen mache) und ein laufendes WLAN, da als Empfangsgerät ein Eigenbau-Gerät auf ESP8266-Basis benötigt wird.
Die Hardware und Einbindung in FHEM via MQTT (über die MQTT2-Familie) ist in dem Thread beschrieben, in dem ich den folgenden Beitrag (v.a. zur Steuerung des MPD) geschrieben hatte:

[...]
Das ist ganz ohne  template, ungenutzt sind noch hue und color_temp - da habe ich noch nicht die durchschlagende Idee... ::)

RAW-Definitionen bzw. der myUtils-Code:
defmod MiLight_RC1_8 MQTT2_DEVICE milight_0xABCD_8
attr MiLight_RC1_8 readingList milight/updates/0xABCD/fut089/8:.* { json2nameValue($EVENT) }\
milight/states/0xABCD/fut089/8:.* { json2nameValue($EVENT) }
defmod n_MiLight_RC1_8 notify MiLight_RC1_8:(ON|OFF|(brightness|command|bulb_mode).*) {milight_to_MPD("myMPD",$EVENT)}
Fragen zur MQTT(2)-Seite also bitte in dem anderen Thread, nicht hier.

EDIT: Zwischenzeitlich werden nur noch die "updates" ausgewertet, die readingList sieht also jetzt typischerweise so aus:
defmod MiLight_RC1_0 MQTT2_DEVICE milight_0xABCD_0
attr MiLight_RC1_0 readingList milight/updates/0xABCD/fut089/0:.* { json2nameValue($EVENT) }\
milight/states/0xABCD/fut089/0:.* {}
[/EDIT]

Anbei mal meine aktuelle myUtils-Datei mit dem aktualisierten Code (wg. "doppeltem" on); für den MPD nutze ich zwischenzeitlich nicht mehr Kanal 8, sondern 0 - da sind die on/off-Tasten einfach größer, und mangels direkter Verknüpfung mit den Bulbs ist es "wurscht", wenn der "all"-Kanal (0) anders genutzt wird ;) .

Darin enthalten ist auch eine indirekte Verknüpfung der "neuen", via V6-Protokoll empfangenen Codes mit dem alten V5-Protokoll (milight_FUT_to_RGBW("<Zieldevice-Name>",$EVENT)). Könnte sein, dass in der beigefügten Fassung auch schon HUEDevice-Geräte gesteuert werden können, aber da muß ich erst noch was umbauen. Der Standort des IO hat sich geändert, von dort sind die verbauten tradfri nicht direkt zu erreichen, und die tint liegen grad im Keller, bis ich entschieden habe, wo ich ggf. einen zigbee-Router benötige/zweckmäßigerweise einbaue...

Viel Spaß damit, und wie im Titel angedeutet: es ist Work In Progress und bei weitem noch nicht fertig  ::) .

Gruß, Beta-User

EDIT2:
Update der myUtils anbei, jetzt kann man damit unsere Deckenbeleuchtung im Wohnzimmer recht komfortabel steuern - die hat 4 Zonen.

EDIT3:Update der myUtils anbei, jetzt kann man damit auch FGR-223 im Venetian Mode (Jalousien) steuern. Der saturation-slider ist für die Lamellenstellung zuständig.
« Letzte Änderung: 09 September 2019, 14:43:35 von Beta-User »
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | BT@OpenMQTTGateway
svn:MySensors, WeekdayTimer, RandomTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 9254
  • eigentlich eher "user" wie "developer"
Antw:(WIP) MiLight-Remote als input-Gadget für MPD, HUEDevice usw.
« Antwort #1 am: 09 September 2019, 15:28:47 »
So, am WE war ausgiebiges "Spielen" angesagt.

Zwischenstand:
  • die Basisfunktionen meines MPD lassen sich steuern (über Kanal 0, damit die on/off-Tasten besser zugänglich sind)
  • 2 MiLight-Bulbs mit V5-Protokoll gehen vollständig (indirekt) mit der V6-remote zu steuern
  • derselbe Code kann genutzt werden, um dimmbare HUEDevice's zu steuern (Farbe/Farbtemp: geht (Farbe: eventuell) noch nicht, weiß noch nicht, ob ich Farbtemperatur überhaupt brauche)
  • Die Deckenlichter im Wohnzimmer (2*2 on/off Kanäle) belegen eine Steuerungsebene (in der Praxis: zwei ZWave switches), derzeit genutzt: 6 Tasten dieser Ebene. Mal schauen, ob ich da noch Szenen auf die verbleibenden 3 Slider legen will - mind. die Hellighkeits- und Saturation-Slider scheinen ziemlich exakt zu funktionieren, da sollten je 5 "virtuelle" Tasten möglich sein...
  • und zu guter letzt: Zwei Rolläden (CUL_HM) und eine Jalousie (ZWave FGR-223, incl. Lamellenstallung 8) ) folgen auch der FB.
Einziges "Manko": Man muß teilweise die (on) Tasten (gewollt!) doppelt drücken, damit nicht das Aktivieren einer Belegungsebene gleich eventuell unbeabsichtigte Folgen in der Realität hat.

Soweit also erst mal: volle Zufriedenheit 8) , coole Sache. Auch die Reichweite ist für meine Zwecke völlig ausreichend (vergleichbar mit der WLAN-Ausleuchtung).

Update der codes ist im Anhang des ersten Post, da ist auch etwas cref drin mit Beispielen für notify-Definitionen.

Bis dahin erst mal,

Beta-User
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | BT@OpenMQTTGateway
svn:MySensors, WeekdayTimer, RandomTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

 

decade-submarginal