4#ifndef SRC_SUPLA_CONTROL_INTERNAL_PIN_OUTPUT_H_
5#define SRC_SUPLA_CONTROL_INTERNAL_PIN_OUTPUT_H_
9#include "../action_handler.h"
10#include "../element.h"
11#include "../local_action.h"
12#include "output_interface.h"
14#define STATE_ON_INIT_OFF 0
15#define STATE_ON_INIT_ON 1
33 bool highIsOn =
true);
40 virtual uint8_t pinOnValue();
41 virtual uint8_t pinOffValue();
42 virtual void turnOn(_supla_int_t duration = 0);
43 virtual void turnOff(_supla_int_t duration = 0);
45 virtual void toggle(_supla_int_t duration = 0);
47 void handleAction(
int event,
int action)
override;
52 int getOutputValue()
const override;
53 void setOutputValue(
int value)
override;
54 bool isOnOffOnly()
const override;
58 int8_t lastOutputValue = 0;
59 int8_t stateOnInit = STATE_ON_INIT_OFF;
60 uint32_t durationMs = 0;
61 uint32_t storedTurnOnDurationMs = 0;
62 uint32_t durationTimestamp = 0;
Definition action_handler.h:8
Definition internal_pin_output.h:27
void onInit() override
Third method called on element in SuplaDevice.begin()
Definition internal_pin_output.cpp:106
void iterateAlways() override
Method called on each SuplaDevice iteration.
Definition internal_pin_output.cpp:122
Definition output_interface.h:11
Base class for all elements of SuplaDevice.
Definition element.h:27
Definition local_action.h:42