You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Lots of cleanup
PR submitted to ESPHome. These are the first round of requested changes.
Lots of logging changes
move to static inline functions
model is now required. This allowed runtime validation to be removed in favor of compile time validation.
make actions consistent.
* pylint suggestion, move to mode in {set}
* Use static_cast instead
* Fix model logic error
* Test by defining enum with type
* Revert "Test by defining enum with type"
This reverts commit e683819.
* Keep the 5% increase but add 1ms
* Match current PR in ESPHome
* Remove BMP581 and TSL2591 components
* Match ESPHome PR
* Correcting id
* Still trying
* Update binary_sensor.py
* Fix syntax error
* More syntax errors
* Formatting
* CLANG formatting cleanup
* Correct mode values
* Use std::move in version setter methods
* Addin Restart and Factory Reset buttons and version text_sensors
* Fix errors
* Update dfrobot_c4001.h
* Fix more errors
* Fix missing reset button
* Fix hardware_version config variable
* Try again
* Increase command queue depth and logging cleanup
* Add Restart Action
* Fix check string after reset command
* Change config_load() for Factory Reset and Restart commands
* Support Blue LED control
* Update tfmini.cpp
* Update dfrobot_c4001.cpp
* Use const reference for version setters
Updated set_software_version and set_hardware_version to take const std::string& instead of std::string, improving efficiency by avoiding unnecessary string copies.
* Fix clang-format formatting error
* Fix compile error when using any text_sensor
Remove orphaned motion binary_sensor
Correct reported occupancy when VERBOSE logging is enabled
Remove state is changed logic around sensor and
binary_sensor reporting. Makes initial updates quicker
Corrected LED state not written to flash
* README changes due to new buttons and actions in dfrobot_c4001 component
* Fix syntax errors
* Remove debug code
* Add notes about ESPHome PRs
4. The STUSB4500 comonent does check that the NVM is indeed different before flashing it but it is prudent to remove the ```flash_nvm: true``` after it is clear the STUSB4500 is working as configured.
191
+
4. The STUSB4500 component does check that the NVM is indeed different before flashing it but it is prudent to remove the ```flash_nvm: true``` after it is clear the STUSB4500 is working as configured.
192
192
193
193
194
194
## ESPHome C4001 External Component
195
195
196
+
> [!NOTE]
197
+
> This component is in the process of being added to ESPHome. ESPHome [PR#9327](https://github.com/esphome/esphome/pull/9327).
198
+
199
+
196
200
The DFRobot C4001 (SEN0609 or SEN0610) is a millimeter-wave presence detector. The C4001 millimeter-wave presence sensor has the advantage of being able to detect both static and moving objects. It also has a relatively strong anti-interference ability, making it less susceptible to factors such as temperature changes, variations in ambient light, and environmental noise. Whether a person is sitting, sleeping, or in motion, the sensor can quickly detect their presence.
197
201
198
202
<palign="center">
@@ -267,16 +271,26 @@ switch:
267
271
led_enable:
268
272
name: Enable LED
269
273
274
+
text_sensor:
275
+
- platform: dfrobot_c4001
276
+
dfrobot_c4001_id: mmwave_sensor
277
+
software_version:
278
+
name: Software Version
279
+
hardware_version:
280
+
name: Hardware Version
281
+
270
282
```
271
283
272
284
### Configuration Variables
273
285
+**mode** (*Required*, enumeration): This sets the operation mode of the sensor. Options are ```PRESENCE``` and ```SPEED_AND_DISTANCE```.
274
286
275
287
### Buttons
276
288
+**config_save** (*Optional*): When you click this button the current configuration will be saved. Keep in mind that these are writes to flash and there is a limited number of time you can do this before the flash wears out. All Options from [Button Component](https://esphome.io/components/button/index.html#base-button-configuration).
289
+
+**factory_reset** (*Optional*): Clicking this button will perform a factory reset of the module and all configuration values will go back to default. All Options from [Button Component](https://esphome.io/components/button/index.html#base-button-configuration).
290
+
+**restart** (*Optional*): When you click this button the module will restart and all configuration values will remains as previously set. All Options from [Button Component](https://esphome.io/components/button/index.html#base-button-configuration).
277
291
278
292
### Binary Sensors
279
-
+**config_changed** (*Optional*): When ```true`` the current sensor configuration has been changed but not saved to the sensor. All Options from [Binary Sensor Component](https://esphome.io/components/binary_sensor/#base-binary-sensor-configuration).
293
+
+**config_changed** (*Optional*): When ```true``` the current sensor configuration has been changed but not saved to the sensor. All Options from [Binary Sensor Component](https://esphome.io/components/binary_sensor/#base-binary-sensor-configuration).
280
294
+**occupancy** (*Optional*): In ```PRESENCE``` mode this indicates presence. In ```SPEED_AND_DISTANCE``` mode this indicates a target is being tracked. All Options from [Binary Sensor Component](https://esphome.io/components/binary_sensor/#base-binary-sensor-configuration).
281
295
282
296
### Numbers
@@ -299,10 +313,15 @@ switch:
299
313
+**led_enable** (*Optional*): When turned on the green LED will flash when the sensor has been started. The blue LED cannot be disabled with this command. All Options from [Switch Component](https://esphome.io/components/switch/index.html#base-switch-configuration).
300
314
+**micro_motion_enable** (*Optional*): Turns on micro motion mode. Available only in ```SPEED_AND_DISTANCE``` mode. All Options from [Switch Component](https://esphome.io/components/switch/index.html#base-switch-configuration).
301
315
316
+
### Sensors
317
+
+**target_distance** (*Optional*): When **occupancy** binary sensor is ```true``` this sensor indicates distance to target in meters (m). When **occupancy** binary sensor is ```false``` this sensor switches to 0.0 indicating invalid data. Available only in ```SPEED_AND_DISTANCE``` mode. All Options from [Sensor Component](https://esphome.io/components/sensor/index.html#base-sensor-configuration).
318
+
+**target_speed** (*Optional*): When **occupancy** binary sensor is ```true``` this sensor indicates target speed in meters per second (m/s). When **occupancy** binary sensor is ```false``` this sensor switches to 0.0 indicating invalid data. Available only in ```SPEED_AND_DISTANCE``` mode. All Options from [Sensor Component](https://esphome.io/components/sensor/index.html#base-sensor-configuration).
319
+
302
320
### Actions
303
-
+**dfrobot_c4001.factor_reset** Will perform a factory reset of the module and all configuration values will go back to default. The module will restart with these defaults. Keep in mind that these are writes to flash and there is a limited number of time you can do this before the flash wears out. This is much easier to do with a lambda that accidentally performs a factory reset every second.
321
+
+**dfrobot_c4001.factory_reset** Will perform a factory reset of the module and all configuration values will go back to default. The module will restart with these defaults. Keep in mind that these are writes to flash and there is a limited number of time you can do this before the flash wears out. This is much easier to do with a lambda that accidentally performs a factory reset every second.
304
322
305
323
Example using automations...
324
+
306
325
```yaml
307
326
button:
308
327
- platform: template
@@ -318,6 +337,25 @@ Example in lambdas...
318
337
id(mmwave_sensor).factory_reset();
319
338
```
320
339
340
+
+**dfrobot_c4001.restart** Will restart the module and all configuration values will remains as previously set.
341
+
342
+
Example using automations...
343
+
344
+
```yaml
345
+
button:
346
+
- platform: template
347
+
name: Restart
348
+
on_press:
349
+
- dfrobot_c4001.restart: mmwave_sensor
350
+
entity_category: CONFIG
351
+
352
+
```
353
+
Example in lambdas...
354
+
```
355
+
- lambda: |-
356
+
id(mmwave_sensor).restart();
357
+
```
358
+
321
359
## ESPHome LD2450 External Component
322
360
323
361
This custom component adds some functionality to the built-in LD2450 Component. Only the differences are listed below.
@@ -349,6 +387,11 @@ number:
349
387
350
388
## SEN5X External Component
351
389
390
+
391
+
> [!NOTE]
392
+
> A Pull Request to change the sen5x component in ESPHome is in progress. ESPHome [PR#9254](https://github.com/esphome/esphome/pull/9254).
393
+
394
+
352
395
This external component adds SEN60, SEN63C, SEN65, SEN66 and SEN68 support to the built-in sen5x component. This component extends [PR #8318](https://github.com/esphome/esphome/pull/8318). Only the differences from sen5x component are listed below.
353
396
354
397
Temperature compensation is not working for the SEN6x models. Still waiting on the Sensirion Application Note.
0 commit comments