Onlangs heb ik de meeste LED controllers simpel vervangen met Mi-Light dimmers, WiFi controllers en afstandbedieningen; daarnaast een aantal oude 220v halogeen spots vervangen door Mi-Light downspots. Per etage heb ik een WiFi controller die elk meerdere RBG LED strips/lampen en (Dual)White LEDstrips/lampen aanstuurt op diezelfde verdieping. Aansturing van de Mi-Light WiFi controllers gaat via mijn eigen WiFi network; de controllers krijgen een IP adres via DHCP - het is zaak dat je de controllers een reserved (vast) DHCP adres geeft. Ik gebruik de Mi-Light producten nu een paar weken en tot dusver ben ik hierover erg te spreken.
Het script spreekt voor zich (LEDs aan, uit of reset). De 'reset' heb ik er ingezet zodat ik alle LED strips en lampen eens in de zoveel tijd naar de orgineel instelde kleuren en helderheid kan terugzetten. LEDs worden tijdens feesten of verjaardagen met andere kleuren ingesteld en wanneer het dan een grote janboel aan verschillende kleuren is kan ik met een simpel commando de boel terugzetten. Ik heb geprobeerd het script zo simpel mogelijk te houden zodat de code gemakkelijk te volgen en aan te passen is. Graag even zoeken op Internet voor de specifieke commando's en verdure details.
Schroom niet om het script voor eigen doeleinden aan te passen en te gebruiken. Zoals in de code - provided as is.
Roel
Code: Select all
' HS3(Pro) Event Script
' Aansturing_Milight_LEDs.vb < On | Reset | Off >
'
' Parameters:
' On - Zet LEDs en lampen aan met laatst ingestelde kleur
' Off - Zet LEDs en lampen uit
' Reset - Zet LEDs en lampen terug naar jouw 'originele' beginkleuren en helderheid
'
' Homeseer eventscript voor het aansturing van Mi-Light LEDs via meerdere Mi-Light Wifi LED RF Controllers.
' Werkt met RGB(W) dimmers, (Dual)White dimmers, DualWhite down spots en andere Mi-Light producten (of vergelijkbare andere merken).
' Provided as is - Feel free to use and adjust for own purposes.
' Roel Ovinge
Sub Main(Byval params as Object)
hs.writelog("Script", "LED - Start")
hs.writelog("Script", "LED - " & params)
Dim t As Byte
' ============
' BEGANE GROND
' ============
' WiFi LED controller begane grond
Dim udpClient1 As New System.net.Sockets.UdpClient("11.111.11.132",8899)
Select Case params
Case "On"
' Koof Woonkamer (Grp 1)
' On
udpClient1.Send(New Byte() {&H45, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Erker (Grp 2)
' On
udpClient1.Send(New Byte() {&H47, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Balkon (Grp 3)
' On
udpClient1.Send(New Byte() {&H49, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Tbd (Grp 4)
udpClient1.Send(New Byte() {&H4B, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Keukenkasten Vloer (Grp 1W)
' On
udpClient1.Send(New Byte() {&H38, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Kast Woonkamer Vloer (Grp 2W)
' On
udpClient1.Send(New Byte() {&H3D, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
Case "Reset"
' Koof Woonkamer (Grp 1)
' On / Kleur = Royal_Blue / Brightness = 75%
udpClient1.Send(New Byte() {&H45, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient1.Send(New Byte() {&H40, &H10, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient1.Send(New Byte() {&H4E, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Erker (Grp 2)
' On / Kleur = Royal_Blue / Brightness = 50%
udpClient1.Send(New Byte() {&H47, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient1.Send(New Byte() {&H40, &H10, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient1.Send(New Byte() {&H4E, &HD, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Balkon (Grp 3)
' On / Kleur = Royal_Blue / Brightness = 75%
udpClient1.Send(New Byte() {&H49, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient1.Send(New Byte() {&H40, &H10, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient1.Send(New Byte() {&H4E, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Tbd (Grp 4)
udpClient1.Send(New Byte() {&H4B, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Keukenkasten Vloer (Grp 1W)
' On / Kleur = Cool White / Brightness = 50%
udpClient1.Send(New Byte() {&H38, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Brightness Full + 5 steps brightness down
udpClient1.Send(New Byte() {&HB8, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
For t = 1 to 5
udpClient1.Send(New Byte() {&H34, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
Next
' 10 steps brightness down (
For t = 1 to 10
udpClient1.Send(New Byte() {&H3F, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
Next
' Kast Woonkamer Vloer (Grp 2W)
' On / Kleur = Cool White / Brightness = 50%
udpClient1.Send(New Byte() {&H3D, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Brightness Full + 5 steps brightness down
udpClient1.Send(New Byte() {&HBD, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
For t = 1 to 5
udpClient1.Send(New Byte() {&H34, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
Next
' 10 steps White Cool Increase (= coolest white)
For t = 1 to 10
udpClient1.Send(New Byte() {&H3F, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
Next
Case "Off"
' Koof Woonkamer (Grp 1)
' Off
udpClient1.Send(New Byte() {&H46, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Erker (Grp 2)
' Off
udpClient1.Send(New Byte() {&H48, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Balkon (Grp 3)
' Off
udpClient1.Send(New Byte() {&H4A, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Tbd (Grp 4)
' Off
udpClient1.Send(New Byte() {&H4C, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Keukenkasten Vloer (Grp 1W)
' Off
udpClient1.Send(New Byte() {&H3B, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Kast Woonkamer Vloer (Grp 2W)
' Off
udpClient1.Send(New Byte() {&H33, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Downspots Bank Woonkamer (Grp 3W)
' Off
udpClient1.Send(New Byte() {&H3A, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Downspots Bank Salontafels (Grp 4W)
' Off
udpClient1.Send(New Byte() {&H36, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
End Select
udpClient1.Close()
' =============
' 1E VERDIEPING
' =============
' WiFi LED controller 1e verdieping
Dim udpClient2 As New System.net.Sockets.UdpClient("11.111.11.181",8899)
Select Case params
Case "On"
' Kastjes Logeerkamer (Grp 1)
' On
udpClient2.Send(New Byte() {&H45, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Slaapkmr L (Grp 2)
udpClient2.Send(New Byte() {&H47, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof G (Grp 3)
' On
udpClient2.Send(New Byte() {&H49, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Tbd (Grp 4)
udpClient2.Send(New Byte() {&H4B, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
Case "Reset"
' Kastjes Logeerkamer (Grp 1)
' On / Kleur = Royal_Blue / Brightness = 75%
udpClient2.Send(New Byte() {&H45, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient2.Send(New Byte() {&H40, &H10, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient2.Send(New Byte() {&H4E, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Slaapkmr L (Grp 2)
udpClient2.Send(New Byte() {&H47, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient2.Send(New Byte() {&H40, &H10, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient2.Send(New Byte() {&H4E, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Slaapkmr G (Grp 3)
' On / Kleur = Orchid / Brightness = 75%
udpClient2.Send(New Byte() {&H49, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient2.Send(New Byte() {&H40, &HE0, &H55}, 3)
System.Threading.Thread.Sleep(100)
udpClient2.Send(New Byte() {&H4E, &H14, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Tbd (Grp 4)
udpClient2.Send(New Byte() {&H4B, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
Case "Off"
' Koof/kastjes Logeerkmr (Grp 1)
' Off
udpClient2.Send(New Byte() {&H46, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Slaapkmr L (Grp 2)
' Off
udpClient2.Send(New Byte() {&H48, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Koof Slaapkmr G (Grp 3)
' Off
udpClient2.Send(New Byte() {&H4A, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
' Tbd (Grp 4)
' Off
udpClient2.Send(New Byte() {&H4C, &H0, &H55}, 3)
System.Threading.Thread.Sleep(100)
End Select
udpClient2.Close()
hs.writelog("Script", "LED - Close")
End Sub