Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Die folgenden Operationen werden von der Schnittstelle unterstützt und können vom Broker verwendet werden. In den meisten Szenarien sollten die Operationen 52.31, 52.4 2 und 53.14 3 ausreichend sein. Die Variablen selbst sind im Dimplex Wiki dokumentiert: https://dimplex.atlassian.net/wiki/x/AQDwzQ .

Table of Contents
stylenone

1 PluginManager

1.1 PluginManager Request-Reboot

Method

PUBLISH gateway/plugin_manager/set_value/request_reboot

Description

Restart system or only gateway plugin.

Request body

Same as modbus-write. Name is "request_reboot" instead of a modbus index and value is an embedded JSON in the format:

Code Block
{
    "system_reboot": <True for system reboot, false for gateway plugin restart (bool)>,
    "force": <True if restart should be forced, e.g. despite running update (bool)>
}

Response body

Same as modbus-write.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/plugin_manager/set_value/request_reboot -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/request_reboot -m '{"name":"request_reboot","value":"{\"system_reboot\":true,\"force\":

\"

false

\"

}"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/set_value_reply/request_reboot

...

1.2 PluginManager Report-Update-State

Method

PUBLISH gateway

SUBSCRIBE extern/

modbus

broadcast/

get_value/{modbus_index_range}

Description

Request a

report_update_state

Description

Receive notifications about each step of a gateway, appliance or image update.

Response body

Code Block
{
    "type": "<Update type which is running. Currently, that is '<gateway type>', 'ImageUpdate' or 'ApplianceFirmwareUpdate' (String)>",
    "versionFrom": "<Version to update from (String)>",
    "versionTo": "<Version to update to (String)>",
    "updateFile": "<Update filename the gateway uses (String)>"
    "started": "<Timestamp when this update process was started - used to identify the update process (Date ISO 8601)>",
    "event": "<Event ID which happened. See below for possible values (String)>",
    "message": "<Optional additional info for the event (String)>",
    "isFinal": <true if this is the last event of this update process, i.e. the update either failed or was successful (boolean)>
}
Values for "event" can be:
 * "started": Update process was started
 * "start_fail": Update failed to start (e.g. blacklisted)
 * "receive_download_url_success": Received the download URL for the container
 * "receive_download_url_fail": Failed to fetch the download URL
 * "download_success": Downloaded the update container
 * "download_fail": Failed to download the update container
 * "extract_success": Extracted the container
 * "extract_fail": Failed to extract the container
 * "verify_success": All verifications succeeded
 * "verify_fail": Verification failed (details in the message)
 * "install_success": Installation of update succeeded
 * "install_fail": Installation failed, rollback was performed
Example:
{
    "type":        "nwpm2_plugin",
    "versionFrom": "1.0.0",
    "versionTo":   "1.1.0",
    "updateFile":  "update_nwpm2_plugin_1.1.0.zip"
    "started":     "2012-04-23T18:25:43.511Z",
    "event":       "started",
    "message":     "an update message",
    "isFinal":     false
}

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk 3830423536353938 -t extern/broadcast/report_update_state

1.3 PluginManager Change-Local-Password

Method

PUBLISH gateway/plugin_manager/set_value/change_local_password

Description

Change the local password used by MQTT and the websites. The password needs to be between 8 and 64 characters long with no whitespace and special characters and is required to have at least one lower case letter, one upper case letter and one number.

Request body

Same as modbus-write. Name is "change_local_password" instead of a modbus index and value is an embedded JSON in the format:

Code Block
{
    "oldPw": "<Current local password (string)>",
    "newPw": "<New local password to use (string)>"
}

Response body

Same as modbus-write.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk 3830423536353938 -t gateway/plugin_manager/set_value/change_local_password -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/change_local_password -m '{"name":"change_local_password","value":"{\"oldPw\":\"80B56598 \",\"newPw\":\"2x8D2jzZARrscc8AuTAy\"}"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk 3830423536353938 -t extern/desktop/set_value_reply/change_local_password

