Nachdem eine neue Instanz für ein M-Bus Gerät hinzufügt wurde, werden bei der ersten Abfrage dieses Gerätes automatisch Statusvariablen für alle in der M-Bus Antwort gefundenen Standarddatentypen angelegt. Das funktioniert soweit super!
Aber wie komme ich an herstellerspezifische Daten, die keine M-Bus Standardtypen sind? Im Debug Modus werden diese säuberlich als „Unknown String“ aufgelistet mit den entsprechenden Bytes dazu. Die Bedeutung dieser Bytes ist vom Hersteller dokumentiert. Aber wie bekomme ich die gewünschten Daten in eine eigene Statusvariable?
14.09.2016 18:24:15.00 | Energy | 0,200000 kWh
14.09.2016 18:24:15.00 | Energy | 0,200000 kWh
14.09.2016 18:24:15.00 | Energy | 0,000000 kWh
14.09.2016 18:24:15.00 | Energy | 0,000000 kWh
14.09.2016 18:24:15.00 | Volts | 231,000000 V
14.09.2016 18:24:15.00 | Ampere | 0,000000 A
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Volts | 0,000000 V
14.09.2016 18:24:15.00 | Ampere | 0,000000 A
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Volts | 0,000000 V
14.09.2016 18:24:15.00 | Ampere | 0,000000 A
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Unknown String. | Value: 0
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Power | 0,000000 kW
14.09.2016 18:24:15.00 | Unknown String. | Value: 0
Es geht um die zwei „Unknown String“. Es handelt sich dabei um die Angabe zum Wandlerverhältnis (Byte 132 und 133) und des aktuellen Tarifs (Byte 150). Wirklich interessieren tut mich nur das Byte 150. Dies ist im Debug Output das letze Byte. (Da der Debug Output nur die Nutzdaten des M-Bus Telegramms darstellt, stimmen die Byte Nummern nicht überein.)
In Fett die betreffenden Bytes in den Debug Daten: