@@ -3,14 +3,14 @@ Current Based Cover
3
3
4
4
.. seo ::
5
5
:description: Instructions for setting up current-based covers in ESPHome.
6
- :image: window-open.jpg
6
+ :image: window-open.svg
7
7
8
8
The ``current_based `` cover platform allows you to create covers with position control by using current
9
- sensors to detect the fully-open and fully-closed states. This is pretty useful when using motors with
10
- integrated mechanical endstops. During cover operation, the component monitors the current consumption
11
- to detect when the motor has stopped.
9
+ sensors to detect the fully-open and fully-closed states. This is pretty useful when using motors with
10
+ integrated mechanical endstops. During cover operation, the component monitors the current consumption
11
+ to detect when the motor has stopped.
12
12
13
- When fully open or close is requested, the corresponding relay will stay on until the current the motor is
13
+ When fully open or close is requested, the corresponding relay will stay on until the current the motor is
14
14
consuming goes below a certain amount. The amount of current needs to be specified in the configuration.
15
15
16
16
Open and close durations can be specified to allow ESPHome to approximate the current position of the cover.
@@ -19,14 +19,14 @@ Open and close durations can be specified to allow ESPHome to approximate the cu
19
19
:align: center
20
20
:width: 75.0%
21
21
22
- This type of cover also provides safety features like current-based obstacle detection with automatic configurable
23
- rollback as well as relay malfunction detection: operation cancels if there's a current flowing in the opposite
24
- operation circuit (typically caused by welded relays).
22
+ This type of cover also provides safety features like current-based obstacle detection with automatic configurable
23
+ rollback as well as relay malfunction detection: operation cancels if there's a current flowing in the opposite
24
+ operation circuit (typically caused by welded relays).
25
25
26
26
.. warning ::
27
27
28
- Depending on the cover and motor type, obstacles can physically damage the cover before being detectable.
29
- Verify your setup to ensure the current consumption will increase enough to be detectable before causing
28
+ Depending on the cover and motor type, obstacles can physically damage the cover before being detectable.
29
+ Verify your setup to ensure the current consumption will increase enough to be detectable before causing
30
30
any physical damage. Use it at your own risk.
31
31
32
32
.. code-block :: yaml
@@ -56,7 +56,7 @@ operation circuit (typically caused by welded relays).
56
56
57
57
obstacle_rollback : 30%
58
58
start_sensing_delay : 0.8s
59
-
59
+
60
60
61
61
62
62
Configuration variables:
@@ -68,58 +68,54 @@ Configuration variables:
68
68
be performed when the remote requests the cover to be opened.
69
69
- **open_duration ** (**Required **, :ref: `config-time `): The amount of time it takes the cover
70
70
to open up from the fully-closed state.
71
- - **open_moving_current_threshold ** (**Required **, float): The amount of current in Amps the motor
72
- should drain to consider the cover is opening.
73
- - **open_obstacle_current_threshold ** (**Required **, float): The amount of current in Amps the motor
71
+ - **open_moving_current_threshold ** (**Required **, float): The amount of current in Amps the motor
72
+ should drain to consider the cover is opening.
73
+ - **open_obstacle_current_threshold ** (**Required **, float): The amount of current in Amps the motor
74
74
should drain to consider the cover is blocked during opening.
75
75
- **close_sensor ** (**Required **, :ref: `config-id `): The close current sensor.
76
76
- **close_action ** (*Optional *, :ref: `Action <config-action >`): The action that should
77
77
be performed when the remote requests the cover to be closed.
78
78
- **close_duration ** (**Required **, :ref: `config-time `): The amount of time it takes the cover
79
79
to close from the fully-open state.
80
- - **close_moving_current_threshold ** (**Required **, float): The amount of current in Amps the motor
80
+ - **close_moving_current_threshold ** (**Required **, float): The amount of current in Amps the motor
81
81
should drain to consider the cover is closing.
82
- - **close_obstacle_current_threshold ** (**Required **, float): The amount of current in Amps the motor
82
+ - **close_obstacle_current_threshold ** (**Required **, float): The amount of current in Amps the motor
83
83
should drain to consider the cover is blocked during closing.
84
84
- **stop_action ** (**Required **, :ref: `Action <config-action >`): The action that should
85
85
be performed to stop the cover.
86
86
- **max_duration ** (*Optional *, :ref: `config-time `): The maximum duration the cover should be opening
87
87
or closing. Useful for protecting from dysfunctional motor integrated endstops.
88
- - **start_sensing_delay ** (*Optional *, :ref: `config-time `): The amount of time the current sensing will be
89
- disabled when the movement starts. Motors can take some time before reaching their average consumption.
90
- Low values can cause an immediate stop because of the first current reading happening in the current-rising period.
88
+ - **start_sensing_delay ** (*Optional *, :ref: `config-time `): The amount of time the current sensing will be
89
+ disabled when the movement starts. Motors can take some time before reaching their average consumption.
90
+ Low values can cause an immediate stop because of the first current reading happening in the current-rising period.
91
91
Defaults to ``500ms ``.
92
- - **obstacle_rollback ** (*Optional *, percentage): The percentage of rollback the cover will perform in case of
92
+ - **obstacle_rollback ** (*Optional *, percentage): The percentage of rollback the cover will perform in case of
93
93
obstacle detection. Defaults to ``10% ``.
94
94
- **malfunction_detection ** (*Optional *, boolean): Enable to detect malfunction detection (Tipically welded realys). Defaults to ``True ``.
95
95
- **malfunction_action ** (*Optional *, :ref: `Action <config-action >`): The action that should
96
- be performed when relay malfunction is detected. Malfunction may require device servicing. You can use this action
96
+ be performed when relay malfunction is detected. Malfunction may require device servicing. You can use this action
97
97
to notify other systems about this situation
98
98
- **id ** (*Optional *, :ref: `config-id `): Manually specify the ID used for code generation.
99
99
- All other options from :ref: `Cover <config-cover >`.
100
100
101
101
Use with Shelly 2.5
102
102
-------------------
103
103
104
- .. seo ::
105
- :description: Instructions for setting up current-based covers in ESPHome using a Shelly 2.5.
106
- :image: shelly2.5.png
107
-
108
104
The Shelly 2.5 is the perfect hardware for this platform. It features two outputs with current monitoring
109
- (thanks to an embedded :doc: `ADE7953 </components/sensor/ade7953 >`) in a very small form factor (39mm x 36mm x 17 mm).
105
+ (thanks to an embedded :doc: `ADE7953 </components/sensor/ade7953 >`) in a very small form factor (39mm x 36mm x 17 mm).
110
106
It also features an :doc: `NTC temperature sensor </components/sensor/ntc >`.
111
107
112
108
.. figure :: images/shelly2.5.png
113
109
:align: center
114
110
:width: 30.0%
115
111
116
- These devices typically run hot (~55Cº at 20ºC room temperature). Long-term heavy loads (near to its rated limit) can overheat the device.
117
- It is strongly recommended to monitor the device temperature using the NTC temperature sensor, shutting down the device if it exceeds 90ºC.
112
+ These devices typically run hot (~55Cº at 20ºC room temperature). Long-term heavy loads (near to its rated limit) can overheat the device.
113
+ It is strongly recommended to monitor the device temperature using the NTC temperature sensor, shutting down the device if it exceeds 90ºC.
118
114
This safety feature is also present in the original firmware.
119
115
120
116
.. warning ::
121
117
122
- The ADE7953 IRQ line is connected to the GPIO16. The ``irq_pin `` parameter for the :doc: `ADE7953 </components/sensor/ade7953 >` MUST be
118
+ The ADE7953 IRQ line is connected to the GPIO16. The ``irq_pin `` parameter for the :doc: `ADE7953 </components/sensor/ade7953 >` MUST be
123
119
set to GPIO16 to prevent device overheat (>70ºC idling).
124
120
125
121
Configuration example:
@@ -135,7 +131,7 @@ Configuration example:
135
131
i2c :
136
132
sda : GPIO12
137
133
scl : GPIO14
138
-
134
+
139
135
sensor :
140
136
- platform : ade7953
141
137
irq_pin : GPIO16
@@ -153,7 +149,7 @@ Configuration example:
153
149
id : close_current
154
150
internal : true
155
151
update_interval : 0.5s
156
-
152
+
157
153
# NTC Temperature
158
154
- platform : ntc
159
155
sensor : temp_resistance_reading
@@ -164,7 +160,7 @@ Configuration example:
164
160
b_constant : 3350
165
161
reference_resistance : 10kOhm
166
162
reference_temperature : 298.15K
167
- on_value_range :
163
+ on_value_range :
168
164
above : 90
169
165
then : # Security shutdown by overheating
170
166
- switch.turn_on : _shutdown
@@ -182,7 +178,7 @@ Configuration example:
182
178
internal : true
183
179
184
180
binary_sensor :
185
- - platform : gpio
181
+ - platform : gpio
186
182
pin :
187
183
number : GPIO13
188
184
name : Shelly 2.5 Open Button
@@ -243,8 +239,8 @@ Configuration example:
243
239
malfunction_detection : true
244
240
malfunction_action :
245
241
then :
246
- - logger.log : " Malfunction detected. Relay welded."
247
-
242
+ - logger.log : " Malfunction detected. Relay welded."
243
+
248
244
249
245
250
246
status_led :
0 commit comments