1.4 PluginManager Reset-Local-Password

Method

PUBLISH gateway/plugin_manager/set_value/reset_local_password

Description

Reset the local password to the default one. This is only possible within the first 10 minutes after system reboot. Note that the special reset passwort ports which are not password protected need to be used.

Request body

Same as modbus-write. Name is "reset_local_password" instead of a modbus index and value is an empty string.

Response body

Same as modbus-write.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61890 -t gateway/plugin_manager/set_value/reset_local_password -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/reset_local_password -m '{"name":"reset_local_password","value":""}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61890 -i desktop -t extern/desktop/set_value_reply/reset_local_password

1.5 PluginManager Extern-Services-Blocked

Method

PUBLISH gateway/plugin_manager/get_value/extern_services_blocked

Description

Check if extern services like SSH and Modbus TCP are blocked.

Request body

Same as modbus-read. Name is "extern_services_blocked" instead of a modbus index.

Response body

Same as modbus-read. Result value is "1" for blocked and "0" for unblocked.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk 3830423536353938 -t gateway/plugin_manager/get_value/extern_services_blocked -D publish correlation-data 0 -D publish response-topic extern/desktop/get_value_reply/extern_services_blocked -m '{"name":"extern_services_blocked"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk 3830423536353938 -t extern/desktop/get_value_reply/extern_services_blocked

1.6 PluginManager Block-Extern-Services

Method

PUBLISH gateway/plugin_manager/set_value/block_extern_services

Description

Block or unblock extern services like SSH and Modbus TCP.

Request body

Same as modbus-write. Name is "block_extern_services" instead of a modbus index and value is "1" for block and "0" for unblock.

Response body

Same as modbus-write.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk 3830423536353938 -t gateway/plugin_manager/set_value/block_extern_services -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/block_extern_services -m '{"name":"block_extern_services","value":"0"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk 3830423536353938 -t extern/desktop/set_value_reply/block_extern_services

2 Modbus

2.1 Modbus read

Method

PUBLISH gateway/modbus/get_value/{modbus_index_range}

Description

Request a range of modbus values. The response will be published on given response-topic with given correlation-data.
The response-topic has to be conform with internal and external ACL patterns. Response-topic needs read access on external ACL and write access on internal ACL.

Request MQTTv5 properties

  • correlation-data: <int>

  • response-topic: <string>

Alternatively, for pre MQTTv5 clients without property support, the following JSON-Value has to be added to the request body:

Code Block
"mqtt_msg_properties": {"correlation_data": <int>, "response_topic": <string>}

Request body

Code Block
{
    "name": <Modbus index range (string)>
}
 
Example:
{
    "name": "
150
1500-
151i
1501i"
}

Response MQTTv5 properties

  • correlation-data: <int>

Alternatively, for pre MQTTv5 clients without property support, the following JSON-Value is included in the response body:

Code Block
"mqtt_msg_properties": {"correlation_data": <int>}

Response body

If status 0:

Code Block
{
	"content" : {
		"name": <Modbus index range requested (string)>,
		"type" : <Internal data type of modbus values [bool/int16/uint16] (string)>,
		"value" : <Array with requested values as string (JSON-Array)>
	},
	"status" : <Status code of operation; 0 on success (int)>
}
Example:
{
	"content" : {
		"name": "
100
1500-
102i
1501i",
		"type" : "int16",
		"value" : ["0", "0"]
	},
	"status" : 0
}

If status not 0:

Code Block
{
	"error_message" : <Error message if status not 0 (string)>,
	"status" : <Status code of operation; not 0 on failure (int)>
}
Example:
{
	"error_message" : "Requested value not provided",
	"status" : 1
}

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/modbus/get_value/496-497i -D publish correlation-data 0 -D publish response-topic extern/desktop/get_value_reply/496-497i -m '{"name":"496-497i"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/get_value_reply/496-497i

...

2.2 Modbus write

Method

PUBLISH gateway/modbus/set_value/{modbus_index_range}

Description

