1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

magichome wifi led

Discussion in 'Hardware Support' started by 5natch, 17 May 2019.

  1. 5natch

    5natch New Member

    RPi1/Zero, RPi2, RPi3
    Has anybody tried to control these cheap wifi led controllers with hyperion?

    thanks in advance
  2. Keen

    Keen New Member

    I have a magic home led controller with rgb (no w), and IR-remote input. It uses an ESP8285 Chip as far as i know. I tried the udp and udp(newimp) method but it didn't work.
    I also use homeassistant for my led controller and with the flux_led component it was able to control the led controller by just entering the ip-address without any further configuration. So i'm asking myself, if home assistant can do it, why hyperion cannot?

    Since home assistant and it's components are open-source i took a look at the code of flux_led but it didn't get me any further.
    My assumption is, that flux_led uses a different protocoll than udp and since hyperion only supports udp for remote control in a network i'm done for now.
    Maybe i can flash some custom firmware on the ESP8285 Chip to get udp working. Or maybe the led controller just uses a specified/differen port. I googled a lot for it but i didn't find anything usefull for now. I also scanned my led controller for open ports, but it didn't find any port at all.

    If anybody else has some experience in magic home led controllers or a ESP8285 Chip in combination with hyperion, i would love to hear your thoughts.

    Turns out i used the port scaner with wrong arguments and now it finds two open ports, one udp 48899 and one tcp 5577.
    I used wireshark to sniff the traffic between the magic home app and the led controller where is my led controller and the client with the app:
    No.     Time           Source                Destination           Protocol Length Info
          4 23.405919        TCP      66     50421 → 5577 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM=1
          5 23.410354        TCP      58     5577 → 50421 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
          6 23.410661        TCP      62     50421 → 5577 [PSH, ACK] Seq=1 Ack=1 Win=64240 Len=8
          7 23.411116        TCP      62     50421 → 5577 [FIN, PSH, ACK] Seq=9 Ack=1 Win=64240 Len=8
          8 23.417897        TCP      55     5577 → 50421 [PSH, ACK] Seq=1 Ack=9 Win=5832 Len=1
          9 23.417898        TCP      54     5577 → 50421 [FIN, ACK] Seq=2 Ack=18 Win=5823 Len=0
         10 23.417971        TCP      54     50421 → 5577 [RST, ACK] Seq=18 Ack=2 Win=0 Len=0
    Looks like the controlling goes all over the tcp protocol. That are really bad news, since hyperion only supports udp.

    But i also found a Github-Project where magic home led controllers are controlled via udp.
    I tried it myself and send a HF-A11ASSISTHREAD via udp to my led controller and got a response even though i have a different model than the Github-Project.

    Thats the current state of my knowledge about magic home and hyperion.
    I'm looking forward to make my led controller controllable via udp. If i succeed, i will report it here and the next step would be to impelement a new protocol option for udp in hyperion (LedDeviceUdp.cpp).
    Last edited: 16 November 2019