|
supla-device
|


Public Member Functions | |
| RGBCCTBase (RGBCCTBase *parent=nullptr) | |
| Constructor. | |
| void | purgeConfig () override |
| Removes all configration data related to the element from Storage::Config. | |
| Supla::ApplyConfigResult | applyChannelConfig (TSD_ChannelConfig *result, bool local=false) override |
| void | fillChannelConfig (void *channelConfig, int *size, uint8_t configType) override |
| virtual void | setRGBCCTValueOnDevice (uint32_t red, uint32_t green, uint32_t blue, uint32_t colorBrightness, uint32_t white1Brightness, uint32_t white2Brightness)=0 |
| virtual void | setRGBW (int red, int green, int blue, int colorBrightness, int whiteBrightness, bool toggle=false, bool instant=false) |
| virtual void | setRGBCCT (int red, int green, int blue, int colorBrightness, int whiteBrightness, int whiteTemperature, bool toggle=false, bool instant=false) |
| int32_t | handleNewValueFromServer (TSD_SuplaChannelNewValue *newValue) override |
| Handles "new value" request from server. | |
| virtual void | turnOn () |
| virtual void | turnOff () |
| virtual void | toggle () |
| bool | isOn () |
| bool | isOnW () |
| bool | isOnRGB () |
| void | handleAction (int event, int action) override |
| void | setStep (int step) |
| void | setDefaultDimmedBrightness (int dimmedBrightness) |
| void | setFadeEffectTime (int timeMs) |
| void | setMinIterationBrightness (uint8_t minBright) |
| void | setMinMaxIterationDelay (uint16_t delayMs) |
| void | onInit () override |
| Third method called on element in SuplaDevice.begin() | |
| void | iterateAlways () override |
| Method called on each SuplaDevice iteration. | |
| void | onFastTimer () override |
| Method called on fast timer interupt. | |
| void | onLoadState () override |
| Second method called on element in SuplaDevice.begin(). | |
| void | onSaveState () override |
| Method called periodically during SuplaDevice iteration. | |
| bool | isStateStorageMigrationNeeded () const override |
| Method called after onInit() to check if state storage migration is needed. | |
| void | onLoadConfig (SuplaDeviceClass *) override |
| First method called on element in SuplaDevice.begin(). | |
| void | convertStorageFromLegacyChannel (LegacyChannelFunction channelFunction) |
| Enables storage conversion from legacy channel function to new. | |
| void | setSkipLegacyMigration () |
| Disables storage conversion from legacy channel function to new. | |
| void | attach (Supla::Control::Button *) |
| void | fillSuplaChannelNewValue (TSD_SuplaChannelNewValue *value) override |
| Fills TSD_SuplaChannelNewValue based on current state. | |
| virtual RGBCCTBase & | setDefaultStateOn () |
| virtual RGBCCTBase & | setDefaultStateOff () |
| virtual RGBCCTBase & | setDefaultStateRestore () |
| virtual RGBCCTBase & | setBrightnessLimits (int min, int max) |
| virtual RGBCCTBase & | setColorBrightnessLimits (int min, int max) |
| void | setBrightnessAdjuster (BrightnessAdjuster *adjuster) |
| int | getCurrentDimmerBrightness () const |
| int | getCurrentRGBBrightness () const |
| void | setMaxHwValue (int newMaxHwValue) |
| bool | hasParent () const |
| Checks if this instance has parent. | |
| int | getAncestorCount () const |
| Returns number of ancestor instances (by parent) | |
Public Member Functions inherited from Supla::ChannelElement | |
| ChannelElement (int channelNumber=-1) | |
| Channel * | getChannel () override |
| const Channel * | getChannel () const override |
| Returns pointer to main channel. | |
Public Member Functions inherited from Supla::ElementWithChannelActions | |
| void | addAction (uint16_t action, ActionHandler &client, uint16_t event, bool alwaysEnabled=false) override |
| void | addAction (uint16_t action, ActionHandler *client, uint16_t event, bool alwaysEnabled=false) override |
| virtual void | addAction (uint16_t action, ActionHandler &client, Supla::Condition *condition, bool alwaysEnabled=false) |
| virtual void | addAction (uint16_t action, ActionHandler *client, Supla::Condition *condition, bool alwaysEnabled=false) |
| bool | isEventAlreadyUsed (uint16_t event, bool ignoreAlwaysEnabled) override |
| void | onRegistered (Supla::Protocol::SuplaSrpc *suplaSrpc) override |
| Method called each time when device successfully registers to Supla server. | |
| bool | iterateConnected () override |
| Method called on each SuplaDevice iteration when device is connected and registered to Supla server or other protocol. | |
| void | handleChannelConfigFinished () override |
| Handles "channel config finished" message from server. | |
| uint8_t | handleChannelConfig (TSD_ChannelConfig *result, bool local) override |
| Handles "set channel config" request from server. | |
| void | handleSetChannelConfigResult (TSDS_SetChannelConfigResult *result) override |
| Handles "set channel config" reply from server. | |
| void | runAction (uint16_t event) const override |
| bool | isAnyUpdatePending () const override |
| Returns true if any update is pending. | |
| void | triggerSetChannelConfig (int configType=SUPLA_CONFIG_TYPE_DEFAULT) |
Public Member Functions inherited from Supla::Element | |
| Element * | next () |
| Returns next Element from the list. | |
| virtual bool | iterateConnected (void *ptr) |
| deprecated | |
| virtual void | onTimer () |
| Method called on timer interupt. | |
| virtual void | onSoftReset () |
| Method called when device soft restart is triggered. | |
| virtual void | onDeviceConfigChange (uint64_t fieldBit) |
| Method called when device config is changed. | |
| virtual void | handleGetChannelState (TDSC_ChannelState *channelState) |
| Handles "get channel state (i)" request from server. | |
| virtual int | handleCalcfgFromServer (TSD_DeviceCalCfgRequest *request) |
| Handles CALCFG requests from server. | |
| virtual uint8_t | handleWeeklySchedule (TSD_ChannelConfig *newWeeklySchedule, bool altSchedule=false, bool local=false) |
| Handles "set channel config" with "weekly schedule" type request from server. | |
| int | getChannelNumber () const |
| Returns channel number. | |
| int | getSecondaryChannelNumber () const |
| Returns secondary channel number. | |
| virtual bool | isOwnerOfSubDeviceId (int subDeviceId) const |
| Returns true if element is owner of subDeviceId. | |
| virtual const Channel * | getSecondaryChannel () const |
| Returns pointer to secondary channel. | |
| virtual Channel * | getSecondaryChannel () |
| virtual void | generateKey (char *output, const char *key) const |
| Generates key used for Config. | |
| Element & | disableChannelState () |
| Disables channel state (i) function. | |
| bool | isChannelStateEnabled () const |
| Returns true if channel state (i) function is enabled. | |
| void | setInitialCaption (const char *caption, bool secondaryChannel=false) |
| Sets initial caption. | |
| bool | setDefaultFunction (uint32_t defaultFunction) |
| Sets default channel's function. | |
| bool | setFunction (uint32_t newFunction) |
| Sets channel's function. | |
| virtual void | onFunctionChange (uint32_t currentFunction, uint32_t newFunction) |
| Called when channel function changes. | |
Public Member Functions inherited from Supla::LocalAction | |
| virtual ActionHandlerClient * | getHandlerForFirstClient (uint16_t event) |
| virtual ActionHandlerClient * | getHandlerForClient (ActionHandler *client, uint16_t event) |
| virtual void | disableOtherClients (const ActionHandler &client, uint16_t event) |
| virtual void | enableOtherClients (const ActionHandler &client, uint16_t event) |
| virtual void | disableOtherClients (const ActionHandler *client, uint16_t event) |
| virtual void | enableOtherClients (const ActionHandler *client, uint16_t event) |
| virtual void | disableAction (int32_t action, ActionHandler *client, int32_t event) |
| virtual void | enableAction (int32_t action, ActionHandler *client, int32_t event) |
| virtual bool | disableActionsInConfigMode () |
Public Member Functions inherited from Supla::ActionHandler | |
| virtual void | activateAction (int action) |
| virtual bool | deleteClient () |
| virtual ActionHandler * | getRealClient () |
Protected Member Functions | |
| int | getMissingGpioCount () const |
| Returns number of GPIO pins that are required to control this channel. | |
| void | enableChannel () |
| void | disableChannel () |
| uint8_t | addWithLimit (int value, int addition, int limit=255) |
| virtual void | iterateDimmerRGBW (int rgbStep, int wStep) |
| int | adjustBrightness (int value) |
| int | getStep (int step, int target, int current, int distance) const |
| bool | calculateAndUpdate (int targetValue, uint16_t *hwValue, int distance, uint32_t *lastChangeMs) const |
Protected Member Functions inherited from Supla::ElementWithChannelActions | |
| virtual bool | setAndSaveFunction (uint32_t channelFunction) |
| virtual bool | loadFunctionFromConfig () |
| virtual bool | saveConfigChangeFlag () const |
| virtual bool | loadConfigChangeFlag () |
| void | clearChannelConfigChangedFlag () |
| bool | iterateConfigExchange () |
| int | getNextConfigType () const |
| Returns the next config type to be sent. | |
Protected Attributes | |
| bool | valueChanged = true |
| uint8_t | buttonStep = 10 |
| uint8_t | curRed = 0 |
| uint8_t | curGreen = 255 |
| uint8_t | curBlue = 0 |
| uint8_t | curColorBrightness = 0 |
| uint8_t | curWhiteBrightness = 0 |
| uint8_t | curWhiteTemperature = 0 |
| uint8_t | lastColorBrightness = 100 |
| uint8_t | lastWhiteBrightness = 100 |
| uint8_t | defaultDimmedBrightness = 20 |
| bool | dimIterationDirection = false |
| bool | resetDisance = false |
| bool | instant = false |
| bool | enabled = true |
| bool | initDone = false |
| bool | skipLegacyMigration = false |
| int8_t | stateOnInit = RGBW_STATE_ON_INIT_RESTORE |
| uint8_t | minIterationBrightness = 1 |
| LegacyChannelFunction | legacyChannelFunction = LegacyChannelFunction::None |
| enum ButtonControlType | buttonControlType = BUTTON_FOR_RGBW |
| enum AutoIterateMode | autoIterateMode = AutoIterateMode::OFF |
| uint16_t | maxHwValue = 1023 |
| uint16_t | hwRed = 0 |
| uint16_t | hwGreen = 0 |
| uint16_t | hwBlue = 0 |
| uint16_t | hwColorBrightness = 0 |
| uint16_t | hwBrightness = 0 |
| uint16_t | hwWhiteTemperature = 0 |
| uint16_t | hwWhite1Brightness = 0 |
| uint16_t | hwWhite2Brightness = 0 |
| uint16_t | minBrightness = 1 |
| uint16_t | maxBrightness = 1023 |
| uint16_t | minColorBrightness = 1 |
| uint16_t | maxColorBrightness = 1023 |
| uint16_t | redDistance = 0 |
| uint16_t | greenDistance = 0 |
| uint16_t | blueDistance = 0 |
| uint16_t | colorBrightnessDistance = 0 |
| uint16_t | brightnessDistance = 0 |
| uint16_t | whiteTemperatureDistance = 0 |
| uint16_t | minMaxIterationDelay = 750 |
| uint16_t | fadeEffect = 500 |
| uint32_t | lastTick = 0 |
| uint32_t | lastChangeRedMs = 0 |
| uint32_t | lastChangeGreenMs = 0 |
| uint32_t | lastChangeBlueMs = 0 |
| uint32_t | lastChangeColorBrightnessMs = 0 |
| uint32_t | lastChangeBrightnessMs = 0 |
| uint32_t | lastChangeWhiteTemperatureMs = 0 |
| uint32_t | lastMsgReceivedMs = 0 |
| uint32_t | lastIterateDimmerTimestamp = 0 |
| uint32_t | iterationDelayTimestamp = 0 |
| uint32_t | lastAutoIterateStartTimestamp = 0 |
| float | warmWhiteGain = 1.0 |
| float | coldWhiteGain = 1.0 |
| BrightnessAdjuster * | brightnessAdjuster = nullptr |
| Supla::Control::Button * | attachedButton = nullptr |
| RGBCCTBase * | parent = nullptr |
Protected Attributes inherited from Supla::ChannelElement | |
| Channel | channel |
Protected Attributes inherited from Supla::ElementWithChannelActions | |
| Supla::ChannelConfigState | channelConfigState |
| uint8_t | setChannelConfigAttempts = 0 |
| ConfigTypesBitmap | usedConfigTypes |
| ConfigTypesBitmap | receivedConfigTypes |
Protected Attributes inherited from Supla::Element | |
| Element * | nextPtr = nullptr |
Additional Inherited Members | |
Static Public Member Functions inherited from Supla::Element | |
| static Element * | begin () |
| Returns first Element (based on creation order) | |
| static Element * | last () |
| Returns last Element (based on creation order) | |
| static Element * | getElementByChannelNumber (int channelNumber) |
| Returns Element by channel number. | |
| static Element * | getOwnerOfSubDeviceId (int subDeviceId) |
| Returns Element which owns given subDeviceId. | |
| static bool | IsAnyUpdatePending () |
| Checks if any element has pending update for remote server. | |
| static void | NotifyElementsAboutConfigChange (uint64_t fieldBit) |
| Notifies all elements about device config change. | |
| static bool | IsInvalidPtrSet () |
| When "invalid pointer" is set, previously obtained Element pointer may be invalid. | |
| static void | ClearInvalidPtr () |
| Clears "invalid pointer" flag. | |
Static Public Member Functions inherited from Supla::LocalAction | |
| static void | DeleteActionsHandledBy (const ActionHandler *client) |
| static void | DeleteActionsTriggeredBy (const LocalAction *action) |
| static void | NullifyActionsHandledBy (const ActionHandler *client) |
| static ActionHandlerClient * | getClientListPtr () |
Static Protected Attributes inherited from Supla::Element | |
| static Element * | firstPtr = nullptr |
| static bool | invalidatePtr = false |
|
explicit |
Constructor.
| parent | parent RGBW object - set to null, for first instance, then remaining instances should be passed one after another in order to properly handle channel disabling based on parent's function. |
|
overridevirtual |
Reimplemented from Supla::ElementWithChannelActions.
| void Supla::Control::RGBCCTBase::convertStorageFromLegacyChannel | ( | LegacyChannelFunction | channelFunction | ) |
Enables storage conversion from legacy channel function to new.
| channelFunction | None, RGBW, RGB, Dimmer |
|
overridevirtual |
Reimplemented from Supla::ElementWithChannelActions.
|
overridevirtual |
Fills TSD_SuplaChannelNewValue based on current state.
| value | pointer to TSD_SuplaChannelNewValue which should be filled |
Reimplemented from Supla::Element.
| int Supla::Control::RGBCCTBase::getAncestorCount | ( | ) | const |
Returns number of ancestor instances (by parent)
|
protected |
Returns number of GPIO pins that are required to control this channel.
I.e. RGB channel requires 3 GPIOs, one is given by current RGBCCT object, and remaining 2 are taken from descendant instances. So if descendant instance call this on its parent, it will return 2
|
overridevirtual |
Implements Supla::ActionHandler.
|
overridevirtual |
Handles "new value" request from server.
| newValue | pointer to TSD_SuplaChannelNewValue |
Reimplemented from Supla::Element.
| bool Supla::Control::RGBCCTBase::hasParent | ( | ) | const |
Checks if this instance has parent.
|
overridevirtual |
Method called after onInit() to check if state storage migration is needed.
WARNING: state storage migration is not done in a way that it guarantees that data will be properly migrated. If something unexpected happens during migration (i.e. power loss), state storage may be lost. Don't rely on it, when state storage contain critical data (i.e. energy meters or impulse counters).
Reimplemented from Supla::Element.
|
overridevirtual |
Method called on each SuplaDevice iteration.
It should provide all actions that have to be executed periodically regardless of network state.
Reimplemented from Supla::Element.
|
overridevirtual |
Method called on fast timer interupt.
It should provide all actions that have to be executed periodically regardless of other SuplaDevice activities. It is usually called every 1 ms (or 0.5 ms for Arduino Mega).
Reimplemented from Supla::Element.
|
overridevirtual |
Third method called on element in SuplaDevice.begin()
Method called during SuplaDevice initialization. I.e. load initial state, initialize pins etc.
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::RGBLeds, and Supla::Control::RGBWLeds.
|
overridevirtual |
First method called on element in SuplaDevice.begin().
Called only if Config Storage class is configured. Element should read its configration in this method.
| sdc |
Reimplemented from Supla::Element.
|
overridevirtual |
Second method called on element in SuplaDevice.begin().
Method called during state Storage initialization (i.e. read from EEPROM, FRAM). Called only if Storage class is configured.
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::RGBWBase.
|
overridevirtual |
Method called periodically during SuplaDevice iteration.
It should provide state saving for this elemnet to Storage
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::RGBWBase.
|
overridevirtual |
Removes all configration data related to the element from Storage::Config.
Reimplemented from Supla::ElementWithChannelActions.
| void Supla::Control::RGBCCTBase::setSkipLegacyMigration | ( | ) |
Disables storage conversion from legacy channel function to new.
Use together with convertStorageFromLegacyChannel to keep legacy storage format.