Hallo Beta-User und all die anderen,
ich bin nun ein Stück weiter:
In den vergangenen 3 Wochen habe ich mir ein ESP8266 und ein nRF24L+-Modul zugelegt, beides nach Anleitung von Chris Mullins verkabelt, mittels "NODEMCU Firmware Programmer" auf Version 1.7.1 geflasht, ins WLAN gebracht, über das Webinterface auf Version 1.8.0 aktualisiert. Das hat soweit geklappt.
Starte ich nun das Sniffing im MiLight Hub und drücke anschließend eine Taste auf der oben gezeigten Fernbedienung sehe ich im Bereich "Traffic sniffed (sent and received)" Einträge zu "cct packet received". Ich gehe daher davon aus, dass die Komponenten funktionieren und die Firmware korrekt geflasht wurde und alles lauffähig ist.
Nun entspricht das von der Fernbedienung empfangene Paket nicht dem Beispiel von Chris Mullins im Bezug auf die Bezeichner
HIER.
cct packet received (7 bytes):
Request type : 5A
Device ID : 4307
b1 : 81
b2 : D2
b3 : 00
Sequence Num. : D2
Die Device ID lässt sich anhand des Bezeichners gut herausfinden. Trage ich diese im MiLight Hub ein, stelle den Remote Type auf CCT um, passiert aber nichts.
Im Bereich "Traffic sniffed (sent and received)" sehe ich nun auch die gesendeten Pakete, allerdings haben diese einen anderen Aufbau (Zuordnung von Werten zu den Bezeichnern).
cct packet received (7 bytes):
Request type : 5A
Device ID : 4307
b1 : 01
b2 : 0B
b3 : 02
Sequence Num. : B9
Nach meinen Tests und Prüfungen ergibt sich für mich folgende Zuordnung:
cct packet received (7 bytes) | jedes bisher gesendete und empfangene Paket hat 7 byte |
Request type | jedes bisher gesendete und empfangene Paket hat den Type 5A |
Device ID | jedes bisher empfangene Paket hat die ID 4307; wenn ich diese ID im Hub eintrage, enthalten alle gesendeten Pakete ebenfalls diese ID |
b1 | jedes bisher gesendete Paket scheint hier die Group zu enthalten. Je nach dem welche Group ich in MiLight Hub einstelle (1-4 oder all) wird dieser Paramter bei einem gesendeten Paket hier angegeben (01-04 oder 00). jedes bisher empfangene Paket enthält hier allerdings eine Nummer zwischen 80 und 85. Der Wert ist abhängig davon, welche Taste ich drücke (Zuordnung siehe unten) |
b2 | jedes bisher gesendete Paket schickt hier immer einen anderen Wert, je nach dem welche Einstellungen ich im MiLight Hub bei Farbtemperatur, Helligkeit und Status (an/aus) auswähle / anklicke. Status an ist immer 08, Status aus ist immer 0B. jedes bisher empfangene Paket enthält hier eine fortlaufende HEX-Nummer. Wenn ich mehrmals die gleiche Taste an der Fernbedienung drücke ist das gut zu sehen (.....E8,E9,EA,EB,EC,EE,EF.....)(identisch zu Sequence Num) |
b3 | jedes bisher gesendete Paket enthält hier eine fortlaufende HEX-Nummer. Wenn ich mehrmals die gleiche Taste im MiLight Hub drücke ist das gut zu sehen (.....71,72,73,74,75,76,77.....) jedes bisher empfangene Paket enthält hier 00, egal welche Taste an der Fernbedienung gedrückt wird |
Sequence Num | jedes bisher gesendete Paket enthält hier eine fortlaufende HEX-Nummer, allerdings nicht in 1er Schritten, sondern in 2er Schritten (...47,49,4B,4D.........). Eine Zurodnung zu einem anderen Wert ist hier nicht möglich. jedes bisher empfangene Paket enthält hier eine fortlaufende HEX-Nummer. Wenn ich mehrmals die gleiche Taste an der Fernbedienung drücke ist das gut zu sehen (.....E8,E9,EA,EB,EC,EE,EF.....) (identisch zu b2) |
Je nach dem, welche Taste der Fernbedienung ich drücke, ergibt sich für b1 folgender Wert:
Fernbedienung | -->> | cct Packet Value |
Taste heller | -->> | b1 = 81 |
Taste dunkler | -->> | b1 = 80 |
Taste Licht ein | -->> | b1 = 83 |
Taste Licht aus | -->> | b1 = 82 |
Taste warmweiß | -->> | b1 = 84 |
Taste kaltweiß | -->> | b1 = 85 |
Zusammenfassung:
- die Fernbedienung sendet bei b1 immer die Taste, die gedrückt wurde
- die Fernbedienung sendet bei b2 immer eine fortlaufende HEX-Nummer
- die Fernbedienung sendet bei b3 immer 00
- der MiLight Hub sendet bei b1 immer die Group, die eingestellt ist
- der MiLight Hub sendet bei b2 immer den Ziel-Schaltzustand (so würde ich das mal interpretieren)
- der MiLight Hub sendet bei b3 immer eine fortlaufende HEX-Nummer (in 2er Schritten)
Habe ich nun eine Change MiLight Hub und die WOFI Lampen zusammen zu bringen?
Kann ich mittels curl oder raw_commands die zu sendenden Parameter für b1,b2,b3 selbst definieren? Wenn ja, wie?
Die Beschreibung der REST endpoints mit "POST /raw_commands/:device_type" habe ich bereits gesehen, allerdings wird nicht beschrieben, welcher Wert im Paket an welche Stelle gehört.
Vielen Dank für's Lesen und hilfreiche Infos.