Items in Rules verwenden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
canonmclay
Beiträge: 2
Registriert: 17. Apr 2017 18:25
Answers: 0

Items in Rules verwenden

Beitrag von canonmclay »

Hallo Zusammen,

ich bin recht neu mit openhab2 zu Gange (habe es auf einen Raspi Z W installiert) und möchte mein Homematic mit selbstgebauten Sensoren erweitern bzw. von anderen Anbietern Sensoren nutzen (mein erstes Projekt soll ein I²C Luftfeuchte-Sensor über das Raspi sein, der an die CCU2 sendet und dann einen Lüfter schaltet. Die Homematic Wetterstation kostet mir etwas zu viel :P)

Ich baue derzeit kleine Testprogramme, um mir das Ganze etwas näher zu bringen. Leider habe ich jedoch ein Problem, was ich einfach nicht gelöst bekomme, auch nicht mit Dr. Google :/

Ich habe die folgenden Items angelegt:

Code: Alles auswählen

Number sim_anz
Number sim_therm
Number Temperature "Outside Temperature" { channel="yahooweather:weather:berlin:temperature" }
Nun möchte ich den Wert der Items in den Rules verwenden. Das ist auch bei der Temperatur aus dem Yahoo-Binding kein Problem. Beim SmartHomeDesigner wird z.B.

Code: Alles auswählen

Temperature.postUpdate(25)
farbig markiert und wird auch ausgeführt (ja ich weiß, es macht keinen Sinn, es wird vom Binding auch nach Aktualisierung wieder überschrieben). Allerdings wird bei

Code: Alles auswählen

rule "test_schalten"
when Item sim_therm changed
then
sim_anz.postUpdate(25)
end
sim_anz.postUpdate(25) nicht farbig markiert und es wird auch nichts ausgeführt, als ob das Item in den Rules nicht bekannt ist. Der Designer sagt mir das auch dass das feld oder Methode nicht bekannt sei. Muss ich noch eine extra Bib einbinden? Oder können nur Items die mit Bindung in Thing verbunden sind gefunden und genutzt werden?

Danke schonmal für eure Hilfe,

LG McLay

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Items in Rules verwenden

Beitrag von Cyrelian »

Hi McLay,

hab das gerade mal probiert..es geht ;) .
Kann es sein, dass deine Rule gar nicht ausgeführt wird? Ich habe zwei Methoden ausprobiert:

changed:

Code: Alles auswählen

rule "test_schalten"
when Item sim_therm changed
then
sim_anz.postUpdate(25)
logInfo("TestRules:", "Rule laeuft:")
end
Dazu MUSS sich aber das Item "sim_therm" auch ändern! Das kannst Du am besten über die REST API machen. 2x den gleichen Wert eingetragen...es passiert nichts. 2 x einen unterschiedlichen Wert eingetragen...Rule läuft.

received update:

Code: Alles auswählen

rule "test_schalten"
when Item sim_therm received update
then
sim_anz.postUpdate(25)
logInfo("TestRules:", "Rule laeuft:")
end
Jetzt wird die Rule immer ausgeführt, wenn ein "Update" kommt.....kann in diesen Fall auch 2x der gleiche Wert sein.

Hoffe das hilft dir weiter.

CU
Cyrelian

canonmclay
Beiträge: 2
Registriert: 17. Apr 2017 18:25
Answers: 0

Re: Items in Rules verwenden

Beitrag von canonmclay »

Hallo Cyrelian

danke für deine super schnelle und ausführliche Antwort. Die API habe ich so noch gar nicht auf dem Schirm gehabt und diese mal auch als Live-Log gestartet über die SSH. Ich denke, ich werde diese jetzt öfters nutzen, danke für den Tipp! :)

DIe Rule wird bei mir ausgeführt und anscheinend auch der Wert gesetzt. Die Anzeige im SmartHome Designer ist anscheinend noch nicht soooo funktionstüchtig, das ist ja auch noch eine Baustelle, wenn ich das aus den Foren richtig gelesen habe :)

Im Designer sieht es so aus

Bild


und ich erhalte im Log auch die Nachrichten. Vielleicht sollte ich auch einfach morgen weitermachen... :P

Danke für die Hilfe,

LG McLay

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Items in Rules verwenden

Beitrag von Cyrelian »

Hi McLay,

cool das es geht. Ja, die API und das logging sind definitiv ultra hilfreich.
Das log hab ich immer auf, wenn ich was implementiere oder verändere.

Cu
Cyrelian

Antworten