Home Assistant Community

Skydance 2.4G RF

#1

I have recently purchased a few “Skydance” light controllers. The range is huge and includes a full spread of 120/220V devices aswell as 12/24V and DMX controllers for dimming/leds/RGB etc.

These are my specific devices…

They all interoperate via a proprietary 2.4G (not 433!) RF protocol. This is (unfortunately) undocumented and clearly operates only between “controllers” (remotes/wall switches etc) and “remote devices” (light units). There is no update on states from remotes to controllers.The actual quality of the devices - especially the dimmer wall switch and remotes feels good.

However there is a WiFi connected “relay” (and some wifi connected controllers). The app is truly woeful but investigation showed it is direct local (unencrypted) control between the App and the Controller with no remote cloud. Having spent some time with packet captures and in combination with boydg I have managed to replicate the basics of control for my devices. Initially via a Python script I have actually implemented on HA via Node Red…


Essentially within HA I create template lights that “do nothing” directly - but NR picks up state changes and triggers the necessary control via the WiFI relay. There is of course no feedback - so the switches do not stay in sync if lights are controlled locally. not ideal, but acceptable in this case for me.

This is proving to work well in practice. With on/off/dim and preset scenes etc all working

Anyone looking at these devices (which also have other names on the normal chinese sites) I’m more than happy to share more details. - just PM/mail me. I would imagine a component/integration is more than possible with the understanding we have now…but well beyond my coding/python at this point.

3 Likes
Bytearray?
Skydance LED dimmer and Light Control in HA
#2

Great work, I’m sure this SkyDance units will rock once they can be used in a home assistant software. In my case I would like to integrate it in Openhab, so I’m really interested in your code / packet bytes to control this unit. I tried to use Wireshark sniffer to decode the packets sent to the unit but I have serious problems running the Android App…

Sorry I’m a newbie and I’m unable to find a way to send you a PM or email. Can you please contact me by PM o email (obrador at espaiweb.net). I’ll be very grateful.

Thanks in advance
Jaume.

#3

Hi! I am very interested, too, but don’t know how mail you, too. You can find me at dalton at dsweb dot com dot br.

#4

Hi. DeanoX, I made a progress deciphering the codes sent to the relay and vice-versa, but I would like to share with you to check if I’m in the right path.

DaltonSponholz, I can share with you my progress if you like to contact me at obrador [at] espaiweb.net. I’ve been working with dimmable S1-B devices and now I’m able to turn on, off and dim the device. I used another approach, using linux shell scripting and mqtt to operate.

#5

Hi everybody, I started a wiki here: http://dokuwiki.espaiweb.net to share with you my progress, I also invite every one interested in this devices to join us there.

Kind regards.
Jaume.

1 Like
#6

Email sent to both - nice looking Wiki :slight_smile:

#7

Sounds very interesting since there seems no easy operated proces by dimming custom lights which are ‘now’ manually controlled by a LED-dimmer.

Can this be integrated in a Home Assistant release as well? How do you use this nowadays? Do you use the WiFI relay or did you make a 2.4Ghz RF Bridge with NRF module tranceiver (like RFLink for example)?

#8

Hi @DeanoX How is the S1-B working for you now? I tried to PM you for details of the Node Red details but Im only new here so think I cannot PM.

I have bought some S1-B’s for my new home and some iTead Sonoff switches for areas I don’t need dimmers. Anything you can tell me that will make it easier would be appreciated.

Cheers

Jason

#9

Hi obrador,

what is the content of /etc/default/mqtt_client file?

Never mind, I made it working.

Jarek

#10

could you add some more explanation, how you got it working? perhaps show only basic scripts, how to dim/on/off lights, without the daemon and mqtt intagration

#11

OK, I will only point to thing which are not directly explained on obrador page.

  1. Follow obrador instruction for OpenHab integration.

  2. Name of operational script will become root of topic. So if you name it wifirelay.sh the topic will be /wifirelay/XXX/command.

  3. I added to following lines to header of mqtt_client file in /etc/init.d, so I don’t need to create another file /etc/default/mqtt_client file.

    HOST=192.168.0.15 # MQTT host
    LOGFILE="/var/log/mqtt_client.log"
    LOGDATEFORMAT="%Y-%m-%d %H:%M:%S.%3N"
    SCRIPTDIR=/etc/mqtt_client/scripts

Alternatively you can put them into /etc/default/mqtt_client file.

4.Wifi relay preparation was nightmare for me. The trick is connect directly to Wifi Relay and match with your dimmer using SkySmart app. Double check if it work well, ONLY THEN connect WiFi Relay to your home network. Check again it works well with SkySmart app.

  1. Run operational script with get_devices as argument. It will give you Relay code and Device Code for each connected device. it will also ask for name of topic for each device. This name will become second part of topic. I name my dimmer led1 and full topic is/wifirelay/led1/command.

  2. I also change line 73 from:

DIMHEX=$(printf "%02x" $(( "$DIM"*255/100 )))

as HA uses 8 bit encoding, not OpenHAB %. to:

DIMHEX=$(printf "%02x" $(( "$DIM" )))

commands are ON, OFF or X where x is 0-255 value of brightness.

I checked it with MQTT client and it works well with dimming as expected.

The proper definition of dimmable light which works with this scrips if as follow:

light:
  - platform: mqtt
    name: "LED Dimmer test2"
    schema: template
    command_topic: "/wifirelay/led1/command"
    command_on_template: >
      {%- if brightness is defined -%}
      {{ brightness }}
      {%- else -%}
      ON
      {%- endif -%}
    command_off_template: 'OFF'
#12

I manage to made working HA add-on based on @obrador work.

Video of first version of SkyDance addon

The problem is, it requires device file which is generated interactively. I don’t have any idea how to approach this in add-on