39class InternalPinOutput :
public Element,
48 bool highIsOn =
true);
49 explicit InternalPinOutput(
int pin,
bool highIsOn =
true);
51 virtual InternalPinOutput &setDefaultStateOn();
52 virtual InternalPinOutput &setDefaultStateOff();
53 virtual InternalPinOutput &setDurationMs(_supla_int_t duration);
55 virtual uint8_t pinOnValue();
56 virtual uint8_t pinOffValue();
57 virtual void turnOn(_supla_int_t duration = 0);
58 virtual void turnOff(_supla_int_t duration = 0);
60 virtual void toggle(_supla_int_t duration = 0);
62 void handleAction(
int event,
int action)
override;
67 int getOutputValue()
const override;
68 void setOutputValue(
int value)
override;
69 bool isOnOffOnly()
const override;
73 int8_t lastOutputValue = 0;
74 int8_t stateOnInit = STATE_ON_INIT_OFF;
75 uint32_t durationMs = 0;
76 uint32_t storedTurnOnDurationMs = 0;
77 uint32_t durationTimestamp = 0;