aequitas/python-rflink

Milight support broken

djm300 opened this issue · 1 comments

The RFLink library does not correctly support Milight, in the sense that it does not follow the command structure Rflink expects: a milightv1 command requires an id AND a COLOR id (which should be supplied as a separately delimited field in RFlink) such as this:
10;MiLightv1;9E9A;01;06E8;ON;

There is no possibility to give a color value in the rflink command tool.

(! 1267)-> rflink alloff milightv1_9e9a_01 -vv --repeat=5

DEBUG:asyncio:Using selector: EpollSelector
DEBUG:rflink.protocol:connected
DEBUG:rflink.protocol:sending command: {'id': '9e9a', 'protocol': 'milightv1', 'switch': '01', 'command': 'alloff'}
DEBUG:rflink.protocol:writing data: '10;milightv1;9e9a;01;alloff;\r\n'
DEBUG:rflink.protocol:waiting for acknowledgement
DEBUG:rflink.protocol:received data: 20;00;Nodo Radio
DEBUG:rflink.protocol:received data: FrequencyLink - RFLink Ga
DEBUG:rflink.protocol:received data: teway V1.1 - R48;
DEBUG:rflink.protocol:got packet: 20;00;Nodo RadioFrequencyLink - RFLink Gateway V1.1 - R48;
DEBUG:rflink.protocol:decoded packet: {'node': 'gateway', 'firmware': 'RFLink Gateway', 'revision': '48', 'hardware': 'Nodo RadioFrequencyLink', 'version': '1.1', 'protocol': 'unknown'}
DEBUG:rflink.protocol:got event: {'hardware': 'Nodo RadioFrequencyLink', 'revision': '48', 'version': '1.1', 'id': 'rflink', 'firmware': 'RFLink Gateway'}
rflink Nodo RadioFrequencyLink RFLink Gateway V1.1 R48
DEBUG:rflink.protocol:received data: 20;01;MiLight=ON;
WARNING:rflink.protocol:dropping invalid data: 20;01;MiLight=ON;
WARNING:rflink.protocol:acknowledge timeout
DEBUG:rflink.protocol:sending command: {'id': '9e9a', 'protocol': 'milightv1', 'switch': '01', 'command': 'alloff'}
DEBUG:rflink.protocol:writing data: '10;milightv1;9e9a;01;alloff;\r\n'
DEBUG:rflink.protocol:waiting for acknowledgement
DEBUG:rflink.protocol:received data: 20;02;
DEBUG:rflink.protocol:received data: CMD UNKNOWN;
DEBUG:rflink.protocol:got packet: 20;02;CMD UNKNOWN;

DEBUG:rflink.protocol:decoded packet: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:command response: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:packet acknowledged
DEBUG:rflink.protocol:sending command: {'id': '9e9a', 'protocol': 'milightv1', 'switch': '01', 'command': 'alloff'}
DEBUG:rflink.protocol:writing data: '10;milightv1;9e9a;01;alloff;\r\n'
DEBUG:rflink.protocol:waiting for acknowledgement
DEBUG:rflink.protocol:received data: 20;03;CMD UNKNOWN;
DEBUG:rflink.protocol:got packet: 20;03;CMD UNKNOWN;
DEBUG:rflink.protocol:decoded packet: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:command response: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:packet acknowledged
DEBUG:rflink.protocol:sending command: {'id': '9e9a', 'protocol': 'milightv1', 'switch': '01', 'command': 'alloff'}
DEBUG:rflink.protocol:writing data: '10;milightv1;9e9a;01;alloff;\r\n'
DEBUG:rflink.protocol:waiting for acknowledgement
DEBUG:rflink.protocol:received data: 20;04;CMD UNKNOWN;
DEBUG:rflink.protocol:got packet: 20;04;CMD UNKNOWN;
DEBUG:rflink.protocol:decoded packet: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:command response: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:packet acknowledged
DEBUG:rflink.protocol:sending command: {'id': '9e9a', 'protocol': 'milightv1', 'switch': '01', 'command': 'alloff'}
DEBUG:rflink.protocol:writing data: '10;milightv1;9e9a;01;alloff;\r\n'
DEBUG:rflink.protocol:waiting for acknowledgement
DEBUG:rflink.protocol:received data: 20;05;CMD UNKNO
DEBUG:rflink.protocol:received data: WN;
DEBUG:rflink.protocol:got packet: 20;05;CMD UNKNOWN;
DEBUG:rflink.protocol:decoded packet: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:command response: {'node': 'gateway', 'protocol': 'unknown', 'response': 'command_unknown', 'ok': False}
DEBUG:rflink.protocol:packet acknowledged

Any progress on this? I have two MiLight LED controllers. I would really like to change RGB and brightness on those. Also, HA says "dropping invalid data: 20;01;MiLight=ON;" on every boot.