OH2 Regeln in OH3 - eleganterer Weg?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45
Answers: 0

OH2 Regeln in OH3 - eleganterer Weg?

Beitrag von AirMR »

Hi liebe Forennutzer,

ich bingerade dabei von OH2.5 auf OH3 umzuziehen. dazu versuche ich gerade meine Regeln aus OH2 umzusetzen. Viele der "einfachen" Regeln können einfach umgesetzt werden indem man das .rule file in den entsprechenden Ordner kopiert. das habe ich mit folgender Rule gmacht:

Code: Alles auswählen

rule "Wetter_combine_Humidity_Pressure"

	when
  		Time cron "0 0/1 * * * ? *"0
          //Item LastUpdate received update 
  	then
		
		val String Humidity_trans = OneCallAPIweatherandforecast_Current_Humidity.state.format("%d %%")
		Humidity_formatted.postUpdate(Humidity_trans)
		val String Pressure_trans = OneCallAPIweatherandforecast_Current_Pressure.state.format("%.2f mb")
		Pressure_formatted.postUpdate(Pressure_trans)

		LuftdruckFeuchtigkeit.postUpdate("Luftfeuchtigkeit " + Humidity_formatted.state + " / Luftdruck " + Pressure_formatted.state ) 
	
  	end   	  
Das funktioniert tadellos. Allerdings habe ich festgestellt das ich nicht mehr mehrere Rules in ein file packen kann wie in 2.5. Zumindest schneidet OH3 mir bei der internen Anzeige den rest nach dem Ersten Rule end ab.

Jetzt meine Frage. Wie setzt ihr solche "Transformationen" um? Gibt es in OH3 einen eleganteren Weg?
Kann ich mit der OH3 internen rule Engine sowas besser umsetzen?
Ich habe ungefähr 15 solcher Umwandlungs Rules und möcht diese nicht gerne alle als Einzelne .rule Files umsetzen.

Desweiteren warten noch kompliziertere Rules zum umsetzen :)
Danke für eure Ideen!

Danke und Gruß
Michael

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

Re: OH2 Regeln in OH3 - eleganterer Weg?

Beitrag von udo1toni »

Wenn Du die Rules in eine rules-Datei (das s am Ende wäre schon wichtig) schreibst und diese Datei im Ordner rules unterhalb $OPENHAB_CONF speicherst (gewöhnlich /etc/openhab/rules), sollte openHAB3 die Rules exakt so verwenden, wie das auch unter openHAB2 passiert ist.

Die Dateien lassen sich aus der UI heraus nicht ansprechen, das muss über einen Text Editor passieren.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45
Answers: 0

Re: OH2 Regeln in OH3 - eleganterer Weg?

Beitrag von AirMR »

Hi,

Danke. das habe ich so gemacht. Mancge Zeitformat umwandlungen funktionieren nicht, aber das meiste andere geht.
Ich dachte vielleicht gibt es einen "eleganteren" Weg.

Danke dir.

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

Re: OH2 Regeln in OH3 - eleganterer Weg?

Beitrag von udo1toni »

Ja, wenn Du DateTime innerhalb einer Rule verwendest, musst Du ein wenig umarbeiten. Das kommt daher, dass Joda Time durch Java Time abgelöst wurde. Es gibt dazu einige Threads (vor allem mit allgemeinen Informationen), hier, aber vor allem im englischen Forum.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten