supla-device
Loading...
Searching...
No Matches
Supla::Protocol::Mqtt Class Referenceabstract
Inheritance diagram for Supla::Protocol::Mqtt:
Collaboration diagram for Supla::Protocol::Mqtt:

Public Member Functions

 Mqtt (SuplaDeviceClass *sdc)
 
void onInit () override
 
bool onLoadConfig () override
 
bool verifyConfig () override
 
bool isEnabled () override
 
bool isNetworkRestartRequested () override
 
uint32_t getConnectionFailTime () override
 
bool isConnectionError () override
 
bool isConnecting () override
 
void publish (const char *topic, const char *payload, int qos=-1, int retain=-1, bool ignorePrefix=false)
 
void publishInt (const char *topic, int payload, int qos=-1, int retain=-1)
 
void publishBool (const char *topic, bool payload, int qos=-1, int retain=-1)
 
void publishOnOff (const char *topic, bool payload, int qos, int retain)
 
void publishOpenClosed (const char *topic, bool payload, int qos, int retain)
 
void publishDouble (const char *topic, double payload, int qos=-1, int retain=-1, int precision=2)
 
void publishColor (const char *topic, uint8_t red, uint8_t green, uint8_t blue, int qos=-1, int retain=-1)
 
void publishChannelState (int channel)
 
void publishExtendedChannelState (int channel)
 
void subscribeChannel (int channel)
 
void subscribe (const char *topic, int qos=-1)
 
bool isUpdatePending () override
 
bool isRegisteredAndReady () override
 
void notifyConfigChange (int channelNumber) override
 
void sendActionTrigger (uint8_t channelNumber, uint32_t actionId) override
 
void sendChannelValueChanged (uint8_t channelNumber, int8_t *value, unsigned char offline, uint32_t validityTimeSec) override
 
void sendExtendedChannelValueChanged (uint8_t channelNumber, TSuplaChannelExtendedValue *value) override
 
bool processData (const char *topic, const char *payload)
 
void processRelayRequest (const char *topic, const char *payload, Supla::Element *element)
 
void processRGBWRequest (const char *topic, const char *payload, Supla::Element *element)
 
void processRGBRequest (const char *topic, const char *payload, Supla::Element *element)
 
void processDimmerRequest (const char *topic, const char *payload, Supla::Element *element)
 
void processHVACRequest (const char *topic, const char *payload, Supla::Element *element)
 
void processRollerShutterRequest (const char *topic, const char *payload, Supla::Element *element)
 
- Public Member Functions inherited from Supla::Protocol::ProtocolLayer
 ProtocolLayer (SuplaDeviceClass *sdc)
 
ProtocolLayernext ()
 
SuplaDeviceClassgetSdc ()
 
void setVerboseLog (bool value)
 
virtual void disconnect ()=0
 
virtual bool isConfigEmpty ()
 
virtual bool iterate (uint32_t _millis)=0
 
virtual void sendRemainingTimeValue (uint8_t channelNumber, uint32_t timeMs, uint8_t state, int32_t senderId)
 
virtual void sendRemainingTimeValue (uint8_t channelNumber, uint32_t remainingTime, uint8_t *state, int32_t senderId, bool useSecondsInsteadOfMs)
 
virtual void getUserLocaltime ()
 
virtual void sendChannelValueChanged (uint8_t channelNumber, int8_t *value, uint8_t offline, uint32_t validityTimeSec)=0
 
virtual void getChannelConfig (uint8_t channelNumber, uint8_t configType=SUPLA_CONFIG_TYPE_DEFAULT)
 
virtual bool setChannelConfig (uint8_t channelNumber, _supla_int_t channelFunction, void *channelConfig, int size, uint8_t configType=SUPLA_CONFIG_TYPE_DEFAULT)
 
virtual bool setDeviceConfig (TSDS_SetDeviceConfig *deviceConfig)
 
virtual bool setInitialCaption (uint8_t channelNumber, const char *caption)
 
virtual void sendRegisterNotification (TDS_RegisterPushNotification *notification)
 
virtual bool sendNotification (int context, const char *title, const char *message, int soundId)
 
virtual void sendSubdeviceDetails (TDS_SubdeviceDetails *subdeviceDetails)
 
virtual void sendChannelStateResult (int32_t receiverId, uint8_t channelNo)
 

Protected Member Functions

void generateClientId (char result[MQTT_CLIENTID_MAX_SIZE])
 
void generateObjectId (char result[30], int channelNumber, int subId)
 
MqttTopic getHADiscoveryTopic (const char *sensor, char *objectId)
 
void publishDeviceStatus (bool onRegistration=false)
 
void publishHADiscovery (int channel)
 
void publishHADiscoveryRelay (Supla::Element *)
 
void publishHADiscoveryRelayImpulse (Supla::Element *)
 
void publishHADiscoveryThermometer (Supla::Element *)
 
