How to Milight Sidoh-ESP-Hub mit MQTT2 -Modul

Begonnen von Delta80, 18 November 2018, 16:04:14

Vorheriges Thema - Nächstes Thema

Delta80

Hallo zusammen,

hab mich hier schon ein wenig eingelesen, komme aber noch nicht auf nen grünen Zweig und würde mich über Unterstützung freuen :-)
Hier mal kurz das bisherige Setup


  • Sidoh-Bridge (auf Wemos D1 mini + NRF2401) im lokalen Netzwerk eingebunden, Zugriff auf die Weboberfläche steht.
  • MQTT2 Server in Fhem angelegt
defmod MQTT2_Server_FHEM MQTT2_SERVER 45992 global
attr MQTT2_Server_FHEM room MQTT

  • In FHEM Bridge MQTT2 Device angelegt
defmod Milight_Bridge MQTT2_DEVICE milight_00AABB
attr Milight_Bridge IODev MQTT2_Server_FHEM
attr Milight_Bridge readingList milight_00AABB:milight/updates/0xABCD/rgbw/0:.* { json2nameValue($EVENT) }\
milight_00AABB:milight/updates/0xABCD/rgbw/1:.* { json2nameValue($EVENT) }\
milight_00AABB:milight/states/0xABCD/rgb_cct/1:.* { json2nameValue($EVENT) }
attr Milight_Bridge room MQTT

  • In FHEM MQTT2 Device für einen Milight RGB-CCT Controller angelegt
defmod Licht_Flur MQTT2_DEVICE
attr Licht_Flur IODev MQTT2_Server_FHEM
attr Licht_Flur eventMap /set_white:Weiss/night_mode:Nacht/white_mode:white/on:on/off:off/ON:on/OFF:off/
attr Licht_Flur icon light_control
attr Licht_Flur readingList milight_00AABB:milight/states/0xABCD/rgb_cct/1:.* { json2nameValue($EVENT) }
attr Licht_Flur room MQTT
attr Licht_Flur setList on milight/0xABCD/rgb_cct/1 {"status":"ON"}\
off milight/0xABCD/rgb_cct/1 {"status":"OFF"}\
level:colorpicker,BRI,0,1,100 milight/0xABCD/rgb_cct/1 {"$EVTPART0":"$EVTPART1"}\
hue:colorpicker,HUE,0,1,359 milight/0xABCD/rgb_cct/1 {"$EVTPART0":"$EVTPART1"}\
command milight/0xABCD/rgb_cct/1 {"$EVTPART0":"$EVTPART1"}\
brightness milight/0xABCD/rgb_cct/1 {"$EVTPART0":"$EVTPART1"}
attr Licht_Flur webCmd level:hue:command
attr Licht_Flur widgetOverride state command:uzsuSelectRadio,Weiss,Nacht


  • In der Sidoh Bridge MQTT Konfiguriert
MQTT server: 192.168.0.21:45992
MQTT topic pattern: milight/:device_id/:device_type/:group_id
MQTT update topic pattern: milight/updates/:hex_device_id/:device_type/:group_id
MQTT state topic pattern: milight/states/:hex_device_id/:device_type/:group_id


Vielleicht habt ihr ja noch Anleitungen, könnt mir sagen, was ich vergessen habe oder ändern muss damit es läuft.

Besten Dank vorab für die Hilfe!

Gruß
Mario

Beta-User

Den Thread zum ehemaligen Modul kennst du? Da hat jemand auch code für die cct-Variante gepostet.

Ansonsten: Server: attr autocreate 1

In der bridge-config noch level als zu senden des Element auswählen bzw checken, ob alles angehakt ist, was du als readings brauchst. Evtl. Auch nochmal das Licht-Device löschen und von autocreate erstellen lassen, dazu am "Bridge"-Device das " Bridge"-Attribut setzen (in fhem).
Server: HP-elitedesk@Debian 12, 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

Delta80

Danke, der Tip mit dem Autocreate direct im MQTT2_SERVER hat geholfen. Hatte nur das globale autocreate aktiviert... Danach wurde die Sidoh Bridge mit einer einer neuen Hub ID erkannt.

Beta-User

Server: HP-elitedesk@Debian 12, 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

Funsailor

Warum geht die Eingabe


attr Milight_Bridge readingList milight_BAD6:milight/updates/0xABCD/rgbw/0:.* { json2nameValue($EVENT) }\
milight_BAD6:milight/updates/0xABCD/rgbw/1:.* { json2nameValue($EVENT) }\
milight_BAD6:milight/states/0xABCD/rgb_cct/1:.* { json2nameValue($EVENT) }


bei mir nicht?
Esist zwar schon wieder viel zu spät, aber ich komme nicht weiter.

Ich bekomme immer

syntax error at (eval 6966) line 1, near "milight_BAD6:"
syntax error at (eval 6966) line 1, near "milight_BAD6:"

Wenn ich dann das im Editor der readingList direkt eingebe, meckert er mir die Zeilenumbrüche an

Sieht dann so aus:
milight_BAD6:milight/updates/0xABCD/rgbw/1:.* { json2nameValue($EVENT) }\
milight_BAD6:milight/updates/0xABCD/rgbw/1:.* { json2nameValue($EVENT) }\
milight_BAD6:milight/states/0xABCD/rgb_cct/1:.* { json2nameValue($EVENT) }

Ergibt dann die Fehlermeldung

unsupported character in readingname { json2nameValue($EVENT) }\

Garantiert wieder nur so ein Lapsus, aber wo steht das schon wieder?


- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Beta-User

Zum einen ist das mit den "\" für den RAW-Editor gedacht und muß daher in der direkten Eingabe im Eingabefeld für das Attribut weggelassen werden.

Zum anderen ist das hier m.E. kein HOWTO im engeren Sinne (@TE, wenn du das genauso siehst: Mach mal ein "[veraltet]" im Thread-Titel des ersten Beitrags davor ;) ).

@Funsailor: Die aktuellste und einfachste Variante zur Einrichtung von Milight via Sidoh-Bridge@MQTT2 - zunächst mal ohne großes eigenes Rumgeeditiere in den Attributen - findest du im Wiki bei den Praxisbeispielen zu MQTT2. Da gibt es fertige templates, die vieles bereits recht komfortabel abdecken sollten. Verbesserungsvorschläge dazu nehme ich gerne entgegen.
Server: HP-elitedesk@Debian 12, 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

DasQ

Ja irgendwie ist dieser threadtitel hier total irreführend.

Besser wär vielleicht ein vorangestelltes ,,frage zu"
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Funsailor

#7
Danke für die  schnellen Antworten,
bin immer noch ziemlich müde, der Wecker war unerbitlich  :-[

Ich wollte ja wie im WIKI beschrieben meine Milight einbinden.
Habe dazu (wie Delta80) den HUB aufgebaut und in Betrieb genommen.
Damit konnte ich die Lampen aus der Oberfläache schon mal ansteuern  8)
Dann habe ich den Server definiert

defmod MQTT2_Server_FHEM MQTT2_SERVER 45992 global
attr MQTT2_Server_FHEM room MQTT

und mir die Frage gestellt, was ich im HUB einzustellen habe. Über diese Frage bin ich auch in diesen Thread gestolpert
Ich habe dann diese Werte im HUB übernommen (IP und ID angepasst):


MQTT server: 192.168.xxx.xxx:45992
MQTT topic pattern: milight/:device_id/:device_type/:group_id
MQTT update topic pattern: milight/updates/:hex_device_id/:device_type/:group_id
MQTT state topic pattern: milight/states/:hex_device_id/:device_type/:group_id




Hier das Listing meines MQTT2_Server_FHEM:

Internals:
   CFGFN     
   DEF        45992 global
   FD         75
   FUUID      5c5b6832-f33f-088a-ace9-91849779e82f8e68
   NAME       MQTT2_Server_FHEM
   NR         499
   PORT       45992
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2019-02-07 00:05:22   nrclients       0
     2019-02-07 00:05:22   state           Initialized
   clients:
   retain:
Attributes:
   autocreate 1
   room       MQTT


Dann die Fernbedienung betätigt, aber nichts ist passiert.

Ich habe den Test in der Nähe meiner FritzBox (3,5m) und dem RGB CCT Spot (2,5m) gemacht. Empfangsprobleme dürfte es nicht geben.

Kann leider erst heute Abend wieder testen, komme zwar an mein FHEM via VPN ran, aber den HUB habe ich heute morgen im Frust abgezogen ...

Nachtrag:
Vor dem definieren des MQTT2_SERVER hatte ich ein komplettes Update gemacht, danach noch nicht.
Ich habe jetzt nochmal ein update gemacht, ich werde das heute abend nochmals testen....

- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Beta-User

Anmerkung:
Sieht soweit ok aus, aber es sollte bereits was über MQTT ankommen (autocreate usw.), wenn du _am HUB_ die Lampe ansteuerst. Leider erkennt das Teil nicht alle Fernbedienungen (meine einkanaligen z.B. auch nicht)...

Daher sollte man immer erst den Teil der Strecke abgehen, der funktioniert, und nicht gleich alles auf einmal wollen ;) .
Server: HP-elitedesk@Debian 12, 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

Funsailor

