node-red-contrib-ns-blinds
v1.3.1
Published
Node-RED node for roll shutter control via redmatic homekit universal tool
Downloads
12
Readme
node-red-contrib-ns-blinds
This node is intended to be used with redmatic-homekit-universal control element. By input of the roll shutter target position, the node issues command for the shutter motion start and after evaluated necessary time it issues command for the shutter to stop.
Usage
- Add the node to the flow
- Configure the node by adding values for
- parameters A and B for motion 'Up' and 'Down'
- time for complete opening / closing shutter (will be removed in the future versions)
- name of key to store status of shutter in flow context
- id debug option is checked, the brief addition info will be shown in the debug section
- Connect output of redmatic-homekit-universal configured as shutter control to the input of 'ns-blinds'
- Connect outputs of 'ns-blinds' to nodes which control motion of the shutter: Up, Down , Stop, and Nothing to do
Background of motion time evaluation
The roll shutter are assumed to consist of a central rod with radius R0 on which the roll shutter with effective thickness d wind up during coming up. Then, if the rotation of the rod is performed with constant speed ω rotations per time unit, the distance S from the lower edge of window covering to the current position at time t is
S = 2π⋅(R0ωt + dω2t2).
The node uses normalized values A and B for coefficients and α as a position of roll shutter (part of open space). For the movement 'up' the equation for shutter position reads as
A⋅t2 + B⋅t = α,
For calibration two fully defined states are required. For motion 'up', three values should be measured t0, t1, α1:
- time t0 to move from fully closed with α = 0 to fully open position with α = 1;
- time t1 to move from fully closed with α = 0 to partially open position with α1.
Then values for A and B can be evaluated using
A = (1 - Bt0) / t02,
B = (α1 - (t1 / t0)2) / (t1 (1 - t1 / t0)) .
Time to achieve position α is defined by
t = (-B + √(B2 + 4Aα)) / 2A.
For the movement 'down' all as for movement 'up' but α should be replaced by 1 - α.