homebridge-magichome-platform

1.4.0 • Public • Published

homebridge-magichome-platform

NPM

npm npm CircleCI

A Homebridge plugin for devices running fade/strobe effects on the Magic Home Wi-Fi system.

Description

This plugin will create LightBulbs in Homekit capable of turning on/off, change color, change hue, change saturation.

This plugin can also create preset patterns Switches (color cycle, fade, strobe).

Its a great utility tool to set house mood to party/soothing with custom music.

Can cycle through colors, sync all lights to strobe/fade.

Installation

    $ npm install -g --unsafe-perm homebridge
    $ npm install -g --unsafe-perm homebridge-magichome-platform

Edit config.json. Refer to config-sample.json.

Available Presets Scenes

    seven_color_cross_fade
    red_gradual_change
    green_gradual_change
    blue_gradual_change
    yellow_gradual_change
    cyan_gradual_change
    purple_gradual_change
    white_gradual_change
    red_green_cross_fade
    red_blue_cross_fade
    green_blue_cross_fade
    seven_color_strobe_flash
    red_strobe_flash
    green_strobe_flash
    blue_stobe_flash
    yellow_strobe_flash
    cyan_strobe_flash
    purple_strobe_flash
    white_strobe_flash
    seven_color_jumping

Demo

Demo

Compatible Devices

Any devices created by Zengge and running on the Magic Home Wi-Fi (or other apps by the same developer such as LED Magic Color) app should work with this plugin. Some examples of compatible devices are:

Sample Config :

{
    "platforms": [
        {
            "platform": "MagicHome-Platform",
            "debug": true,
            "lights": [
                {
                    "name": "Kitchen LED Strip",
                    "ip": "192.168.1.111",
                    "setup": "RGBW",
                    "purewhite": false,
                    "timeout": 10000
                },
                {
                    "name": "Living Room LED Strip",
                    "ip": "DC4F22C5XXXX",
                    "setup": "RGBWW",
                    "purewhite": true
                }
            ],
            "presetSwitches": [
                {
                    "name": "Kitchen Color Strobe Flash (Party)",
                    "ips": {
                        "192.168.1.111": "255,255,255"
                    },
                    "preset": "seven_color_strobe_flash",
                    "speed": 60
                },
                {
                    "name": "All Lights Cross Fade (Soothing)",
                    "ips": {
                        "192.168.1.111": "0,150,255",
                        "DC4F22C5XXXX": "102, 255, 102"
 
                    },
                    "preset": "seven_color_cross_fade",
                    "speed": 40,
                    "shouldTurnOff": true
                },
                {
                    "name": "Jungle Mood (Soothing)",
                    "ips": {
                        "192.168.1.111": "0,150,255",
                        "DC4F22C5XXXX": "102, 255, 102"
                    },
                    "preset": "green_gradual_change",
                    "speed": 40,
                }
            ]
        }
    ]
}

Preset Switch Configuration

ips must be a key-value object where key is MagicHome LED IP Address e.g. 192.168.1.11 or DC4F22C5XXXX MAC Address & value is default rgb color of the light. e.g. "255,255,255" (White). Turning off Preset Pattern Switch , all lights will be reset to this color.

You can use MAC Address instead of IP Address as well. Please note format of MAC Address. It should be in capital letters and : should not be present. e.g. DC4F22C5XXXX

Do note : While using MACS : This plugin auto discover connected lights on the network and map IP's to their corresponding MAC. Initially it can take time to discover all devices. All devices should be discovered and mapped in 60-120s. Once mapped IP & MACs are cached, and gets rediscovered every 30s to map new IP to the light. This feature is useful for people unable to assign Static IP to their lights.

Default Discovery Interval => 5 Minutes Default Device Status Update Interval => 1 Minute

Setting Device timeout to 0, will disable polling device for status update.

Lint

    $ npm run lint

Need Help ?

Get Slack Invite => https://slackin-znyruquwmv.now.sh/

Slack Channel => https://homebridgeteam.slack.com/messages/homebridge-magichome

Slack User => @sahilchaddha

Author

Sahil Chaddha

mail@sahilchaddha.com

Package Sidebar

Install

npm i homebridge-magichome-platform

Weekly Downloads

16

Version

1.4.0

License

ISC

Unpacked Size

102 kB

Total Files

18

Last publish

Collaborators

  • sahilchaddha