Write a range of modbus values. The response will be published on given response-topic with given correlation-data.
The response-topic has to be conform with internal and external ACL patterns. Response-topic needs read access on external ACL and write access on internal ACL.

Request MQTTv5 properties

  • correlation-data: <int>

  • response-topic: <string>

Alternatively, for pre MQTTv5 clients without property support, the following JSON-Value has to be added to the request body:

Code Block
"mqtt_msg_properties": {"correlation_data": <int>, "response_topic": <string>}

Request body

Code Block
{
    "name": <Modbus index range (string)>,
    "value" : <Array of modbus values to write as string (JSON-Array)>
}
 
Example:
{
    "name": "
100
1500-
102d
1502d",
    "value" : ["1", "0", "1"]
}

Response MQTTv5 properties

  • correlation-data: <int>

Alternatively, for pre MQTTv5 clients without property support, the following JSON-Value is included in the response body:

Code Block
"mqtt_msg_properties": {"correlation_data": <int>}

Response body

Code Block
{
	"error_message" : <Error message if status not 0 (string)>,
	"status" : <Status code of operation; 0 on success (int)>
}
Example:
{
	"error_message" : "",
	"status" : 0
}

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/modbus/set_value/496-497i -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/496-497i -m '{"name":"496-497i","value":["1","3"]}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/set_value_reply/496-497i

...

2.3 Modbus change

Method

SUBSCRIBE gateway/broadcast/changed_on/modbus/#

Description

Receive notifications of modbus variables that changed or rather need to be sent according to the current telemetry configuration.

Request MQTTv5 properties

Response body

Code Block
{
  "<modbus_index_range that contains changes>": {
      "name": "<modbus_index_range that contains changes>",
      "timestamp": <unix time of message creation in milliseconds>,
      "type": "<modbus_index_range internal type>"
,
,
      "value_batch": {
         "<modbus_index that changed>": {
            "cloud_report_type": <determines how modbus value is sent to cloud>,
            "name": "<modbus_index that changed>",
            "value": "<value of changed modbus_index>"
         }
      }
   },
   ...
}
Example:
{
   "
142i
1462i": {
      "name": "
142i
1462i",
      "timestamp": 1610465097692,
      "type": "int16",
      "value_batch": {
         "
142i
1462i": {
            "cloud_report_type": 1,
            "name": "
142i
1462i",
            "value": "0"
         }
      }
   },
   "
180
1580-
182i
1582i": {
      "name": "
180
1580-
182i
1582i",
      "timestamp": 1610465097841,
      "type": "int16",
      "value_batch": {
         "1580i": {
            "cloud_report_type": 1,
            "name": "
180i
1580i",
            "value": "3"
         }
      }
   }
}

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/broadcast/changed_on/modbus/#

...

2.4 Modbus clear previous value cache

Method

PUBLISH gateway/modbus/clear_prev_val_cache

Description

Clear internal cache of last sent register values. This causes the values to be sent again on next internal query regardless of the current telemetry configuration. Useful to immediately get all values when subscribing to the Modbus-Change topic.
The response-topic has to be conform with internal and external ACL patterns. Response-topic needs read access on external ACL and write access on internal ACL.

Request MQTTv5 properties

  • correlation-data: <int>

  • response-topic: <string>

Alternatively, for pre MQTTv5 clients without property support, the following JSON-Value has to be added to the request body:

Code Block
"mqtt_msg_properties": {"correlation_data": <int>, "response_topic": <string>}

Request body

Code Block
{
    "twin": <clear cache for twin variables (bool)>,
    "telemetry": <clear cache for telemetry variables (bool)>
}
 
Example:
{
    "twin": true,
    "telemetry": false
}

Response MQTTv5 properties

  • correlation-data: <int>

Alternatively, for pre MQTTv5 clients without property support, the following JSON-Value is included in the response body:

Code Block
"mqtt_msg_properties": {"correlation_data": <int>}

Response body

Code Block
{
	"error_message" : <Error message if status not 0 (string)>,
	"status" : <Status code of operation; 0 on success (int)>
}

