Seite 1 von 1

[SOLVED] Umwandlung Number-Item-Zahlenwert für PercentType-Variable

Verfasst: 18. Dez 2019 18:15
von Bastelkind
Hallo zusammen,
ich war schon einige Male bei euch auf der Seite, um mir ein paar Informationen zu Problemlösungen zu holen und habe mich heute hier angemeldet, da ich bei einem scheinbar einfachen Umwandlungsproblem nicht weiter komme (Nummernwert eines Slider-Item zu PercentType).
Ich möchte von meiner Tradfri-Leuchte nur die Helligkeit ändern können. Da es keinen passenden Channel gibt, muss ich den Color-Channel nutzen.

Vorgehensweise:
1. Änderung eines Sliders erkannt
2. Aktuelle Farbwerte auslesen
3. Helligkeit anhand der Sliderposition neu vorgeben
4. Ergebnis an Tradfri-Leuchte senden.

Items:

Code: Alles auswählen

Number Tradfri_Leuchte_Dimmen (RRD4J_TEMP) //(Dummy-Item für einen Slider in der sitemap)
Color Tradfri_Leuchte_Farbe { channel="tradfri:0210:gwa0c9a0d7b653:Tradfri_Flur_Alarm:color" } //Tradfri-Binding
Hier die rule (--> Stelle mit der falschen Syntax bzw. falsche Umwandlung. Rule funktioniert, wenn Zeile auskommentiert wird. Helligkeit geht entsprechend der Deklaration auf 100):

Code: Alles auswählen

rule "Helligkeit steuern" 
when 
Item Tradfri_Leuchte_Dimmen received update 
then 
         logInfo("Leuchte", " Helligkeit wird berechnet.")
        //Variablen anlegen
        var DecimalType hue = new DecimalType(240) // 0-360; 
        var PercentType sat = new PercentType(100) // 0-100
        var PercentType bright = new PercentType(100) // 0-100

	hue=(Tradfri_Leuchte_Farbe.state as HSBType).hue
	sat=(Tradfri_Leuchte_Farbe.state as HSBType).saturation
-->	bright = (Tradfri_Leuchte_Dimmen.state as Number) //FEHLER!! funktioniert, wenn Zeile auskommentiert. Helligkeit geht entsprechend der Deklaration auf 100 

Tradfri_Leuchte_Farbe.sendCommand(new HSBType(hue, sat, bright)) 
end
Fehlermeldung:

Code: Alles auswählen

2019-12-18 18:08:26.136 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Helligkeit steuern': An error occurred during the script execution: Could not invoke constructor: org.eclipse.smarthome.core.library.types.HSBType.HSBType(org.eclipse.smarthome.core.library.types.DecimalType,org.eclipse.smarthome.core.library.types.PercentType,org.eclipse.smarthome.core.library.types.PercentType)
Ich hoffe, dass jemand von euch mir bei der Umwandlung weiterhelfen kann.

Re: Umwandlung Number-Item-Zahlenwert für PercentType-Variable

Verfasst: 18. Dez 2019 23:17
von Bastelkind
Tja, es kann so einfach sein. Habe nicht gewusst, dass man das color-item in der Sitemap einfach als Slider oder als Switch anlegen kann. :roll:

https://community.openhab.org/t/solved- ... pe/87975/2

Vielleicht hilft es ja noch jemandem von euch.

Re: [SOLVED] Umwandlung Number-Item-Zahlenwert für PercentType-Variable

Verfasst: 19. Dez 2019 12:49
von udo1toni
Tja, da gibt es immer wieder Verwirrung. In der Sitemap handelt es sich um Widgets, die mit Items verknüpft werden. Alles was irgendwie sinnvoll ist, sollte verknüpfbar sein. Z.B. kann man auch ein Number Item mit einem Switch Widget verknüpfen und anslchließend mit mappings mehrere Schaltflächen erzeugen (das ist eine nette Variante, um einige ausgewählte Werte direkt anzuspringen)