Event "bei einem MQTT-Ereignis"
Event “bei einem MQTT-Ereignis”
Dieser Event wird aufgerufen bei mehreren MQTT-Ereignissen aufgerufen.
Eventtypen und Data-Klassen
Eigenschaften sind Read-Only, außer besonders beschrieben.
Data-Klasse | Eventtypen | Eigenschaften |
---|---|---|
TbeMQTTEventExceptionData | bmeException | Exception:O |
TbeMQTTEventClientSessionIdentifierData | bmeBeforeConnect | CleanSession:L (schreibbar) ClientIdentifier:C (schreibbar) |
TbeMQTTEventClientConnectionData | bmeConnect, bmeDisconnect, bmeAuth | ReasonCode:N ReasonName:C |
TbeMQTTEventPublishData | bmePublish | Topic:C Text:C |
TbeMQTTEventSubscribeData | bmeSubscribe | PacketIdentifier:N |
TbeMQTTEventUnsubscribeData | bmeUnsubscribe | PacketIdentifier:N |
TbeMQTTEventSSLVerifyData | bmeSSLVerify | Accept:L (schreibbar) |
Beispiel
| nEvtNo:P1, oClient:P2, nEventType:P3, oEventData:P4 |
//################################################################################
// oClient : auslösender MQTT Client
// nEventType : Welches Event ausgelöst wurde
// oEventData : Event-Parameter-Daten
//################################################################################
if CbMQTTClient.CbIsSame(oClient) then
case nEventType
of bmeException :: log('Exception: ' + GetErrorText(oEventData.Exception), llFatal),
of bmeBeforeConnect :: oEventData.ClientIdentifier := CalcHashString(Str(RandomRange(-99999, 99999) * 1000 / (Now() * 100)), 1, hfSHA256),
of bmeConnect :: log('Connect - ' + Str(oEventData.ReasonCode) + ' - ' + oEventData.ReasonName, llFatal),
of bmeDisconnect :: log('Disconnect - ' + Str(oEventData.ReasonCode) + ' - ' + oEventData.ReasonName, llFatal),
//meld('dc'),
of bmePublish :: log('Publish: Topic <' + oEventData.Topic + '> Text <' + oEventData.Text + '>', llFatal),
//meld('Publish: Topic <' + oEventData.Topic + '> Text <' + oEventData.Text + '>'),
of bmeSubscribe :: log('Subscribed with identifier <' + Str(oEventData.PacketIdentifier) + '>', llFatal),
of bmeUnsubscribe :: log('Unsubscribed with identifier <' + Str(oEventData.PacketIdentifier) + '>', llFatal),
of bmeAuth :: log('Auth: ReasonCode ' + Str(oEventData.ReasonCode) + ' - ' + oEventData.ReasonName, llFatal),
of bmeSSLVerify :: oEventData.Accept := True,
endcase,
endif,