MQTT Probleme mit dem Command Topic
Verfasst: 27. Apr 2020 15:17
Hallo,
ich habe einen Ventilator, den ich per MQTT angebunden habe. Leider habe ich ein Problem beim zurückliefern des Commands, das er kein Mapping macht.
Der Reihe nach.
Mein Thing Channel sieht so aus:
Das Mapping so:
Und mein ITEM:
In der Sitemap habe ich das Item so aufgebaut:
Der Ventilator liefert low, medium, high. Das wird auch ordentlich umgesetzt. Die Sitemap reagiert.
Nur beim zurückliefern über den Channel bekomme ich nur die Nummern 1, 2 oder 3. Eigentlich würde ich vermuten, dass folgendes Mapping greift:
Da ich mehrere Steuerungsbefehle über den Channel senden will, wäre eine Unterscheidung wünschenswert.
Sieht jemand mein Denkfehler, warum ich auf dem Commandchannel nicht SPEED1, SPEED2 oder SPEED3 geliefert bekomme?
Beste Grüße,
mhbosch
ich habe einen Ventilator, den ich per MQTT angebunden habe. Leider habe ich ein Problem beim zurückliefern des Commands, das er kein Mapping macht.
Der Reihe nach.
Mein Thing Channel sieht so aus:
Code: Alles auswählen
Type number : geschwindigkeit [ stateTopic="Vent/Blauberg/Fan_Speed", transformationPattern="map:3states.map" , commandTopic="Vent/Blauberg/Command", 1="SPEED1", 2="SPEED2", 3="SPEED3"]
Das Mapping so:
Code: Alles auswählen
low=1
medium=2
high=3
Code: Alles auswählen
Number FF_Bedroom_Ventilation_Geschwindigkeit "Geschwindigkeit" <fan> (FF_Bedroom) {channel="mqtt:topic:boschhome:FF_Bedroom_Vent:geschwindigkeit"}
Code: Alles auswählen
Switch item=FF_Bedroom_Ventilation_Geschwindigkeit mappings=[1="low",2="medium",3="high"]
Nur beim zurückliefern über den Channel bekomme ich nur die Nummern 1, 2 oder 3. Eigentlich würde ich vermuten, dass folgendes Mapping greift:
Code: Alles auswählen
commandTopic="Vent/Blauberg/Command", 1="SPEED1", 2="SPEED2", 3="SPEED3"
Code: Alles auswählen
2020-04-27 15:15:40.270 [ome.event.ItemCommandEvent] - Item 'FF_Bedroom_Ventilation_Geschwindigkeit' received command 1
2020-04-27 15:15:40.328 [nt.ItemStatePredictedEvent] - FF_Bedroom_Ventilation_Geschwindigkeit predicted to become 1
2020-04-27 15:15:40.623 [ome.event.ItemCommandEvent] - Item 'FF_Bedroom_Ventilation_Geschwindigkeit' received command 2
2020-04-27 15:15:40.644 [nt.ItemStatePredictedEvent] - FF_Bedroom_Ventilation_Geschwindigkeit predicted to become 2
2020-04-27 15:15:40.681 [vent.ItemStateChangedEvent] - FF_Bedroom_Ventilation_Geschwindigkeit changed from 1 to 2
2020-04-27 15:15:41.177 [ome.event.ItemCommandEvent] - Item 'FF_Bedroom_Ventilation_Geschwindigkeit' received command 3
2020-04-27 15:15:41.209 [nt.ItemStatePredictedEvent] - FF_Bedroom_Ventilation_Geschwindigkeit predicted to become 3
2020-04-27 15:15:41.246 [vent.ItemStateChangedEvent] - FF_Bedroom_Ventilation_Geschwindigkeit changed from 2 to 3
2020-04-27 15:15:41.760 [ome.event.ItemCommandEvent] - Item 'FF_Bedroom_Ventilation_Geschwindigkeit' received command 1
2020-04-27 15:15:41.778 [nt.ItemStatePredictedEvent] - FF_Bedroom_Ventilation_Geschwindigkeit predicted to become 1
2020-04-27 15:15:41.800 [vent.ItemStateChangedEvent] - FF_Bedroom_Ventilation_Geschwindigkeit changed from 3 to 1
Da ich mehrere Steuerungsbefehle über den Channel senden will, wäre eine Unterscheidung wünschenswert.
Sieht jemand mein Denkfehler, warum ich auf dem Commandchannel nicht SPEED1, SPEED2 oder SPEED3 geliefert bekomme?
Beste Grüße,
mhbosch