Openhab3 Rules für Sonnenlichtsteuerung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Hoggle
Beiträge: 221
Registriert: 16. Dez 2017 10:49
Answers: 0

Openhab3 Rules für Sonnenlichtsteuerung

Beitrag von Hoggle »

Hallo zusammen.
Ich bin im Moment dabei, die Rules aus OH2 nach OH3 zu übertragen.
Erst dachte ich mir, einfach die Dateien rüber kopiert und fertig.

Eigentlich einfach, ABER, da ich nicht von zuhause arbeite, sondern Gott-sei-Dank, auch in Pandemiezeiten noch ins Büro darf, habe ich mich bei myopenhab.org angemeldet (VPN nach Hause klappt leider momentan nicht, weil ich so grelle auf Glasfaser war und leider keine öffentliche IP4 Adresse bekomme habe (Deutsche Glasfaser). Bin leider nicht so fit, das ich das mit IPv6 hin bekomme, obwohl es tolle Erklärungen im Netz gibt - Ich kann auch nur Beiträge hier posten, wenn ich mich per VPN bei mir in der Firma anmelde, denn dann bekomme ich ein IP, die nicht gesperrt ist).

Zurück zum Thema
also, wenn ich die Rules-Engine in OH3 nutzen möchte, dann muß ich die einzelnen Rules händisch in der Rules Engine eingeben.
Also:
1.png
2.png
3.png
Und der Code, den ich dann in das DSL-Scriptfenster kopiert habe:

Code: Alles auswählen

if (SonnensensorTerrasse_Lux.state < 300) //Es ist Dunkel
             {
				 if (LUX_Wert_Dunkel.state.toString =="OFF") //Vorher war es Hell
				 {
			         LUX_Wert_Dunkel.sendCommand(ON)
				 }
			 }
		if (SonnensensorTerrasse_Lux.state > 500)  //Es wird hell
             {
				 if (LUX_Wert_Dunkel.state.toString =="ON") /Vorher war es Dunkel
				 {
             		LUX_Wert_Dunkel.sendCommand(OFF)
		         }
			 }
		if (SonnensensorTerrasse_Lux.state > 80000) //Volle Sonne
             {
				 if (LUX_Wert_Hell.state.toString =="OFF")
				 {
             		LUX_Wert_Hell.sendCommand(ON)
				 }
		     }
		if (SonnensensorTerrasse_Lux.state < 1000) //Weniger Sonne
             {
				 if (LUX_Wert_Hell.state.toString =="ON")
				 {
             		LUX_Wert_Hell.sendCommand(OFF)
				 }
		     }
		if (SonnensensorTerrasse_Lux.state < 500)
             {
				 if (LUX_Wert_TV.state.toString == "OFF")
				 	{
             			LUX_Wert_TV.sendCommand(ON)
					 }
		     }

		if (SonnensensorTerrasse_Lux.state > 2000)
             {
				 if (LUX_Wert_TV.state.toString == "ON")
				 	{
             			LUX_Wert_TV.sendCommand(OFF)
					 }
		     }
Die Items "LUX_Wert_Dunkel, ...Hell, ...TV sind allesamt als Switch angelegt, die ich "per Hand" auch auf ON und OFF schalten kann.
Was habe ich falsch gemacht?
Die Rule schießt nicht.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

Hoggle
Beiträge: 221
Registriert: 16. Dez 2017 10:49
Answers: 0

Re: Openhab3 Rules für Sonnenlichtsteuerung

Beitrag von Hoggle »

Habe noch ein bisschen gelesen.
Kann es daran liegen, das ich bei dem Sonnensensor kein "normales" Number-Item habe, sondern ein Number:Illumin...?-Item?
Habe das irgendwo gestern gelesen, bin mir jetzt aber nicht mehr sicher, ob das ein Grund für das Nicht-auslösen der Rule sein könnte.
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

geos
Beiträge: 15
Registriert: 5. Jan 2021 15:37
Answers: 1

Re: Openhab3 Rules für Sonnenlichtsteuerung

Beitrag von geos »

Wenn das so ist, musst du bei der Abfrage wahrscheinlich die Einheit mit angeben.
Meines Wissens in der Art "300|Lux" (keine Gewähr)
Siehst du Einträge im Log, wenn die Rule ausgelöst wird?

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

Re: Openhab3 Rules für Sonnenlichtsteuerung

Beitrag von udo1toni »

Number:Illuminance ist ein UoM Item (Units of Measurement), das bedeutet, der Status beinhaltet auch die Einheit, in der gemessen wird. Vorteil: Man kann openHAB anweisen, den Wert in einer bestimmten Einheit auszugeben, ein Messwert in Meter kann in Kilometer oder Millimeter ausgegeben werden, genauso wie in Inch oder Feet (wobei ich bei imperial Units nicht sicher bin, was geht, aber es geht eine Menge)
Nachteil: Ein Vergleich mit anderen Werten kann immer nur erfolgen, wenn beide Werte zueinander passen. Entweder, Du ergänzt die notwendige Einheit beim Vergleichswert (so: if(SonnensensorTerrasse_Lux.state > 500 | lx) ), oder Du entfernst die Einheit beim Messwert (so: if((SonnensensorTerrasse_Lux.state as Number).intValue > 500) ), beide Varianten sind möglich.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Hoggle
Beiträge: 221
Registriert: 16. Dez 2017 10:49
Answers: 0

Re: Openhab3 Rules für Sonnenlichtsteuerung

Beitrag von Hoggle »

@alle: Wie immer einen sehr großen Dank für eure Unterstützung. Probiere ich schnellst möglich aus.
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

Antworten