[Release] Magic Home Wifi (Drivers) + MagicHome Manager (App)

MagicHome Wifi Driver for Hubitat

For anyone with lights that use the MagicHome App, MagicHue, Zombber, Flux, Wi-Fi MyLED, Hera, MagicLight, Illume, Merlin, DALS, LEDeNET, SuperNight, SuperLight... you name it!

This driver—unlike MagicHome for SmartThings, requires no soldering, man-in-the-middle, or firmware flashing. The Hubitat team has been incredibly accommodating and helpful in getting these to work as they are designed to work with the app.


MagicHome Manager App:

Use this app to create custom effects for your Pixel Controller!

  1. MagicHome Manager App (Github)
  2. Or copy this URL for raw importing

Devices & Drivers:

Click on your device to get more info & download links.

Controllers:

Smart Plug (Switch)

Single-Channel (Dimmable)

RGB

RGB + W

RGB + WW/CW (CCT)

Pixel Effect Controller

Bulbs:

RGB
  • Where to buy:
    1. RGB bulb - I don't have one (yet)
  • Driver:
    1. Doesn't exist yet :frowning:
  • Usage Notes:
    1. If you find one of these, send me a URL. I think I've found one.

RGB + W

RGB + W (Legacy - Firmware < 3.0)
  • Where to buy:
    1. Nowhere. If you have bulbs that use the REALLY old firmware, you're in luck.
  • Driver:
    1. Contact Me
  • Usage Notes:
    1. Set the hue to 100 use the white channel.
    2. I bought one of these for like $7 3 years ago and I added support for it because I thought it was ... ethical? I don't know. This is the only way you'll even be able to control those bulbs, now, so I guess it's kind of ethical.

White (Dimmable)

WW/CW (CCT)

RGB + WW/CW (CCT)


To set up devices:


Changes
0.89 (Current)

  1. Checks if too many initialize loops are being called at one time.
  2. Removed RGB <> HSV methods (in most drivers)
  3. Add recoverable HS option - not in all drivers yet.
  4. Removes unused state value (only state.noResponse is necessary)
  5. Removed telnet
  6. Added hue-in-degrees - Testing still. Not in all drivers yet.
  7. Add CT parse back in
  8. Fixed powerOnWithChanges
  9. Added null 2nd option to setLevel for duration
Previous Versions

0.88

  • Added option for failed pings threshold
  • Resolved issue with recursive loops and initializing devices

0.87

    • Added an option for telnet/socket
  1. If you are on firmware before 2.1, use TELNET (does not support parse)
  2. ---> Otherwise, use SOCKET (if you're on beta. It might not be stable.) (supports parse) <----
  3. Greatly improved scheduling
  4. Started adding some features back in. Fully tested before release. Yay.
  5. Changed powerOnWithChanges to enablePreStaging — this matches Hubitat's vernacular

0.84, 0.85 & 0.86

  1. Simplified most of the code
  2. Eliminated Telnet method
  3. Removed most of parse() while I simplify it further. Only power reports.
  4. Continued to enhance self-healing. Devices that are physically powered off report as off.
  5. Reworked powerOnWithChanges.
  6. Corrected all function parameters except for setColorTemperature() which is mostly corrected
  7. Added import URL
  8. Added checking to the parse(...) method to avoid recursion issues.

0.83

  1. Added a time-to-refresh option.
  2. Re-enabled and edited parse() to check if a variable needs to be set
  3. Fixed small consistencies across devices

0.82

  1. Disabled parse() as I believe it's responsible for the slowdowns people have been experiencing.
  2. Added a device: Dimmable Controller
  3. Reflected on how much I appreciate everyone's patience.

0.81

  1. Added try/catch, closeTelnet() to initialize() method. This should fix the slowdow
  2. Removed extraneous code and fixed a lot of little bugs
  3. Made powerOnWithChanges a little faster for some devices
  4. Added and hastily removed the option to power off device after 20 seconds automatically @HeyRCL :stuck_out_tongue_winking_eye:
  5. Added proper colorMode for RGB + CCT devices.

0.80

  1. Completely re-written. The code is a lot more modular, and hubs should no longer lock up.
  2. Removed the ability to simultaneously use WW (or WW+CW) and RGB
  3. Added parsing
  4. Added two new devices
  5. When you hover over the presets in the backend, they'll animate the text in CSS as a preview. I don't think any of the staff support this, but I think it's fun.

Roadmap:

  1. Fix Parsing
  2. Add setEffect
  3. Add Refresh Adjustment back into code
  4. Fix inconsistencies in devices (logDescriptionText, pausing...)
  5. Add Parsing of functions
  6. Add On-device scheduling
  7. Add hue in degrees option
  8. Add On-device time syncing
  9. Add custom functions (I'll add this if there's enough demand. I'd have to make a UI for this and it would take some time.)
  10. Create App with auto-discovery
  11. Re-implement high-brightness mode with Hue Grab
  12. Add HSL grab for easy WW/CW adjustment
  13. Clean up the UI some more
  14. Add settings for device sync rate
  15. Add more devices!
  16. Add an option to create a dimming-only child device for EACH channel individually.

I'm not affiliated (in any way) with any of these companies. I like these lights because they're inexpensive and reliable—they were my first step into Home Automation. I started this project in 2015, and recently, after a very bad experience with a name-brand of lights, I went all-in to find a different brand that won't set me back $50 if a light goes bad.

If you want to help with this project:
Outside of debugging, branching and adding to the codebase, you can DM me to help purchase more of these devices to add to the system. Or, you can capture packets and help me investigate device protocols.
Or, you can help with another project! Send a message :slight_smile:


I develop for fun and certainly don't require payment, but if you want to buy me a coffee or something, you can use the button below :slightly_smiling_face:

donate-button

17 Likes

Wow I'm having issues with my H801 controller I replaced the Magic Home module with. Maybe I'll put it back and try this!

1 Like

Please do! I just checked --- the RGBW bulb driver is definitely in a broken state. Not sure what I did wrong with it, but I'll get it corrected tonight :slight_smile:

1 Like

I've got these RGBWW lights.

Funny! I was just looking at those for my new place last week. I wouldn't be able to implement them at my place until the Spring, so I haven't purchase them, yet. How do you like them?
The ones you have should use the RGBW Controller device driver.

Ok.
Yea I use them as landscape lights. I bought 1/8th inch PVC pipe and spray painted them black.
They snap right in.
Much cheaper than Hue's new spots.
They are much dimmer though, I wish they were 20% brighter.
For deck lighting they'd be perfect.
They light up my plants well enough.

I really like that you can extend them further apart with 5 conductor wire with waterproof connectors.
Biggest selling point over the OSRAM Garden Spots.

1 Like

Great!! I have one set on MagicHome and two still in the box, as I didn’t like to have to use IFTTT to integrate. Hopefully get this set up soon.

2 Likes

Plus the local app control doesn't include Warm White in the color cycles you can program. How lame is that!?

1 Like

Unfortunately, that seems to be a setback in the firmware. It's pretty lame... good thing we can set our own color cycles in HE :cowboy_hat_face:

1 Like

That's what I was hoping to get around. :smile:
I do worry about cycling colors from Rule Machine though.
How fast is too fast? It's all local, this puppy should be able to rip through constant commands....

I'm honestly not sure. Depends on a few things---WiFi speed, strength, reliability. I've simultaneously sent commands to 12 devices and had them respond instantly, and I've had them take 15 seconds, before.

Usually, it's pretty snappy. Once I hammer out the driver some more with response and status, I'd imagine it will not only be more reliable, but probably a little bit faster for events, too.

2 Likes

I want to try this so bad but I can not figure out the ip address of the device! I have 70 devices connected to my Wifi right now using an Eero system. Really wish the Magic Home app had the ip address information available in the app.

Have to keep digging...

Which device do you have?

If you go into the App Store and download the original Magic Home app (no gradient in the icon---just solid blue), and go into settings, you can tap on your device for information. It will show you the device IP there :slight_smile:

1 Like

Thanks for the tip. Right now I'm using the Magic Home Pro app (the one with the gradient). I logged into the old app but it doesn't see my device. Looks like I'm going to have to remove it from the Pro app and install it on the old app, just to get the IP...then reinstall it on the Pro app. That'll have to wait until tomorrow.

It should still see the device---the apps only scan your wifi for them. Although, if you're not on your wifi, and you're not logged into your magic home app, it wouldn't see it. I'm not sure why it wouldn't be showing after you log in, though, since it's using the MagicHue server to determine their location on the 'net, in that case.

They appear as Shanghai High-Flying Electronics Technology... -or- Espressif Inc. on my Eero. Perhaps you'll see something similar?

BINGO!, that helped nail it down. Thanks. Initial testing turns it on and off. Now to play.

Thanks

1 Like

:cowboy_hat_face: Great! Let me know how it works for you.

The settings a a bit much, I think, so if you have any questions regarding them, or thoughts to improve them, please let me know!

First impressions...GREAT JOB! I'm using the RGBW driver and things seem to be working, turns on/off, ran through a bunch of presets (buttons) and the color changes. No fade or strobe like the description says but for me that's okay. I never use them that way.

Just being able to turn it on/off without using IFTTT is just plain awesome.

1 Like

Thank you! :slight_smile: I will take a look at the Presets not working. I have an idea of what I did wrong, but my RGBW isn’t with me. I’ll see what I can do.

Any update on the fix you spoke of? I'll be installing the original controller around 10:30 EST. :laughing:

1 Like