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

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Bastelkind
Beiträge: 2
Registriert: 18. Dez 2019 17:19
Answers: 0

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

Beitrag 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.
Zuletzt geändert von Bastelkind am 18. Dez 2019 23:20, insgesamt 1-mal geändert.

Bastelkind
Beiträge: 2
Registriert: 18. Dez 2019 17:19
Answers: 0

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

Beitrag 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.

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

Beitrag 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)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten