Seite 2 von 5

Re: ESP Event über mqtt

Verfasst: 14. Dez 2019 21:50
von raf65
Hey Peter

hatte ich auch schon überlegt und geändert in
THING

Code: Alles auswählen

Type number : EGVorgabeTemperaturWohnzimmer		"Temperaturvorgabe Wohnzimmer" 					[stateTopic = "/ESP_EG/dummy/Wohnraum", transformationPattern="JSONPATH:$.ESP_EG.dummy.Durchschnitt", commandTopic="", transformationPattern="JSONPATH:$.ESP_EG.dummy.Durchschnitt"  ]
ITEMS

Code: Alles auswählen

Dimmer EG_Vorgabe_Temperatur_Wohnzimmer			"Temperaturvorgabe Wohnzimmer [%.2f °C]"		<temperature>		(EG,Versorgung_EG,Temperatur)	["Switchable"]	{ channel="mqtt:topic:rafmqtt:TempEinstellen:EGVorgabeTemperaturWohnzimmer" }	
Den MIN und MAX Wert alsacuh den step in der Stitemaps zu hinterlegen ist eine gute Idee
SITEMAPS

Code: Alles auswählen

Setpoint item=EG_Vorgabe_Temperatur_Wohnzimmer											icon="Temperature"	minValue=16.0 maxValue=28.0 step=0.5
Bekomme jedoch die Fehlermeldung
Fehlermeldung

Code: Alles auswählen

2019-12-14 21:37:22.842 [ERROR] [ansport.mqtt.internal.ClientCallback] - MQTT message received. MqttMessageSubscriber#processMessage() implementation failure
java.lang.IllegalArgumentException: Value must be between 0 and 100
BIn gerade etwas ratlos. klar die Zahlen bei einem Dummer sind integer soweit gut aber selbst wenn ich die eingaben vom STEP zurücknehme kommen die Fehlermeldungen. Bedeutet es kommt nicht vom Step sondern eher von den Zahlen die reinkommen.
Hoffe das mir meine Überlegungen jemand bestätigen kann uns eine andere Idee hat.

Re: ESP Event über mqtt

Verfasst: 14. Dez 2019 22:22
von peter-pan
Versuche mal das Item auch auf Number zu stellen

Code: Alles auswählen

Number EG_Vorgabe_Temperatur_Wohnzimmer	"Temperaturvorgabe Wohnzimmer [%.2f °C]" <temperature> (EG,Versorgung_EG,Temperatur)	["Switchable"]	{ channel="mqtt:topic:rafmqtt:TempEinstellen:EGVorgabeTemperaturWohnzimmer" }
Edit:
Evtl. wäre auch noch als Widget "Slider" in der Sitemap möglich, ggf. in der Kombination mit "Dimmer" in der .items-Datei.

Schau mal hier in der Doku

Re: ESP Event über mqtt

Verfasst: 15. Dez 2019 00:15
von udo1toni
Eine Temperatur ist eine absolute Zahl und kein Prozentwert. Ein Dimmer ist ein Prozentwert und keine absolute Zahl. Ich verstehe nicht, warum immer krampfhaft falsche Itemtypen missbraucht werden.

Verwende bitte einen number Channel und ein Number Item. Auf der Sitemap kanst Du das Setpoint Widget verwenden (das hat ebenfalls minValue und maxValue sowie step).
Alternativ kannst Du ohne Probleme auch ein Selection Widget oder ein Switch Widget mit mappings verwenden, wenn nur bestimmte Temperaturen auswählbar sein müssten.

Re: ESP Event über mqtt

Verfasst: 15. Dez 2019 12:00
von raf65
Hey Udo

sorry, aber das habe ich bereits vorher ausprobiert beides auf number. Das Produziert jedoch die die Error MSG

Code: Alles auswählen

2019-12-15 11:29:23.185 [WARN ] [l.generic.ChannelStateTransformation] - Executing the JSONPATH-transformation failed: Invalid path '$.ESP_EG.dummy.Durchschnitt' in '21.50'
 
Thing

Code: Alles auswählen

Thing mqtt:topic:rafmqtt:TempEinstellen					"Temperaturen Einstellen" 		(mqtt:broker:rafmqtt)  @ "Versorgung" {
		Channels:

			Type number  : EGVorgabeTemperaturWohnzimmer	"Temperaturvorgabe Wohnzimmer" 					[stateTopic = "/ESP_EG/dummy/Wohnraum", transformationPattern="JSONPATH:$.ESP_EG.dummy.Durchschnitt", commandTopic="" ]
}
ITEMS

Code: Alles auswählen

Number EG_Vorgabe_Temperatur_Wohnzimmer			"Temperaturvorgabe Wohnzimmer"					<temperature>		(EG,Versorgung_EG,Temperatur)	["Switchable"]	{ channel="mqtt:topic:rafmqtt:TempEinstellen:EGVorgabeTemperaturWohnzimmer" }	

Re: ESP Event über mqtt

Verfasst: 15. Dez 2019 14:14
von peter-pan
Kommt da wirklich ein JSON-String an ?
Es handelt sich ja nicht direkt um einen Fehler, sondern um eine Warnung.

Re: ESP Event über mqtt

Verfasst: 15. Dez 2019 15:33
von udo1toni
Also ich sehe in der Warnung nur einen Zahlenwert (21.50) als Payload des Topics /ESP_EG/dummy/Wohnraum.

Re: ESP Event über mqtt

Verfasst: 15. Dez 2019 17:56
von raf65
Hey Peter

meiner Meinung nach schon. Auch wenn es eine Warnung ist, ist es doch komisch. :shock:

@Udo1toni
ja das stimmt es ist eine Warnung. Der Zahlenwert ist der Wert der eingestellt wurde. Beim ESP ist es so das man die Werte eine Variablen über ein Event im ESP abändern kann. Das mache ich über eine rule im openhab. Es soll ja nur der Status ausgelesen werden und an die Oberfläche weitergegeben werden.

Re: ESP Event über mqtt

Verfasst: 15. Dez 2019 18:26
von peter-pan
Was ich damit meinte, und ich vermute mal Udo auch, dass du hier keine JSON-Transformation brauchst, da ja schon ein numerischer Wert übergeben wird.

Re: ESP Event über mqtt

Verfasst: 21. Dez 2019 10:53
von raf65
Sorry für die späte Antwort
Ja wenn ich das JSON rausnehme werden keine Temperaturen angezeigt. Darum ist die JSON Transformation drin.

Re: ESP Event über mqtt

Verfasst: 21. Dez 2019 11:56
von peter-pan
Mmmmh :?: . Ich bin etwas ratlos.
Wo wird keine Temperatur angezeigt ? Siehst du keine Statusänderungen im Logger (frontail) ?