Example:
{
	"error_message" : "",
	"status" : 0
}

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/modbus/clear_prev_val_cache -m '{"mqtt_msg_properties":{"correlation_data":0,"response_topic":"extern/desktop/clear_prev_val_cache_reply"},"twin":true,"telemetry":false}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/clear_prev_val_cache_reply

...

2.5 Appliance Error-History-State

Method

SUBSCRIBE extern/broadcast/error_history_state

Description

Receive notifications when the error history stored in the appliance changes. On every change the complete error history is published. The entries are sorted by time descending.

Response body

Code Block
[
    {
      "time": "<timestamp of error in ISO 8601 (string)>"
      "err_value": "<id of error (string)>",
      "idx": <error index in appliance (int)>,
      ...
      "<other appliance specific info>": "<other info value (string)>",
      ...
    },
    ...
]
Example:
[
    {
      "time": "2022-08-15T09:45:00+02:00",
      "err_value": "5",
      "idx": 0,
      "err_info": "0",
      "err_rl": "0",
      "err_status": "0",
      "err_vl": "27",
      "err_wq": "24"
    },
    {
      "time": "2022-08-04T23:09:00+02:00",
      "err_value": "25",
      "idx": 1,
      "err_info": "0",
      "err_rl": "17",
      "err_status": "5",
      "err_vl": "14",
      "err_wq": "25"
    }
]

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/broadcast/error_history_state

...

2.6 Appliance Lock-History-State

Method

SUBSCRIBE extern/broadcast/

error

lock_history_state

Description

Receive notifications when the lock history stored in the appliance changes. On every change the complete lock history is published. The entries are sorted by time descending.

Response body

Code Block
[
    {
      "time": "<timestamp of error in ISO 8601 (string)>"
      "lock_value": "<id of error (string)>",
      "idx": <error index in appliance (int)>,
      ...
      "<other appliance specific info>
": "<other info value (string)>"
": "<other info value (string)>",
      ...
    },
    
},
...
]

Example:
[
    {
      "time": "2022-08-18T10:21:00+02:00",
      "lock_value": "34",
      "idx": 0,
      "lock_info": "0",
      "lock_rl": "23",
      "lock_status": "1",
      "lock_vl": "23",
      "lock_wq": "20"
    },
    {
      "time": "2022-08-02T09:55:00+02:00",
      "lock_value": "34",
      "idx": 1,
      "lock_info": "0",
      "lock_rl": "19",
      "lock_status": "1",
      "lock_vl": "19",
      "lock_wq": "22",
    }
]

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/broadcast/lock_history_state

...

2.7 Appliance Time-State

Method

SUBSCRIBE extern/broadcast/appliance_time_state

Description

Receive notifications when the appliance time configuration is changed.

Response body

Code Block
{
    "timezone_name": "<Name of configured timezone (string)>",
    "utc_offset_minutes": <UTC offset in minutes (int),
    "appliance_time_last_modification": "<Appliance time set as result of the configuration change. Dont use it as the current time!!! (string)>"
}
Example:
{
    "timezone_name": "Antarctica/Casey",
    "utc_offset_minutes": 660,
    "appliance_time_last_modification": "2023-01-23T21:26:31"
}

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/broadcast/appliance_time_state

...

2.8 Appliance Time-Get

Method

PUBLISH gateway/modbus/get_value/appliance_time_get

Description

Retrieve the current appliance_time.

Request body

Same as modbus-read. Name is "appliance_time_get" instead of a modbus index.

Response body

Same as modbus-read. Result value is an ISO 8601 date string instead of a number string.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/modbus/get_value/appliance_time_get -D publish correlation-data 0 -D publish response-topic extern/desktop/get_value_reply/appliance_time_get -m '{"name":"appliance_time_get"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/get_value_reply/appliance_time_get

...

2.9 Appliance Time-Set

Method

PUBLISH gateway/modbus/set_value/appliance_time_set

Description

