I made a simple UDP sender able to send unicast text messages to the local network from automations. Does not receive anything.
It is designed to locally control certain features of WiZ lights not available through SmartThings integrations. E.g. this routine activates the Deep dive dynamic colour in a couple lights ![]()
![]()
Installation and use
- Install the driver from mocelet-shared channel at https://bestow-regional.api.smartthings.com/invite/Kr2zNDg0Wr2A
- In SmartThings app go to add new devices and Scan nearby so the UDP Sender device appears.
- To send UDP messages create automations with the device. Write the input in the Advanced input action or, from the advanced website, in the
runCommandsaction. - There is a generic
ip:port messageinput format and syntactic sugar to craft WiZ setPilot commands.
Sending WiZ control commands
Make sure your lights have static IPs! You can achieve that by setting static reservations in the DHCP configuration of your router.
You may be familiar with the WiZ UDP code generator that tells you the message to send, mind itâs a bit outdated. Well, you can use those codes from automations now.
For instance, to activate the Deep dive dynamic scene at 100% brightness in a WiZ bulb, this generic syntax will work:
192.168.1.44:38899 {"id":1,"method":"setPilot","params":{"sceneId":23,"speed":145,"dimming":100}}
Syntactic sugar for the setPilot command avoids boilerplate. This is equivalent, you only have to write the magic keyword, the IP and the value of the params attribute:
pilot 192.168.1.44 {"sceneId":23,"speed":145,"dimming":100}
Supports multiple addresses, comma separated, no spaces. They are sent as close in time as possible to avoid popcorn effect:
pilot 192.168.1.44,192.168.1.45,192.168.1.46 {"sceneId":23,"speed":145,"dimming":100}
Useful info
- SmartThings app has an arbitrary character limit for the input, for some long commands you may need to use the Rules API instead.
- WiZ has no official documentation (well, partially) but you can find information by inspecting the source code of pywizlight, here is the list of dynamic scene ids and some info of dual-zone lamps. Comments at https://www.reddit.com/r/wiz/ are also useful, especially from user wiz-dude like the insights on the TV sync modes.
Some more examples
Turn on: pilot 192.168.1.44 {"state":true}
Turn off: pilot 192.168.1.44 {"state":false}
3000K 75%: pilot 192.168.1.44 {"temp":3000,"dimming":75}
Extra-low brightness orange-ish: pilot 192.168.1.44 {"r":1,"g":0,"b":0,"w":1,"c":0,"dimming": 1}



