1.2.2 • Published 2 years ago
@suisse00/wiz-local-control v1.2.2
NB! it's a prelease version, provided AS IS
NodeJS library for controlling WiZ Lights via UDP
Prerequisites
- MacOS/Linux
- NodeJS >8.11.1
Usage
Looking for the devices and listening for the status updates
Create instance of WiZLocalControl class
const wizLocalControl = new WiZLocalControl({
incomingMsgCallback: (msg: WiZMessage, ip) => {
console.log(`Received the message from WiZ Light ${JSON.stringify(msg)}`)
},
interfaceName: config.udp.interfaceName
});
Start listening for the incoming messages
wizLocalControl.startListening();
Controlling WiZ lights
Change brightness
changeBrightness(brightness: number, lightIp: string)
brightness
– Integer from range 10..100Sample request
wizLocalControl.changeBrightness(10, "192.168.1.21"));
Change status (ON or OFF)
changeStatus(status: boolean, lightIp: string)
status
–true
will turn light ON,false
- OFFSample request
wizLocalControl.changeStatus(true, "192.168.1.21"));
Change light mode - change currently played scene, or color temperature or RGB color
changeLightMode(lightMode: LightMode, lightIp:string)
lightMode
could be either{ type: "scene", sceneId: sceneId }
, wheresceneId
is an integer from range 1..28{ type: "color", r: red, g: green, b: blue }
– wherer
,g
,b
are integers from range 0..255{ type: "temperature", colorTemperature: colorTemperature }
– wherecolorTemperature
is integere from range 2200..6500
Sample requests
// Change scene to Ocean wizLocalControl.changeLightMode({ type: "scene", sceneId: 1 }, "192.168.1.21");
// Change color to yellow wizLocalControl.changeLightMode({ type: "color", r: 255, g: 255, b: 0, }, "192.168.1.21");
// Change color temperature to approx. 4000K wizLocalControl.changeLightMode({ type: "temperature", colorTemperature: 4000 }, "192.168.1.21"))
Change speed - change speed of the currently played dynamic scene (Ocean, Romance, Party, etc).
changeSpeed(speed: number, lightIp: string)
speed
– Integer from range 20..200Sample request
wizLocalControl.changeSpeed(140, "192.168.1.21"));