Compile time option for PIR sensor off timer
This commit is contained in:
parent
8143be29d9
commit
1e104bdd9e
@ -23,44 +23,7 @@ You can also use usermod's off timer instead of sensor's. In such case rotate th
|
|||||||
|
|
||||||
## Usermod installation
|
## Usermod installation
|
||||||
|
|
||||||
1. Copy the file `usermod_PIR_sensor_switch.h` to the `wled00` directory.
|
**NOTE:** Usermod has been included in master branch of WLED so it can be compiled in directly just by defining `-D USERMOD_PIRSWITCH` and optionaly `-D PIR_SENSOR_PIN=16` to override default pin. You can also change the default off tim by adding `-D PIR_SENSOR_OFF_SEC=30`.
|
||||||
2. Register the usermod by adding `#include "usermod_PIR_sensor_switch.h"` in the top and `registerUsermod(new PIRsensorSwitch());` in the bottom of `usermods_list.cpp`.
|
|
||||||
|
|
||||||
Example **usermods_list.cpp**:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
#include "wled.h"
|
|
||||||
/*
|
|
||||||
* Register your v2 usermods here!
|
|
||||||
* (for v1 usermods using just usermod.cpp, you can ignore this file)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add/uncomment your usermod filename here (and once more below)
|
|
||||||
* || || ||
|
|
||||||
* \/ \/ \/
|
|
||||||
*/
|
|
||||||
//#include "usermod_v2_example.h"
|
|
||||||
//#include "usermod_temperature.h"
|
|
||||||
//#include "usermod_v2_empty.h"
|
|
||||||
#include "usermod_PIR_sensor_switch.h"
|
|
||||||
|
|
||||||
void registerUsermods()
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Add your usermod class name here
|
|
||||||
* || || ||
|
|
||||||
* \/ \/ \/
|
|
||||||
*/
|
|
||||||
//usermods.add(new MyExampleUsermod());
|
|
||||||
//usermods.add(new UsermodTemperature());
|
|
||||||
//usermods.add(new UsermodRenameMe());
|
|
||||||
usermods.add(new PIRsensorSwitch());
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**NOTE:** Usermod has been included in master branch of WLED so it can be compiled in directly just by defining `-D USERMOD_PIRSWITCH` and optionaly `-D PIR_SENSOR_PIN=16` to override default pin.
|
|
||||||
|
|
||||||
## API to enable/disable the PIR sensor from outside. For example from another usermod.
|
## API to enable/disable the PIR sensor from outside. For example from another usermod.
|
||||||
|
|
||||||
@ -122,3 +85,8 @@ Have fun - @gegu & @blazoncek
|
|||||||
2021-11
|
2021-11
|
||||||
* Added information about dynamic configuration options
|
* Added information about dynamic configuration options
|
||||||
* Added option to temporary enable/disble usermod from WLED UI (Info dialog)
|
* Added option to temporary enable/disble usermod from WLED UI (Info dialog)
|
||||||
|
|
||||||
|
2022-11
|
||||||
|
* Added compile time option for off timer.
|
||||||
|
* Added Home Assistant autodiscovery MQTT broadcast.
|
||||||
|
* Updated info on compiling.
|
@ -11,6 +11,11 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef PIR_SENSOR_OFF_SEC
|
||||||
|
#define PIR_SENSOR_OFF_SEC 600
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This usermod handles PIR sensor states.
|
* This usermod handles PIR sensor states.
|
||||||
* The strip will be switched on and the off timer will be resetted when the sensor goes HIGH.
|
* The strip will be switched on and the off timer will be resetted when the sensor goes HIGH.
|
||||||
@ -53,7 +58,7 @@ private:
|
|||||||
// configurable parameters
|
// configurable parameters
|
||||||
bool enabled = true; // PIR sensor enabled
|
bool enabled = true; // PIR sensor enabled
|
||||||
int8_t PIRsensorPin = PIR_SENSOR_PIN; // PIR sensor pin
|
int8_t PIRsensorPin = PIR_SENSOR_PIN; // PIR sensor pin
|
||||||
uint32_t m_switchOffDelay = 600000; // delay before switch off after the sensor state goes LOW (10min)
|
uint32_t m_switchOffDelay = PIR_SENSOR_OFF_SEC*1000; // delay before switch off after the sensor state goes LOW (10min)
|
||||||
uint8_t m_onPreset = 0; // on preset
|
uint8_t m_onPreset = 0; // on preset
|
||||||
uint8_t m_offPreset = 0; // off preset
|
uint8_t m_offPreset = 0; // off preset
|
||||||
bool m_nightTimeOnly = false; // flag to indicate that PIR sensor should activate WLED during nighttime only
|
bool m_nightTimeOnly = false; // flag to indicate that PIR sensor should activate WLED during nighttime only
|
||||||
|
Loading…
Reference in New Issue
Block a user