Add SHELLY PLUS 1 board with support of relay, switch, BT gateway (#1349)

So that you know, the overtemperature protection is not implemented in the firmware.
This commit is contained in:
Florian authored and GitHub committed 2023-01-10 07:18:59 -06:00
1 parent 8a767cf4b8
commit 31ffdf1e2b
9 files changed
+65 -19

No files matched your search

+9 -10
View File
@@ -34,11 +34,11 @@ unsigned long resetTime = 0;
# endif
unsigned long lastDebounceTime = 0;
int InputState = 3; // Set to 3 so that it reads on startup
int lastInputState = 3;
int previousInputState = 3;
void setupGPIOInput() {
Log.notice(F("Reading GPIO at pin: %d" CR), INPUT_GPIO);
pinMode(INPUT_GPIO, INPUT_PULLUP); // declare GPIOInput pin as input_pullup to prevent floating. Pin will be high when not connected to ground
pinMode(INPUT_GPIO, GPIO_INPUT_TYPE); // declare GPIOInput pin as input_pullup to prevent floating. Pin will be high when not connected to ground
}
void MeasureGPIOInput() {
@@ -49,7 +49,7 @@ void MeasureGPIOInput() {
// since the last press to ignore any noise:
// If the switch changed, due to noise or pressing:
if (reading != lastInputState) {
if (reading != previousInputState) {
// reset the debouncing timer
lastDebounceTime = millis();
}
@@ -75,7 +75,6 @@ void MeasureGPIOInput() {
# endif
// if the Input state has changed:
if (reading != InputState) {
InputState = reading;
Log.trace(F("Creating GPIOInput buffer" CR));
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
JsonObject GPIOdata = jsonBuffer.to<JsonObject>();
@@ -88,15 +87,15 @@ void MeasureGPIOInput() {
if (GPIOdata.size() > 0)
pub(subjectGPIOInputtoMQTT, GPIOdata);
# ifdef ZactuatorONOFF
if (InputState == ACTUATOR_BUTTON_TRIGGER_LEVEL) {
ActuatorButtonTrigger();
}
# if defined(ZactuatorONOFF) && defined(ACTUATOR_TRIGGER)
//Trigger the actuator if we are not at startup
if (InputState != 3) ActuatorManualTrigger(InputState);
# endif
InputState = reading;
}
}
// save the reading. Next time through the loop, it'll be the lastInputState:
lastInputState = reading;
// save the reading. Next time through the loop, it'll be the previousInputState:
previousInputState = reading;
}
#endif