(WIP) zigbee2mqtt-Remote FUT089Z als input-Gadget für MPD, HUEDevice usw.

Begonnen von Beta-User, 28 Februar 2026, 08:53:38

Vorheriges Thema - Nächstes Thema

Beta-User

Moin zusammen,

zwischenzeitlich sind hier die meisten Leuchtmittel u.ä. von MiLight auf ZigBee umgestellt.
Um dann das IO dafür (die "sidoh"-Bridge) auch vollends abbauen zu können (und damit den WLAN-Zweig auch an der Stelle zu kappen!), "braucht" es eigentlich v.a. noch einen Ersatz für die bisher als Fernbedienungen für "alles mögliche" dienenden MiLight-Fernbedienungen, die ich damals so vorgestellt hatte:

Zitat von: Beta-User am 05 September 2019, 12:08:10MiLight 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....

Jetzt sind mir jüngst ein paar FUT089Z "zugelaufen" (na ja, eigentlich musste ich den freundlichen Verkäufer geradezu nötigen, mir die auch ohne deren Leuchtmittel zu verkaufen!), also die zigbee-Variante der 8-Gruppen-Variante der bisherigen Fernbedienungen.

Eine geraffte Darstellung der technischen Funktionalität ist hier zu finden: https://www.zigbee2mqtt.io/devices/FUT089Z.html#miboxer-fut089z.

Bisher erkennbare Haken:
- Alles kommt über denselben Topic. Die passende Perl-Funktion für jeden Kanal aufzurufen muss also anders umgesetzt werden als bisher. Gibt dann wohl noch ein dispatch-notify, wie das hier auch für andere zigbee-Fernbedienungen üblich ist.
- Es gibt "nur noch" 8 Gruppen, und keine 9 (wenn man die "alle"-Buttons mitzählt). Gruppe 8 liegt nicht mehr auf dem Button-Paar unten rechts, sonderen auf den bisherigen "alle"-Buttons, ein Bild anbei, aus dem man ggf. besser die unterschiedliche Belegung erraten kann.
- Das Ding sendet eher sowas wie einen vollständigen Status, je nach Taste dann auch noch aufgeteilt in zwei JSON-Blobs (im Link oben beschrieben als "followed by", wobei die dann folgenden Infos eben gar nichts neues enthalten, außer dem Zeitstempel).

Ergo bestand der erste Zwischenschritt darin, die Auswertung der JSON-Blobs so zu basteln, dass am Ende möglichst genau (nur) der Tastendruck übrig bleibt.

Anbei die erste Fassung der myUtils-Datei, da ist auch etwas "event-on-change-reading" (&Co)-Frickelei drin für (u.a.) den 3-phasigen FI/Zähler-Aktor, hinter dem die PV-Anlage hängt: Der sendet sekündlich Werte für alle  Phasen...
 
defmod Fernbedienung_WZ_FUT089z MQTT2_DEVICE zigbee_0x0c2a6ffffefabcde
attr Fernbedienung_WZ_FUT089z devicetopic zigbee2mqtt/0x0c2a6ffffefabcde
attr Fernbedienung_WZ_FUT089z group Schalter
attr Fernbedienung_WZ_FUT089z icon it_remote
attr Fernbedienung_WZ_FUT089z jsonMap battery:batteryPercent voltage:batterymV
attr Fernbedienung_WZ_FUT089z readingList $DEVICETOPIC:.* { FHEM::attrT_z2m_eocr_Utils::j2nV_FUT089z($NAME,$EVENT,$JSONMAP) }\
  $DEVICETOPIC/availability:.* { $EVENT=~s{state}{availability}x;; json2nameValue($EVENT) }
attr Fernbedienung_WZ_FUT089z room Wohnzimmer
attr Fernbedienung_WZ_FUT089z userReadings batteryVoltage:batterymV.* {ReadingsNum($name,'batterymV',0)/1000}

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

Gruß, Beta-User
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

betateilchen

Nur mal für mein Verständnis:

Welche Aktionen auf der Fernbedienung möchtest Du denn am Ende eigentlich wofür auswerten können?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Beta-User

Zitat von: betateilchen am 06 März 2026, 10:28:36Welche Aktionen auf der Fernbedienung möchtest Du denn am Ende eigentlich wofür auswerten können?
Gute Frage.

Etwas generalisiert beantwortet: Prinzipiell soll - je nach Raum bzw. dort befindlicher Fernbedienung - bei einem Tastendruck (bzw. dem Druck auf einem Punkt der beiden Slider bzw. des "Farbrads") "irgendwas" passendes geschehen. Das könnte beispielhaft sein:
- Lautstärkeregelung
- (systemübergreifende) Lichtsteuerung
- Rollladen bzw. Jalousien: Behanghöhe und Drehwinkel

Vielleicht hier mal zwei bisherige MQTT2_DEVICE-readingLists, an denen vielleicht klarer wird, "was bisher geschah".