Das war ja auch meine Absicht, aber leider hat weder die Fernbedienung noch die Bedienung am HUB irgendetwas ausgelöst.
Mal sehen ob das Update da etwas geändert hat.

Noch eine Frage:
Das von mir angelegte MQTT2_DEVICE Milight_Bridge solte ich wieder löschen, das wird dann auch per Autocreate angelegt.
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Beta-User

Korrekt: Grundsätzlich sollte (fast) alles automatisch gehen, steht doch so auch im Wiki.

Wenn gar nichts geht: Kann es sein, dass der ESP den nRF nicht erkennt (richtiger PIN angegeben?!?, einen muß man umstellen, wenn man ein MySensors-GW nutzt). Kann sein, dass die firmware erst mal gar nichts meldet, wenn die Hardware nicht will.

Ansonsten: versuche mal eine Portnummer im üblichen Bereich, kann auch sein, dass es an sowas hängt.
Server: HP-elitedesk@Debian 12, 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

Funsailor

#11
Hallo,
so hub ist wieder online.
Neue Lamoe angelernt.
Vom Hub aus (also von der WEB Oberfläche des MiLightHub aus) kann ich die Lampe bedienen
Ich kann auch meine RGB CCT Fernbedienung sniffen.
Die Hardware des Hubs scheint soweit OK zu sein.
Portnummer im Hub und in FHEM geändert.
:-[ Immer noch nichts
Und dann ... Asche über mein Haupt. Ich lege mir demnächst Nachtarbeitsverbot auf.
Ich hatte tatsächlich in meiner IP Adresse einen Zahlendreher drin.
Das waren mindestens 4 Stunden umsonst ....

Edit:
Nach dem Bedienen der Lampe über das Web habe ich das Template
set MQTT2_milight_hub_5917353 attrTemplate X_01_esp_milight_hub_bridge wie im Wiki beschrieben benutzt.
Aber danach passiert nichts mehr.
Ein Problem gelöst, schon klopft das nächste an die Tür.


Internals:
   CFGFN     
   CID        milight_hub_5917353
   DEF        milight_hub_5917353
   DEVICETOPIC MQTT2_milight_hub_5917353
   FUUID      5c5c9e5b-f33f-088a-0ee2-ea99c4278cf3cc80
   IODev      MQTT2_Server_FHEM
   NAME       MQTT2_milight_hub_5917353
   NR         724
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
Attributes:
   IODev      MQTT2_Server_FHEM
   autocreate 1
   bridgeRegexp mylight_BAD6/states/(0x....)/.*/([0-4])?.*:.* "milight_$1_$2"
   model      X_01_esp_milight_hub_bridge
   room       MQTT2_DEVICE
   setStateList on off

- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Beta-User

Hmm, die bridgeRegexp sieht seltsam aus:bridgeRegexp mylight_BAD6/states/(0x....)/.*/([0-4])?.*:.* "milight_$1_$2"Sollte m.E. mit deinen neulich geposteten Angaben eher so aussehen:
bridgeRegexp milight/states/(0x....)/.*/([0-4])?.*:.* "milight_$1_$2"

Bist du sicher, dass da alles zusammenpaßt und nichts mehr an Altlasten vom vielen Hin- und Herkonfigurieren vorhanden ist?
Server: HP-elitedesk@Debian 12, 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

DasQ

also ich würde das ganze alte zeugs löschen und danach fhem neustarten.

dann nochmals alles von vorn einrichten.

und wie hast du den milight-hub mit dein lampen gepairt? Mit der ID von der Fernbedienung, oder mit einer fiktiven?
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Funsailor

Hallo Beta-User,
das Listing war nicht ganz korrekt.
Da ich gestern nicht weitergekommen bin, hatte ich mehrere Versuche gestartet.
Die bridgeRegexp sieht letztendlich so aus:
   bridgeRegexp milight/states/(0x....)/.*/([0-4])?.*:.* "milight_$1_$2"

Passen dazu die Einstellungen aus dem HUB?
MQTT Server:              192.168.xxx.yyy:8800
MQTT topic pattern:    MQTT topic pattern: milight/:device_id/:device_type/:group_id

Upps, und hier ist der Fehler. Copy and Paste ohne den Kopf einzuschalten.
Ich habe vorgestern die MQTT Parameter einfach rauskopiert und in die Zeilen des HUBs eingefügt und mir keine weiteren Gedanken gemacht :-[ :-[ :-[

Oje oje, das mit dem Nacharbeitsverbot sollte ich mir merken.

Geändert, den HUB bedient (Dank VPN geht das von unterwegs  8) ) und Plop, das neue Device ist da.

So weit erst mal vielen herzlichern Dank für eure Gedult und Ausdauer.
Ich geh jetzt erst mal mit der E....mütze in die Ecke.






- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -