renssies / homebridge-am43-blinds

A homebridge plugin to control the AM43 based blind motors in HomeKit
MIT License
18 stars 6 forks source link

The state of this plugin #41

Open renssies opened 2 years ago

renssies commented 2 years ago

This plugin has been deprecated, for alternatives see: https://github.com/renssies/homebridge-am43-blinds/issues/41#issuecomment-1186548675


This plugin has some serious issues with stability and I've narrowed it down to the use of BLE on a raspberry pi and the use of BLE in NodeJS. Using a separate dongle on the Raspberry Pi is highly recommended and also be sure to move it away from the USB 3.0 ports using an extension cable. That seems to fix some problems on the raspberry pi side

But now following the NodeJS side. The past months I've been working on trying to improve the connectivity and stability of the plugin but so far it has not given me any meaningful results.

Because of that I'm looking for help, someone that knows more about NodeJS and possibly the Noble module to improve this plugin, I also would want to convert this plugin to typescript following the proper Homebridge template: https://github.com/homebridge/homebridge-examples/tree/master/dynamic-platform-example-typescript

Another possibility is to possibly move the BLE code to something like python and call the python script from NodeJS, but this will make installation a lot more complicated.

renssies commented 2 years ago

Small update: As it turns out someone is already working on a better version in private. It will only run on Linux but it might just work better.

renssies commented 2 years ago

I've decided to deprecate this plugin, I just can't seem to get BLE working stable using Node (Homebridge's backend) and even by using Python scripts I couldn't get it to work reliably. On top of this I simply do not have the time to maintain this.

I will be giving the plugin a final update to fix some dependencies and I will deprecate (instead of remove) the plugin so people who do have it working in a stable condition can keep using it.

Alternatives

Alternative plugin

Contributor @neil-morrison44 is working on a plugin of his own that looks promising. It is Linux/Bluez only and still has issues for some people, but it looks better than my plugin: https://github.com/neil-morrison44/homebridge-am43-blinds-bluez

ESPHome bridge using ESP32

I can recommend using ESPHome and a standard ESP32 as a bridge. This is what I'm personally using right now and is has been working reliable for weeks.

The downside is that there is no good ESPHome plugin for Homebridge that supports covers/curtains. So you have to bridge it to HomeKit through Home Assistant or use the ESPHome MQTT component with homebridge-mqtt: https://esphome.io/components/cover/am43.html

Motors using ZigBee or WiFi

There are now also Zigbee and Tuya (WiFI) based versions of this blind motor that have the exact same form factor and are a drop in replacement, however those do not have the solar panel but do use USB-C for charging. Aqara has the Roller Shade Driver E1

neil-morrison44 commented 2 years ago

@renssies there’s a potential solution using an ESP32 without needing homebridge at all: https://github.com/HomeSpan/HomeSpan it can be configured to appear as multiple accessories, connect to up to ~7 blinds & the configuration could be via a web server run on the ESP32.

I’d probably give it a shot myself but my plugin runs almost perfectly for me (though, I’ve not heard anyone else say it works for them…)

I’ve used HomeSpan for an ESP32 air quality sensor I made a while ago and found it to be incredibly reliable & easy to set up (and being a fixed platform all the Bluetooth issues both our plugins ran into would hopefully disappear)

renssies commented 2 years ago

@neil-morrison44 Yeah I saw HomeSpan, but then someone would have to make an (example) project for the for the AM43 blinds.

ESPHome is a bit simpler to configure and has the ready made components for AM43 and it just make a configuration file and running a terminal command.

dariusrosendahl commented 2 years ago

A belated thanks for all your hard work and support @renssies !