Nicnl / homebridge-minimal-http-blinds

GNU General Public License v3.0
12 stars 13 forks source link

LED / Light Dimmer compatibility #3

Closed Nicnl closed 6 years ago

Nicnl commented 6 years ago

I created another issue so that it's not interfering with another unrelated issue.

@IgorFX initial message:

Hi, thats great plugin Nicnl work with rollets very very good.
What about use this plugin with LED or Light Dimmer?
Nicnl commented 6 years ago

I initially wrote this plugin because I did not found any that could easily control shutters/blinds with percentages.

I guess it's possible to tinker with it a bit and make it compatible with LED lights and dimmers, but I'm not 100% sure on how to do it since I don't have any light dimmer.

Also since this project is called homebridge-minimal-http-blinds, I'm not too fond of implementing features that are not related to window blinds/shutters.
Creating a new project would be wiser, I think.

I'll look into it once I have a bit more time.

IgorFX commented 6 years ago

I'm using your plugin for my LED kitchen lighting. Only it is not correctly displayed in HomeKit (it is displayed as a blind). And Siri does not understand me. I used a lot of HomeBridge http plugins. Your plugin is the best, it is universal, it can be used for everything. Curtains, blinds, fans, LED dimmers, AC dimmers I wanted to rewrite your plugin. But I do not know JavaScript. :(

IgorFX commented 6 years ago

I use Wemos d1 Mini and IRLB8721 MOSFET and LED strip. Thats all info http://blog.quindorian.org/2014/12/esp8266-wifi-led-dimmer-part-1-of-x.html/

Nicnl commented 6 years ago

Yeah, this plugin registers itself as a WindowCovering service.

https://github.com/Nicnl/homebridge-minimal-http-blinds/blob/936c89d5d372ea786ecfc4dd686a4bf28a564d0f/index.js#L48

Siri won't recognize it if you say turn off the kitchen lights.
If you used this blinds plugin to control your lights you'll need to say close the kitchen blinds
It's not very practical though...

I'm taking a look at it.

Nicnl commented 6 years ago

The full list of homebridge services is available there.

Here is the required characteristics I implemented:

As you can see I didn't implemented those optional characteristics:

Now let's talk about light dimmers.
After a bit of digging, I guess we can use the Lightbulb service.

Check out their service description:
https://github.com/KhaosT/HAP-NodeJS/blob/1f1fea7a995f09671d5e0aba50e965c1f4729f4d/lib/gen/HomeKitTypes.js#L3128-L3144

What's bothering me is the characteristics of this Lightbulb service.
There's only one required characteristic: On

But a shitload of optional characteristics:

Nicnl commented 6 years ago

It seems their Lightbulbservice was designed to manage a huge variety of lightbulbs, from dumb lights that can only be toggled on/off to super advanced shit with colors hues saturation etc...

If I started writing a homebridge-minimal-http-lightbulbs plugin, I'd like it to be compatible with everything.
But I'm really not sure how to do that.

For now I'll only try to play a bit with On and Brightness since it seems it's what you need.

Nicnl commented 6 years ago

Here is the two characteristics I will try to implement:

I don't have enough time to work on it at the moment, I'll keep you informed.

IgorFX commented 6 years ago

Yes, I saw the service description. But for me JS is a dark forest. Even in the examples, it's very difficult for me to remake something. I need to learn JS

Great. Thats all needed. On and Brightness option.

Nicnl commented 6 years ago

The On is obligatory anyway.

Haha don't worry me too.
In all honesty I don't really know js well.
I tinkered with it a bit until it did what I wanted, and then I asked myself "why not posting it on github?"

Didn't really expect people to use it that much.

IgorFX commented 6 years ago

It can be one plug-in and even a platform. If you do this case 'Blinds': case 'Switch': case 'Lightbulb': I understand JS a little. But to write a plugin without knowing the basics of the language :(

Nicnl commented 6 years ago

I created the homebridge-minimal-http-lightbulb-brightness project.

https://github.com/Nicnl/homebridge-minimal-http-lightbulb-brightness

I'm now closing this issue because it's has nothing to do with blinds.
If you have any issues with the lightbulb-brightness plugin, feel free to create an issue on it's new github page.

Also if everything works fine, I'd appreciate if you could write a feedback here.