Seite 1 von 1

OH2 Regeln in OH3 - eleganterer Weg?

Verfasst: 20. Apr 2021 17:38
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

Re: OH2 Regeln in OH3 - eleganterer Weg?

Verfasst: 21. Apr 2021 00:32
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.

Re: OH2 Regeln in OH3 - eleganterer Weg?

Verfasst: 26. Apr 2021 13:03
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.

Re: OH2 Regeln in OH3 - eleganterer Weg?

Verfasst: 26. Apr 2021 23:49
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.