Set the current appliance_time.

Request body

Same as modbus-write. Name is "appliance_time_set" instead of a modbus index and value is an ISO 8601 date string instead of a number string.

Response body

Same as modbus-write.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/modbus/set_value/appliance_time_set -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/appliance_time_set -m '{"name":"appliance_time_set","value":"2023-01-23T21:26:31"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/set_value_reply/appliance_time_set

...

2.10 Appliance UTC-Offset-Set

Method

PUBLISH gateway/modbus/set_value/appliance_utc_offset_set

Description

Set the UTC offset and the corresponding timezone name of the appliance. A potential resulting time change only happens immediately if the gateway has internet connection, otherwise it is delayed until there is connection.

Request body

Same as modbus-write. Name is "appliance_utc_offset_set" instead of a modbus index and value is an embedded JSON in the format:

Code Block
{
    "utc_offset_minutes": <UTC time offset in minutes (int)>,
    "timezone_name": "<Name of the timezone belonging to the utc offset (string, optional)>"
}

Response body

Same as modbus-write.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/modbus/set_value/appliance_utc_offset_set -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/appliance_utc_offset_set -m '{"name":"appliance_utc_offset_set","value":"{\"utc_offset_minutes\": 660, \"timezone_name\": \"Antarctica/Casey\"}"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/set_value_reply/appliance_utc_offset_set

...

3 IoTHub

3.1 IoTHub Cloud-Communication-Disabled

Method

PUBLISH gateway/iothub/get_value/cloud_communication_disabled

Description

Check if cloud communication is disabled.

Request body

Same as modbus-read. Name is "cloud_communication_disabled" instead of a modbus index.

Response body

Same as modbus-read. Result value is "1" for disabled and "0" for enabled.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/iothub/get_value/cloud_communication_disabled -D publish correlation-data 0 -D publish response-topic extern/desktop/get_value_reply/cloud_communication_disabled -m '{"name":"cloud_communication_disabled"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/get_value_reply/cloud_communication_disabled

...

3.2 IoTHub Disable-Cloud-Communication

Method

PUBLISH gateway/iothub/set_value/disable_cloud_communication

Description

Disable or enable cloud communication.

Request body

Same as modbus-write. Name is "disable_cloud_communication" instead of a modbus index and value is "1" for disable and "0" for enable.

Response body

Same as modbus-write.

Example publish

mosquitto_pub -h 192.168.178.38 -p 61895 -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t gateway/iothub/set_value/disable_cloud_communication -D publish correlation-data 0 -D publish response-topic extern/desktop/set_value_reply/disable_cloud_communication -m '{"name":"disable_cloud_communication","value":"1"}'

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/desktop/set_value_reply/disable_cloud_communication

...

3.3 IoTHub Twin-Reported-State

Method

SUBSCRIBE extern/broadcast/twin_reported_state

Description

Receive notifications when the reported properties section of the device twin changes. On every change the complete reported properties section is published. This state is independant from cloud connection.

Request

Response body

Code Block
{
  "meta": {<twin meta variables>},
  "telemetry": {<twin telemetry variables>},
  "$metadata": {<metadata for all twin variables>}
}
Example:
{
   "meta": {
        "cloudConnectionState": "0",
        "applianceConnectionState": "1",
        "gatewayMac": "B8:27:EB:31:2E:EC",
        ...
    },
   "telemetry": {
        "2662i": "0",
        "1074i": "60",
        ...
    },
    "$metadata": {
        "meta": {
            "applianceConnectionState": {
                "$lastUpdated": "2023-01-24T15:13:53.092Z"
            },
            ...
        },
        "telemetry": {
            "2662i": {
                "$lastUpdated": "2023-01-24T15:14:03.103Z"
            },
            ...  
        }
    }
}        

Example subscribe

mosquitto_sub -h 192.168.178.38 -p 61895 -i desktop -u mqtt -P 80B56598 --psk-identity mqtt --psk

80B56598

3830423536353938 -t extern/broadcast/twin_reported_state