Hallo zusammen,
ich möchte aus einem Tinkerforge 0-20mA Sensor die Attribute aus dem MQTT payload extrahieren.
Der Sensor hat zwei Kanäle mit den entsprechenden “current” Werten aus dem jeweiligen Kanal.
Der MQTT-Payload sieht eigentlich recht einfach aus.
Das einzige Problem ist, dass der “current” Payload von “channel: 0” und “channel: 1” alle 2 Sekunden in nur eine “current” JSON-Nachricht geschrieben wird.
#payload beim start
{"channel": 0, "current": 6879635}
#payload nach 2 Sekunden
{"channel": 1, "current": 4987106}
#payload nach 4 Sekunden
{"channel": 0, "current": 6879541}
#payload nach 6 Sekunden
{"channel": 1, "current": 4987368}
#usw.. usw...
Wie kann ich jetzt die jeweiligen „current“ Werte aus “channel: 0” und “channel: 1” in einzelne Attribute aufteilen um damit 2 Sensoren zu erstellen?
Meine aktuelle config.yaml sieht wie folgt aus.
- name: "Kollektor"
state_topic: "tinkerforge/callback/industrial_dual_0_20ma_v2_bricklet/2191/current"
state_class: "measurement"
device_class: "current"
unit_of_measurement: "mA"
unique_id: "tf_mA_2191"
value_template: '{{ value_json.current }}'
json_attributes_topic: "tinkerforge/callback/industrial_dual_0_20ma_v2_bricklet/2191/current"
force_update: 'true'
device:
identifiers: 'TF mA Eingänge 2191'
name: 'TF mA Eingänge 2191'
manufacturer: 'Tinkerforge'
model: 'industrial_dual_0_20ma_v2_bricklet'
serial_number: '2191'
Dieses value_template legt einen sensor an, der alle 2 sec. abwechselnd die Werte aus “channel: 0” und “channel: 1” schreibt.
Ich habe schon die verschiedenste Versionen mit dem value_template ausprobiert, krieg es aber nicht hin.
Wäre wirklich froh wenn mir dabei einer helfen könnte
Dies ist die entsprechende MQTT-Dokumentation des Tinkerforge-Sensors:
https://www.tinkerforge.com/en/doc/Software/Bricklets/IndustrialDual020mAV2_Bricklet_MQTT.html