37class InternalPinOutput :
public Element,
44 bool highIsOn =
true);
45 explicit InternalPinOutput(
int pin,
bool highIsOn =
true);
47 virtual InternalPinOutput &setDefaultStateOn();
48 virtual InternalPinOutput &setDefaultStateOff();
49 virtual InternalPinOutput &setDurationMs(_supla_int_t duration);
51 virtual uint8_t pinOnValue();
52 virtual uint8_t pinOffValue();
53 virtual void turnOn(_supla_int_t duration = 0);
54 virtual void turnOff(_supla_int_t duration = 0);
56 virtual void toggle(_supla_int_t duration = 0);
58 void handleAction(
int event,
int action)
override;
63 int getOutputValue()
const override;
64 void setOutputValue(
int value)
override;
65 bool isOnOffOnly()
const override;
70 int8_t lastOutputValue = 0;
71 int8_t stateOnInit = STATE_ON_INIT_OFF;
72 uint32_t durationMs = 0;
73 uint32_t storedTurnOnDurationMs = 0;
74 uint32_t durationTimestamp = 0;