OH3 - Brightness abfragen?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

OH3 - Brightness abfragen?

Beitrag von Steinspiel »

Moin,

Ich denke ich weiß in etwas die Lösung meines Problems nur weiß ich nicht wie ich dies umsetzten muss, konnte auch bisher keine Beispiel Rule finden...

Um eine Lampe zu schalten wurde bisher der Status einer anderen Lampe abgefragt:

Code: Alles auswählen

rule "test_1"

when    
        Item Test_Schalter_A changed to ON                   
then	
        if(alte_lampe_1.state == OFF) {       
                alte_lampe_2.sendCommand(ON)    
        }                               
end
Inzwischen ist die "alte_lampe_1" durch ein HUE LED Stripe ersetzt dessen Color Item ja "nur" den HSB Wert ausgibt und nicht ON oder OFF .
Ich weiß das man Brightness abfragen kann, nur nicht die Syntax dazu

Code: Alles auswählen

        if(hue_led_stripe.brightness < 1) {       
                alte_lampe_2.sendCommand(ON)    
        }
ist ja wohl nicht der richtige Weg! ;-(

Kann mir jemand sagen wie ich es richtig mache?

Danke,
bis dann, Steinspiel

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: OH3 - Brightness abfragen?

Beitrag von int5749 »

Steinspiel hat geschrieben: 5. Apr 2022 20:00 Kann mir jemand sagen wie ich es richtig mache?
Ich leider nicht, da ich keine Philips HUE nutze.

Aber eine kurze Suche hier hat mir folgendes geliefert: HUE-Steuerung

Evtl. hilft Dir dies weiter?

VG
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: OH3 - Brightness abfragen?

Beitrag von Steinspiel »

Moin,
int5749 hat geschrieben: 5. Apr 2022 21:29 Evtl. hilft Dir dies weiter?
Leider nicht, mir geht es wirklich "nur" darum in der Rule ab zu fragen ob der Status der HUE Leuchte AN oder AUS ist.
Danke...
bis dann, Steinspiel

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

Re: OH3 - Brightness abfragen?

Beitrag von udo1toni »

Es gibt da einen Trick :)

Aber der Reihe nach... Grundsätzlich interessiert Dich immer der Status des Items. Der Status ist immer .state, ganz gleich, um welchen Typ Item es sich handelt.
Du kannst also einfach auf ((HUE_Item.state as Number) < 1) testen.

Wenn Du allerdings "nur" wissen willst, ob ein Gerät eingeschaltet ist, gibt es eine nette Eigenschaft, die heißt .getStateAs(). Dort kann man explizit angeben, dass man nach dem OnOffType sucht. HUE_Item.getStateAs(OnOffType) liefert also immer ON oder OFF als Ergebnis.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: OH3 - Brightness abfragen?

Beitrag von Steinspiel »

Moin,

Ich melde mich heute erst, denn die wahrscheinlich jemals nicht diagnostizierte, härteste Männergrippe der Welt hat(te) mich im Griff... ;-(
udo1toni hat geschrieben: 5. Apr 2022 23:57 Es gibt da einen Trick :)
Das waren eigentlich ja zwei! Auf jeden Fall erst mal Danke für die fundierte Hilfe.

Der erste Tipp mit "state as Number" funktioniert hier nicht. Ich weiß nicht ob ich einen Syntaxfehler oder Dich falsch verstanden habe. Benutzt habe ich das Color Item der HUE Lampe und wie Du auf dem Screenshot siehst war sie auch eingeschaltet.

brightness.jpg

Code: Alles auswählen

rule "test_1"

when    
        Item Test_Schalter_A changed to ON                   
then	
        if((HUEHerd_Farbe.state as Number) > 1) {       
        Test_Schalter_B.sendCommand(ON)    
        }           
end
Aber das "OnOffType" funktioniert dafür, das ist schon mal gut. :D

Code: Alles auswählen

rule "test_2"

when    
        Item Test_Schalter_A changed to ON                   
then	
        if(HUEHerd_Farbe.getStateAs(OnOffType) == ON) {       
        Test_Schalter_B.sendCommand(ON)    
        }           