void publishHADiscoveryHumidity (Supla::Element *)
 
void publishHADiscoveryActionTrigger (Supla::Element *)
 
void publishHADiscoveryEM (Supla::Element *)
 
void publishHADiscoveryRGB (Supla::Element *)
 
void publishHADiscoveryDimmer (Supla::Element *)
 
void publishHADiscoveryHVAC (Supla::Element *)
 
void publishHADiscoveryBinarySensor (Supla::Element *)
 
void publishHADiscoveryRollerShutter (Supla::Element *)
 
void publishHADiscoveryEMParameter (Supla::Element *element, int parameterId, const char *parameterName, const char *units, Supla::Protocol::HAStateClass stateClass, Supla::Protocol::HADeviceClass deviceClass)
 
const char * getActionTriggerType (uint8_t actionIdx)
 
bool isActionTriggerEnabled (Supla::Channel *ch, uint8_t actionIdx)
 
virtual void publishImp (const char *topic, const char *payload, int qos, bool retain)=0
 
virtual void subscribeImp (const char *topic, int qos)=0
 
const char * getStateClassStr (Supla::Protocol::HAStateClass stateClass)
 
const char * getDeviceClassStr (Supla::Protocol::HADeviceClass deviceClass)
 
const char * getRelayChannelName (int channelFunction) const
 
const char * getBinarySensorChannelName (int channelFunction) const
 
bool isPayloadOn (const char *)
 
bool isOpenClosedBinarySensorFunction (int channelFunction) const
 

Protected Attributes

char server [SUPLA_SERVER_NAME_MAXSIZE] = {}
 
int32_t port = -1
 
char user [MQTT_USERNAME_MAX_SIZE] = {}
 
char password [MQTT_PASSWORD_MAX_SIZE] = {}
 
char hostname [32] = {}
 
uint8_t qosCfg = 0
 
bool useTls = false
 
bool useAuth = true
 
bool retainCfg = false
 
bool enabled = true
 
bool connecting = false
 
bool connected = false
 
bool error = false
 
char * prefix = nullptr
 
int prefixLen = 0
 
Supla::Uptime uptime
 
int channelsCount = 0
 
int buttonNumber = 0
 
uint8_t configChangedBit [8] = {}
 
- Protected Attributes inherited from Supla::Protocol::ProtocolLayer
ProtocolLayernextPtr = nullptr
 
SuplaDeviceClasssdc = nullptr
 
bool configEmpty = true
 
bool verboseLog = true
 

Additional Inherited Members

- Static Public Member Functions inherited from Supla::Protocol::ProtocolLayer
static ProtocolLayerfirst ()
 
static ProtocolLayerlast ()
 
static bool IsAnyUpdatePending ()
 
- Static Protected Attributes inherited from Supla::Protocol::ProtocolLayer
static ProtocolLayerfirstPtr = nullptr
 

Member Function Documentation

◆ getConnectionFailTime()

uint32_t Supla::Protocol::Mqtt::getConnectionFailTime ( )
overridevirtual

◆ isConnecting()

bool Supla::Protocol::Mqtt::isConnecting ( )
overridevirtual

Reimplemented from Supla::Protocol::ProtocolLayer.

◆ isConnectionError()

bool Supla::Protocol::Mqtt::isConnectionError ( )
overridevirtual

Reimplemented from Supla::Protocol::ProtocolLayer.

◆ isEnabled()

bool Supla::Protocol::Mqtt::isEnabled ( )
overridevirtual

◆ isNetworkRestartRequested()

bool Supla::Protocol::Mqtt::isNetworkRestartRequested ( )
overridevirtual

◆ isRegisteredAndReady()

bool Supla::Protocol::Mqtt::isRegisteredAndReady ( )
overridevirtual

◆ isUpdatePending()

bool Supla::Protocol::Mqtt::isUpdatePending ( )
overridevirtual

Reimplemented from Supla::Protocol::ProtocolLayer.

◆ notifyConfigChange()

void Mqtt::notifyConfigChange ( int channelNumber)
overridevirtual

Reimplemented from Supla::Protocol::ProtocolLayer.

◆ onInit()

void Supla::Protocol::Mqtt::onInit ( )
overridevirtual

◆ onLoadConfig()

bool Supla::Protocol::Mqtt::onLoadConfig ( )
overridevirtual

◆ sendActionTrigger()

void Supla::Protocol::Mqtt::sendActionTrigger ( uint8_t channelNumber,
uint32_t actionId )
overridevirtual

◆ sendExtendedChannelValueChanged()

void Supla::Protocol::Mqtt::sendExtendedChannelValueChanged ( uint8_t channelNumber,
TSuplaChannelExtendedValue * value )
overridevirtual

◆ verifyConfig()

bool Supla::Protocol::Mqtt::verifyConfig ( )
overridevirtual

The documentation for this class was generated from the following files: