Ich muss hier nochmal korrigieren, weil ich festgestellt habe, dass ich mit der oben stehenden Vorgehensweise zwar keine Fehlereinträge erzeuge, aber die Kommandos auf dem Bus totalen Quatsch erzeugen. Die richtige Lösung habe ich dann im LCN-Forum zufällig gefunden, jetzt habe ichs auch verstanden, daher hier die Auflösung:
Die Werte für Variablen, Schwell- oder Sollwerte werden auch dem Bus immer in "LCN native" gesendet. Je nach dem, welche Größe (Temperatur, Helligkeit, ...) gesendet wird, werden die Werte im Zielmodul entsprechend umgerechnet. Das ganze ist
hier ganz gut dokumentiert.
Beim Anlegen von Items kann man daher entscheiden, ob die eingebundenen Werte in der Kopplung modifiziert werden sollen oder eben nicht.
Beispiel: Die Temperatur 21,5°C entspricht in LCN-Native dem Wert 1215. Damit das Binding die Umrechnung vornimmt, muss dies in den Kopplungsbefehlen erwähnt werden.
Das Item sieht dann z.B. so aus:
Code: Alles auswählen
Number Anzeige_T_akt "Anzeige_T_akt" <temperature> {lcn="[lcndemo:SETPOINT_VALUE.0.M005.1.Celsius], [%i:lcndemo:SETPOINT.0.M005.1.%iCelsius]"}
... und dabei ganz ganz wichtig: zwischen %i und Celsius kommt kein Punkt. (Das war mein Fehler!)
Dann kann ich die Temperatur z.B. in der Sitemap über einen Slider einstellen oder in einer Rule per .sendCommand einen Wert auf das Item schreiben. In beiden Fällen schickt das Binding schickt den Wert in "LCN native" in den Bus.
Alternativ kann ich das Item auch "nativ" erstellen, also ohne "Celsius"-Zuordnung:
Code: Alles auswählen
Number Anzeige_T_akt "Anzeige_T_akt" <temperature> {lcn="[lcndemo:SETPOINT_VALUE.0.M005.1], [%i:lcndemo:SETPOINT.0.M005.1.%i]"}
und die Temperatur einfach vorher in Rule umrechnen, z.B. so:
Code: Alles auswählen
var int x = Math::round(10*(((LocalWeatherAndForecastCurrentApparentTemperature.state as QuantityType<Number>).floatValue)+100))
Das Ergebnis auf dem Bus ist das Gleiche, aber im ersten Fall stehen 21,5 °C in dem Item, im zweiten Fall 1125.
Wenn ich die "native"-Variante daher über einen Slider verstellen möchte muss ich bedenken, dass ich einen anderen Wertebereich verwenden muss.
Vielleicht hilft das dem ein oder anderen, ich habe ne Weile gebraucht (v.a. wegen dem Punkt!).
Jetzt gehts und ich freue mich sehr.
Gruß,
Simon