end
Hast Du ne Idee warum ersteres hier nicht läuft?

Danke Dir und einen schönen Abend noch...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
bis dann, Steinspiel

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

Re: OH3 - Brightness abfragen?

Beitrag von udo1toni »

Steinspiel hat geschrieben: 7. Apr 2022 18:22 Der erste Tipp mit "state as Number" funktioniert hier nicht. Ich weiß nicht ob ich einen Syntaxfehler oder Dich falsch verstanden habe.
Ja, typisch mal wieder... Ich war gedanklich natürlich bei einem Dimmer Item. Ein Color Item hat aber als Standard Status Typ HSBType, welches natürlich nicht vom Typ Number ist. Du könntest vermutlich auch so etwas machen:

Code: Alles auswählen

rule "test_1"
when
    Item Test_Schalter_A changed to ON
then
    if((HUEHerd_Farbe.state as HSBType).brightness > 1) {
        Test_Schalter_B.sendCommand(ON)
    }
end
Wobei ich keine Color Items in Verwendung habe. Grundsätzlich sollte es aber möglich sein, auf die Wert H, S, und B über entsprechende Eigenschaften zuzugreifen. Kann natürlich sein, dass die Eigenschaft anders heißt, das müsste man dann im VSCode nachschauen. Wichtig ist, dass der Status explizit in den entsprechenden Typ gewandelt wird, sonst stehen die Eigenschaften nicht zur Verfügung.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: OH3 - Brightness abfragen?

Beitrag von Steinspiel »

Moin,
udo1toni hat geschrieben: 7. Apr 2022 19:01 Du könntest vermutlich auch so etwas machen:
Da gefällt das ">" - Zeichen nicht, ich bekomme da ein ->
Ambiguous binary operation.
The operator declarations
operator_greaterThan(Type, Number) in NumberExtensions and
operator_greaterThan(Number, Number) in NumberExtensions
both match.
Das ist jetzt für mich nicht weiter dramatisch da ja die "ON/OFF" Sache aus Deinem letzten Post gut funktioniert. Ich habe dann noch ne andere Idee die ich gelesen habe etwas angepasst: mir ein Switch angelegt und den mit dem Color Item verlinkt... An/AUS geht Super einfach. ;-)
Kann natürlich sein, dass die Eigenschaft anders heißt, das müsste man dann im VSCode nachschauen.
Aber das interessiert mich dann doch, wie kann man das in VSCode nachschauen?

Danke und Grüße vom Krankenlager...;-(
bis dann, Steinspiel

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

Re: OH3 - Brightness abfragen?

Beitrag von udo1toni »

Wenn in VSCode das openHAB Plugin korrekt konfiguriert ist, kannst Du in *.rules Dateien mit <strg>+<Leerzeichen> alle im Kontext möglichen Eingaben sehen. wenn Du also z.B. ein Objekt als Number definierst, sollte VSCode automatisch alle Methoden anbieten, wenn Du den . eingibst.

Eventuell muss auch .brightness nochmal ergänzt werden, z.B. mit einem weiteren as Number. Ist manchmal etwas tricky...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: OH3 - Brightness abfragen?

Beitrag von Steinspiel »

Moin,
udo1toni hat geschrieben: 8. Apr 2022 22:12 Eventuell muss auch .brightness nochmal ergänzt werden, z.B. mit einem weiteren as Number. Ist manchmal etwas tricky..
Ist schon etwas älter und mein Problem ist ja auch gelöst, aber das mit <strg>+<Leerzeichen> wusste ich bisher nicht, es lohnt sich bestimmt dort ab und zu mal nach zu sehen.
In meinem obigen Beispiel wird mir damit "brightness : PercentType" angezeigt, allerdings komm ich mit der Info auch nicht groß weiter. ;)

Ich wollte mich nur noch mal für die Hilfe bedanken und nicht so sang und klanglos nicht antworten...
bis dann, Steinspiel

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

Re: OH3 - Brightness abfragen?

Beitrag von udo1toni »

Gerne :) PercentType heißt, dass der Wert von 0 bis 100 geht.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten