Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.54k stars 3.11k forks source link

Homekit integration #149

Closed mentaluproar closed 3 years ago

mentaluproar commented 5 years ago

I'm trying to tie this into apple homekit and I'm trying to figure out what would have the least impact on this device. Homekit has some things that might link up to this, and I already have some Hue stuff around the house. There are so many options I'm confused how exactly I should connect this.

Aircoookie commented 5 years ago

Hi! I don't have any experience with homekit, so I cannot provide you with "the best way" to connect your WLED lights, unfortunately. I doubt Homekit has provisions for using either the WLED http, udp or json API. MQTT or Blynk are also likely not an option. If you can send HTTP requests from homekit, I do recommend the HTTP api.

The hue sync feature would indeed work well (including voice control), but keep in mind that you can only sync WLED to an existing Hue light and not control it on its own via HomeKit. Hue sync does poll your hue bridge every second or so for updates to the light, but it has no major performance implications in the latest 0.8.4 version.

mentaluproar commented 5 years ago

so something like this? https://www.npmjs.com/package/homebridge-web-rgb https://www.npmjs.com/package/homebridge-rgb-mqtt https://www.npmjs.com/package/homebridge-ws2812-mqtt-effects https://www.npmjs.com/package/homebridge-better-http-rgb

There are lots of ways to interact but I don't know enough about this to know which is going to be a he ache now vs a headache later.

mentaluproar commented 5 years ago

Okay, so I have most of it tied in. color selection doesn't work though. I used https://www.npmjs.com/package/homebridge-http-rgb-push

I think the color selection issue is my config being shit, not your side, so I'm going to ask for help from the author there. Unless you are feeling adventurous :)

bachoo786 commented 4 years ago

Hey @mentaluproar did you manage to tie up wled with homebridge?

mentaluproar commented 4 years ago

I don't think so. I'm redoing the config since something went wrong a while back and I'm just now getting around to fixing it but I have absolutely no idea how I did it.

THATDONFC commented 4 years ago

I managed to get this working with this plugin https://github.com/QuickSander/homebridge-http-rgb-push So far I can turn the LED's on/off and change the brightness. Might see if I can fork this project and create a WLED specific plugin or create a PR to add some features to the original.

The biggest issue is the lack of the ability to change the colors. This plugin requires a HEX value for the color and I don't see a method for extracting the HEX color via the HTTP or JSON API's.

mentaluproar commented 4 years ago

There’s also a way to interact with it over Json in homebridge but I never could get that working cleanly. We need a homebridge plugin for this. The existing ones work but are really lacking compared to what WLED could do with a dedicated plugin. It already exposes a lot already.

ceeeekay commented 4 years ago

There's a basic homebridge WLED plugin here

THATDONFC commented 4 years ago

Thanks! That must be new. I’ll test is out this weekend

gilshahar7 commented 4 years ago

Hey, i just stumbled upon this issue and i was wondering if its possible to somehow merge this project into WLED:

https://github.com/Mixiaoxiao/Arduino-HomeKit-ESP8266

I have gotten WLED to work with HomeKit using homebridge which is great but not ideal.

the best way would be to not use a homebridge on a RPI and have it straight on the esp8266 since i have another WLED strip at my parents house where they dont have a homebridge setup.

stale[bot] commented 4 years ago

Hey! This issue has been open for quite some time without any new comments now. It will be closed automatically in a week if no further activity occurs. Thank you for using WLED!

dennis777 commented 10 months ago

Hey all, wondering if anyone has ever came to a plausible conclusion here?

sommo commented 10 months ago

yes, there is a plug-in for this:

https://github.com/jstrausd/homebridge-simple-wled

dennis777 commented 10 months ago

Thank you!

sommo commented 7 months ago

so without an rpi that run homebridge, could you link the project? thank youInviato da iPhoneIl giorno 11 gen 2024, alle ore 22:34, defektu @.***> ha scritto: Hi all, I managed to connect homekit with another spare ESP8266 to WLED without homebridge. It just reroutes homekit request to WLED via WebSocket. You can set multiple homekit devices with single ESP8266 with routing. Works like cheap homebridge.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

defektu commented 7 months ago

Hi @sommo! Sorry for deleting the comment. I have not prepared a repo for that yet. I might be able to tell you the process. I have a Wemos D1 with WLED running. Also, have an ESP01 that I programmed.

I also do not have HomeKit Hub. I downgraded my Home Architecture so my iPad is now able to act as Hub. This means I can easily change my lights even if my iPhone is not connected to the local network. This still works at iOS 17.12

Here are the steps I did:

So ESP01 acts like a simple bridge.

gilshahar7 commented 7 months ago

Thats a cool implementation! ultimately if someone is able to combine the ESP-HomeKit project into a usermod on WLED we can omit the bridge part and have everything on the led controller

defektu commented 7 months ago

I can change hue, saturation, brightness and on-off state straight from my iPhone Home. On 1MB Flash Size ESP01, almost realtime with sockets... Slight delay when iPhone is not connected to local wifi. possibly the delay is from Apple Home communication.

I think this seems possible with Mixiaoxiao/Arduino-HomeKit-ESP8266 repo. ErrorErrorError/Arduino-HomeKit-ESP8266 implemented ESP-Homekit to WLED actually. But it only works for ESP-32 cause crypto part. Mixiaoxiao's port is lightweight. I might get another 4MB ESP8266 and try to implement it in my spare time. (Don't wanna ruin my current setups lol)

defektu commented 7 months ago

Well, tried something with https://github.com/Mixiaoxiao/Arduino-HomeKit-ESP8266 to implement it to WLED. ESP8266 shuts down when trying to pair. But It sees it as a HomeKit device while running.

htx996 commented 2 months ago

Hi @sommo! Sorry for deleting the comment. I have not prepared a repo for that yet. I might be able to tell you the process. I have a Wemos D1 with WLED running. Also, have an ESP01 that I programmed.

I also do not have HomeKit Hub. I downgraded my Home Architecture so my iPad is now able to act as Hub. This means I can easily change my lights even if my iPhone is not connected to the local network. This still works at iOS 17.12

Here are the steps I did:

So ESP01 acts like a simple bridge.

It's great how to modify it