# UART Shell This is based on the Zephyr shell. It is not part of the public API as defined by semantic versioning and has no stability guarantees. It is a pure development and debugging tool. # IP The device will automatically set its IP configuration based on DHCPv4 and IPv6 SLAAC. # mDNS The device will find the following services based on mDNS: - MQTT broker - syslog server # MQTT All topics have the following structure: ``` // ``` The `` is selected by the user. It is a system setting to make it possible to move the device API to a specific location in the topic namespace of a broker. The `` is the Semantic Versioning string like `v1.2.3` of the currently running firmware. It is recommended to use a `+` single-level wildcard here for subscriptions. On each message the version string can be parsed from this location to check if the message is compatible with the receiving entity. The `` is fixed by the firmware implementation. This is the only part noted down explicitly in the following MQTT API documentation. These are the topics to which the device publishes. Users should not publish to these and only subscribe. - `blind/closure` QoS 1 retained (`0`, `1`, ... `100`) - `blind/motion` QoS 1 retained (`up`, `down`, `stopped`) - `contact/state` QoS 1 retained (`open`, `closed`) - `heartbeat` QoS 0 not retained (period in milliseconds, "on-time" in milliseconds) - `update/required` QoS 2 not retained (`true`, `false`) These are the topics the device subscribes to. Users can publish there and optionally subscribe to them to see messages from other users if required. The annotations according Quality of Service (QoS) and the retained flag should be followed. - `blind/closure/set` QoS 2 not retained (`0`, `1`, ... `100`) - `blind/motion/set` QoS 2 not retained (`up`, `down`, `stopped`) - `update/trigger` QoS 2 not retained