Erst mal im Wohnzimmer:
attr MiLight_RC_WZ readingList milight/updates/0x5D47/fut089/0:.* { FHEM::attrT_MiLight_Utils::MPDcontrol('myMPD',$EVENT, 'Yamaha_Main') }\
milight/updates/0x5D47/fut089/1:.* { FHEM::attrT_MiLight_Utils::FUT_to_HUE('Licht_Stehlampe_links',$EVENT) }\
milight/updates/0x5D47/fut089/2:.* { FHEM::attrT_MiLight_Utils::FUT_to_HUE('Licht_Stehlampe_rechts',$EVENT) }\
milight/updates/0x5D47/fut089/3:.* { FHEM::attrT_MiLight_Utils::four_Lights_matrix($EVENT, 'Licht_WoZi_Vorn_Aussen', 'Licht_WoZi_Vorn_Mitte', 'Licht_WoZi_Hinten_Aussen', 'Licht_WoZi_Hinten_Mitte') }\
milight/updates/0x5D47/fut089/4:.* { FHEM::attrT_MiLight_Utils::shuttercontrol('Jalousie_WZ',$EVENT) }\
milight/updates/0x5D47/fut089/5:.* { FHEM::attrT_MiLight_Utils::shuttercontrol('Rollladen_WZ_SSO',$EVENT) }\
milight/updates/0x5D47/fut089/6:.* { FHEM::attrT_MiLight_Utils::shuttercontrol('Rollladen_WZ_SSW',$EVENT) }\
milight/updates/0x5D47/fut089/7:.* { FHEM::attrT_MiLight_Utils::shuttercontrol('Jalousie_WZ_Balkon',$EVENT) }\
milight/updates/0x5D47/fut089/8:.* { FHEM::attrT_MiLight_Utils::Show_keyValue($EVENT) }\
milight/states/0x5D47/fut089/[0-8]:.* {}
Wie man vielleicht erraten kann, hatte da jede "Tastenebene" (aka Gruppe) einen separaten Topic, welche Taste gedrückt wurde bzw. welcher Slider bedient war in einem JSON-Blob verpackt, der einfach an die passende Funktion mit dem/den Zielgerät(en) übergeben wurde.

Dasselbe nochmal einfacher für ein Kinderzimmer (nur Licht und zwei Rollläden):
attr MiLight_RC_WZ_OG readingList milight/updates/0xB75D/rgbw/0:.* { FHEM::attrT_MiLight_Utils::FUT_to_RGBW('Licht_WZ_OG',$EVENT) }\
  milight/updates/0xB75D/rgbw/1:.* { FHEM::attrT_MiLight_Utils::FUT_to_RGBW('Licht_WZ_OG',$EVENT) }\
  milight/updates/0xB75D/rgbw/2:.* {}\
  milight/updates/0xB75D/rgbw/3:.* { FHEM::attrT_MiLight_Utils::shuttercontrol('Rollladen_WZ_OG_Sued',$EVENT) }\
  milight/updates/0xB75D/rgbw/4:.* { FHEM::attrT_MiLight_Utils::shuttercontrol('Rollladen_WZ_OG_West',$EVENT) }\
  milight/states/0xB75D/rgbw/.:.* {}

Die (bisherigen) Funktionen selbst sind im eingangs verlinkten Thread angepinnt bzw. auch näher beschrieben, und ich bin mir im Moment auch nicht sicher, ob das alles wieder so werden soll, wie es mal war.

Von daher werde ich jetzt erst mal mit "irgendwas" aus dem gezeigten Blumenstrauß an Optionen anfangen, vermutlich mit einer Jalousie (also Rollladen incl., aber eben mit Lamellendrehung, falls vorhanden):
Da war zum einen die Frage, ob man direkt schon die Behanghöhe anfängt zu ändern, wenn die betreffende Belegungsebene aktiviert wird (jeweilige on/off-Taste).
Dann war der brightness-Slider für den Öffnungsgrad zuständig und der HUE/Saturation-Slider für den Drehwinkel der Lamellen.

Hoffe, das ist jetzt etwas klarer, in welche Richtung das in etwa gehen könnte?
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

betateilchen

Danke,

zumindest habe ich verstanden, dass es nicht nur darum geht, damit RGB Leuchten zu steuern :)

Die Idee, den Helligkeits-Slider für die Steuerung von Rollläden zu verwenden, gefällt mir.
Mal schauen...

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Beta-User

Für Leuchtmittel dürfte in der Tat der Weg über zigbee2mqtt-Gruppen einfacher sein.

Wobei ich damit (mit anderen Tastern) eher ernüchternde Erfahrungen gemacht habe...
Ob das (oder sogar bindings) jeweils klappt, kommt mir wie eine Lotterie vor, aber das ist hier (fast) OT :'( .
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors