Mi-Light HS3 event script

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Post Reply
rovinge
Member
Member
Posts: 53
Joined: Wed Oct 05, 2011 10:06 am
Location: The Netherlands

Mi-Light HS3 event script

Post by rovinge »

Bij deze een 'snel' script wat ik met HSPro3 gebruik voor het aansturen van Mi-Light LEDs en lampen via een of meerdere Mi-Light WiFi LED controllers. Ik gebruik het met events om verlichting automatisch 's avonds aan en uit te zetten.

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
User avatar
RdP
Advanced Member
Advanced Member
Posts: 989
Joined: Thu May 04, 2006 10:14 am
Location: Netherlands

Re: Mi-Light HS3 event script

Post by RdP »

Hi,

Ik heb de nieuwe Wifi iBox gekocht (zie foto onder)

Helaas krijg ik het niet werkend met het script, omdat deze een nieuw protocol gebruikt. Wat ik ook probeer ik krijg het niet werkend.

Iemand enig idee ?
20161019121447_1856.jpg
20161019121447_1856.jpg (221.82 KiB) Viewed 4976 times
Alvast bedankt,

Rien
Rien
Post Reply

Return to “Homeseer Scripts Forum”