0.9.18 • Published 5 years ago

pimatic-milight-reloaded v0.9.18

Weekly downloads
16
License
GPL-2.0
Repository
github
Last release
5 years ago

pimatic-milight-reloaded

Npm Version Build Status Dependency Status

A pimatic plugin to control Milight LED bulbs and OEM equivalents auch as Rocket LED, Limitless LED Applamp, Easybulb, s`luce, iLight, iBulb, and Kreuzer.

Status of Implementation

Since the first release the following features have been implemented:

  • Support for the Milight controller iBox1 and iBox2, including auto-discovery
  • Improved auto-discovery supporting multi-homed hosts
  • Support for bridge light of the iBox2 controller
  • Milight color action to control color of MilightRGBWZone, MilightBridgeLight, and MilightFullColorZone. Note, the action currently only changes the hue value of the lights. Brightness control can be added, but unfortunately it is not possible to control saturation which limits the color rendition, drastically
  • Implemented basic support for V6 full color bulbs (color temperature and saturation control missing to date)
  • Implemented actions to control color temperature and brightness for MilightWWCWZone
  • Implemented blink action to let the lights flash for given number of times
  • Implemented actions control effect modes for MilightRGBWZone, MilightBridgeLight, and MilightFullColorZone
  • Implemented saturation control for full color bulbs
  • Implemented support for new 8-zone controller

The next steps are as follows:

  • Improve the support for the new full color bulbs by adding the missing features, i.e. color temperature
  • Provide a custom UI control
  • Provide more actions for other stuff like advanced dimming with fading

Notable Changes

As of version 0.9.14 the color device types now implement the default behaviour of pimatic dimmer, i.e. turning the dimmer on will always set the dim level to 100%. If you wish to retain the old behavior, you set the device configuration option keepDimlevel to true.

Contributions

Contributions to the project are welcome. You can simply fork the project and create a pull request with your contribution to start with. If you like this plugin, please consider starring the project on github.

Configuration

Plugin Configuration

{
      "plugin" : "milight-reloaded"
}

The plugin has the following configuration properties:

PropertyDefaultTypeDescription
debugfalseBooleanDebug mode. Writes debug messages to the pimatic log, if set to true

Device Configuration

It is suggested to use device discovery to choose the required device types from the list of discovered devices and to edit them with device editor.

MilightRGBWZone

MilightRGBWZone is used for the RGB-WW LED bulbs and strip controllers.

{
      "class": "MilightRGBWZone",
      "id": "milight-rgbw-zone-1",
      "name": "Milight RGBW Zone 1",
      "ip": "192.168.0.77",
      "bridgeVersion": "v6",
      "zoneId": 1
}

The device has the following configuration properties:

PropertyDefaultTypeDescription
ipStringThe IP address if the Wifi controller
port0NumberThe port of the Wifi controller. 0 will automatically select the appropriate port
bridgeVersion"legacy"StringThe protocol version supported by the Wifi bridge: Use 'v6' for iBox1 & iBox2, or 'legacy' for older controllers
zoneId0NumberThe Milight zone to control. 0 will control all zones if supported by the controller
delayBetweenCommands75 (100)NumberThe delay time in ms to wait between transmissions, default 75ms. For 'v6' the minimum is 100ms
useTwoByteCommandstrueBooleanUse 2-byte commands if true (default), otherwise use 3-byte commands. Only applicable for 'legacy' protocol
broadcastfalseBooleanIf true use IP broadcast mode, use unicast mode is used otherwise

The following predicates and actions are supported:

  • {device} is turned on|off
  • switch {device} on|off
  • toggle {device}
  • dim {device} to {value}, where {value} is the percentage of brightness (0-100)
  • milight set color {device} to {value}, where {value} is one of the following
    • a six digit hexadecimal RGB color code preceded by #, e.g., #FF0000,
    • a rgb function provided with the decimals for the three base color values, e.g., rgb(255, 0, 0)
    • a CSS color name, e.g., red
  • milight set blink {device} [ count {times} delay {milliseconds} ]
  • milight set blink {device} [ count {times} delay {milliseconds} ]
  • milight set effectMode {device} [ mode {mode 1-9}] supported with v6, only!
  • milight set effectNext {device} [ count {times} delay {milliseconds} ]
  • milight set effectSlower {device} [ count {times} delay {milliseconds} ]
  • milight set effectFaster {device} [ count {times} delay {milliseconds} ]
  • milight set nightMode {device}

The optional count parameter for for the blink action is used to specify how often the command shall be executed within a value range from 1 to 10. The optional delay parameter specifies the time in milliseconds between repetitions ranging within a value range from 0 to 10000. Invalid values will be silently transformed to the closest valid value.

MilightWWCWZone

MilightWWCWZone is used for the WW-CW LED bulbs and strip controllers.

{
      "class": "MilightWWCWZone",
      "id": "milight-wwcw-zone-2",
      "name": "Milight WWCW Zone 2",
      "ip": "192.168.0.77",
      "bridgeVersion": "v6",
      "zoneId": 2
}

The device has the following configuration properties:

PropertyDefaultTypeDescription
ipStringThe IP address if the Wifi controller
port0NumberThe port of the Wifi controller. 0 will automatically select the appropriate port
bridgeVersion"legacy"StringThe protocol version supported by the Wifi bridge: Use 'v6' for iBox1 & iBox2, or 'legacy' for older controllers
zoneId0NumberThe Milight zone to control. 0 will control all zones if supported by the controller
delayBetweenCommands75 (100)NumberThe delay time in ms to wait between transmissions, default 75ms. For 'v6' the minimum is 100ms
useTwoByteCommandstrueBooleanUse 2-byte commands if true (default), otherwise use 3-byte commands. Only applicable for 'legacy' protocol
broadcastfalseBooleanIf true use IP broadcast mode, use unicast mode is used otherwise

The following predicates and actions are supported:

The optional count parameter for milight actions is used to specify how often the command shall be executed within a value range from 1 to 10. The optional delay parameter specifies the time in milliseconds between repetitions ranging within a value range from 0 to 10000. Invalid values will be silently transformed to the closest valid value. Note, the night mode can be turned off by either setting maximum brightness (maxBright) or by switching the device on. In both cases the maximum brightness will be set.

MilightBridgeLight

MilightBridgeLight is used for the bridge light of the iBox2 controller.

{
          "class": "MilightBridgeLight",
          "id": "milight-v6-bridge-light-1",
          "name": "Milight V6 Bridge Light",
          "ip": "192.168.0.77"
}

The device has the following configuration properties:

PropertyDefaultTypeDescription
ipStringThe IP address if the Wifi controller
port0NumberThe port of the Wifi controller. 0 will automatically select the appropriate port
delayBetweenCommands75 (100)NumberThe delay time in ms to wait between transmissions, default 75ms. For 'v6' the minimum is 100ms

The following predicates and actions are supported:

  • {device} is turned on|off
  • switch {device} on|off
  • toggle {device}
  • dim {device} to {value}, where {Value} is the percentage of brightness (0-100)
  • milight set color {device} to {value}, where {value} is one of the following
    • a six digit hexadecimal RGB color code preceded by #, e.g., #FF0000,
    • a rgb function provided with the decimals for the three base color values, e.g., rgb(255, 0, 0)
    • a CSS color name, e.g., red
  • milight set blink {device} [ count {times} delay {milliseconds} ]
  • milight set effectMode {device} [ mode {mode 1-9}]
  • milight set effectNext {device} [ count {times} delay {milliseconds} ]
  • milight set effectSlower {device} [ count {times} delay {milliseconds} ]
  • milight set effectFaster {device} [ count {times} delay {milliseconds} ]
  • milight set nightMode {device}

The optional count parameter for for the blink action is used to specify how often the command shall be executed within a value range from 1 to 10. The optional delay parameter specifies the time in milliseconds between repetitions ranging within a value range from 0 to 10000. Invalid values will be silently transformed to the closest valid value.

MilightFullColorZone and Milight8ChannelFullColorZone

MilightFullColorZone is used for the full color (RGB WW/CW) lights supported with the new iBox controllers. Milight8ChannelFullColorZone is used with the new 8-channel remote controller along with full color (RGB WW/CW) lights. The new remote can manage up to 8 zones. Note, the 8-channel remote controller is not supported with all iBox controllers. It has been reported to work with recent makes of the iBox2 controller.

{
          "class": "MilightFullColorZone",
          "id": "milight-v6-full-color-light-1",
          "name": "Milight V6 Full Color Light",
          "ip": "192.168.0.77",
          "zoneId": 1 
}

The device has the following configuration properties:

PropertyDefaultTypeDescription
ipStringThe IP address if the Wifi controller
port0NumberThe port of the Wifi controller. 0 will automatically select the appropriate port
zoneId0NumberThe Milight zone to control. 0 will control all zones
delayBetweenCommands75 (100)NumberThe delay time in ms to wait between transmissions, default 75ms. For 'v6' the minimum is 100ms

The following predicates and actions are supported:

  • {device} is turned on|off
  • switch {device} on|off
  • toggle {device}
  • dim {device} to {value}, where {Value} is the percentage of brightness (0-100)
  • milight set color {device} to {value}, where {value} is one of the following
    • a six digit hexadecimal RGB color code preceded by #, e.g., #FF0000,
    • a rgb function provided with the decimals for the three base color values, e.g., rgb(255, 0, 0)
    • a CSS color name, e.g., red
  • milight set blink {device} [ count {times} delay {milliseconds} ]
  • milight set effectMode {device} [ mode {mode 1-9}]
  • milight set effectNext {device} [ count {times} delay {milliseconds} ]
  • milight set effectSlower {device} [ count {times} delay {milliseconds} ]
  • milight set effectFaster {device} [ count {times} delay {milliseconds} ]
  • milight set nightMode {device}

The optional count parameter for for the blink action is used to specify how often the command shall be executed within a value range from 1 to 10. The optional delay parameter specifies the time in milliseconds between repetitions ranging within a value range from 0 to 10000. Invalid values will be silently transformed to the closest valid value.

History

See Release History.

License

Copyright (c) 2015-2017, Marcus Wittig and contributors. All rights reserved.

AGPL-3.0

0.9.18

5 years ago

0.9.17

6 years ago

0.9.16

6 years ago

0.9.15

6 years ago

0.9.14

7 years ago

0.9.13

7 years ago

0.9.12

7 years ago

0.9.11

7 years ago

0.9.10

7 years ago

0.9.9

7 years ago

0.9.8

7 years ago

0.9.7

7 years ago

0.9.6

7 years ago

0.9.5

7 years ago

0.9.4

7 years ago

0.9.3

7 years ago

0.9.2

8 years ago

0.9.1

8 years ago

0.9.0

8 years ago