MQTT Gateway - Loxone Logger Receiver

Back in the beginning, Loxone did well to implement a Logger functionality for syslog servers that is not compatible with the syslog protocol standard and never fixed that. 

Nevertheless the MQTT Gateway can act as a Logger receiver and redirect the Logger messages to the mqtt broker. This might be useful for quick and dirty analysis of values outside of the sd card of the Miniserver, or whatever you like to do with that messages.

Configuration is easy:

Loxone Config

Create a Logger

In the project tree, create a new Logger called "LoxBerry MQTT":

For the Logger address, enter:

/dev/udp/loxberry/11884

where loxberry is the hostname or ip of your LoxBerry, and 11884 is the Gateway UDP in-port in the MQTT Gateway setting.

Assign Loxone blocks to the Logger

Select every block you like and open the "Logging/Mail/Call/Track" section in it's properties.

Select the Logger you have defined before.

The "Message for ON/Analogue value" and "Message for OFF" needs to have a value to be submitted:

For analogue values, enter <v> (no decimals), or <v.2> (two decimals), etc. If you want to use numbers only, don't add any text or units, as they will also be submitted (<v>°C will submit 3°C).

For digital values, enter for example 1 for ON and 0 for OFF. 

You also can enter a string that will be submitted.

Save to the Miniserver

Don't forget to save to the Miniserver!

MQTT Gateway

There is no need to enable any receiver functionality for this. Logger messages are automatically forwarded to the broker.

If you want to see the messages in the incoming overview, you're required to add a subscription:

logger/#

Keep in mind: The subscription is not needed for forwarding the messages from Miniserver to the broker - this will always happen! With the subscription, you enable to send the data back from the broker to the Miniserver! For the MQTT-Spy example below, you don't need the subscription in the MQTT Gateway.

Check incoming data

You only will see this, if you have added the logger/# subscription. You also can check the data with MQTT-Spy or any other mqtt client.

The message topic is composed of:

Fixed keywordHostname of MiniserverDescription of the objectFull example
Example 1logger/ lxl0043/ Puffer Zone 1 logger/lxl0043/Puffer Zone 1
Example 2logger/ msug/ UG Heizkurve Vorlauf-SOLLlogger/msug/UG Heizkurve Vorlauf-SOLL

The value represents the data the Miniserver is submitting.

Hints for use

  • The values are not stored anywhere by the MQTT Gateway, but only are submitted to the broker.
  • Data are published with the retain flag enabled.
  • Loxone only sends values on a change. If a value never changes, you will never receive that value. Even on a Miniserver restart, you won't get the value.
  • For some reason, Loxone implemented the Logger to use the "Description" of a block, not the "Name" (in all other interfaces, the name is used).

Create "quick & dirty" statistics with MQTT-Spy

Download and install MQTT-Spy: https://github.com/eclipse/paho.mqtt-spy/wiki/GettingStarted

The Java JRE is required, you'll find the download link also on the above link.

In MQTT-Spy, connect to the mqtt broker with loxberry:1883 and the credentials shown in the MQTT Gateway settings.

When connected, create a subscription to logger/#

Now, this should look like this:

On the bottom, right click one of the values and select "Charts" / "Show payload values for this topic", or to show multiple graphs, select "Show payload values for browsed topics";

 

Now enjoy playing!