NSPManager / NSPanelManager

Sonoff NSPanel custom firmware for responsive and intuitive use
https://nspanelmanager.com/
126 stars 10 forks source link

[enhancement] roller shutter / roller blind mode #114

Open gon0 opened 6 months ago

gon0 commented 6 months ago

The aim for this mode is to control roller shutter motors which have 4 contacts: N, L_up, L_down, PE

In the panel settings grafik I propose a mode is added to each Button mode: "roller shutter"

If this mode is selected for both buttons, the relays have the following behavior:

[relays off -> Button pressed -> relay on for one minute] current state: relay 1 off; relay 2 off: Button 1 pressed -> new state: relay 2 off; relay 1 on for one minute current state: relay 1 off; relay 2 off: Button 2 pressed -> new state: relay 1 off; relay 2 on for one minute

[one relay is on -> any Button pressed -> both relays off] current state: relay 1 on; relay 2 off: Button 1 pressed -> new state: relay 2 off; relay 1 off (stop motor) current state: relay 1 off; relay 2 on: Button 2 pressed -> new state: relay 1 off; relay 2 off (stop motor)

[both relays on is NEVER allowed, neither via buttons, nor via MQTT command] So incase a relay is within the one minute on-duration and a MQTT command wants to turn the other relay on, it must be ensured, that first, the on-relay is switched off, before the other relay is switched on. The one-minute timer also applies, if the relays are switched on via MQTT.

The automatic off-timer for one minute is to protect the motor, in case it is blocked. Of course, without power monitoring, there is no feedback from the motor, but the NSPanel can fulfill the basic need here. I would be very happy about this feature, since it allowes the NSPanel to be used at many more convenient places.