Hola richi,
si te fijas en el script de mjg59 (broadlink/__init__.py), solo tiene 3 'sendto', 2 que se envían a la ip de broadcast 255.255.255.255, en las líneas 113 y 547,
113 cs.sendto(packet, ('255.255.255.255', 80))
547 sock.sendto(payload, ('255.255.255.255', 80))
y una tercera en la 277
274 with self.lock:
275 while True:
276 try:
277 self.cs.sendto(packet, self.host)
278 self.cs.settimeout(1)
279 response = self.cs.recvfrom(1024)
280 break
281 except socket.timeout:
282 if (time.time() - starttime) > self.timeout:
283 raise
284 return bytearray(response[0])
por lo que debe ser en esta línea donde se envía el comando al RM. Con un simple
print ('AQUI')
antes y despues de
self.cs.sendto(packet, self.host)
para que quede
print ('AQUI')
self.cs.sendto(packet, self.host)
print ('AQUI')
y habiendo puesto previamente en la línea 14 el
import binascii
deberías de tener un output
AQUI
AQUI
en la consola en la que estés lanzando el comando
BlackBeanControl.py -c test1
por lo que cambiando cualquiera de los dos (o ambos)
print ('AQUI')
por
print ('Encoded:', binascii.b2a_base64(packet) )
deberías de obtener el comando encriptado y firmado por pantalla.