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,