Seite 1 von 2

OH3 - Rules Fragen

Verfasst: 23. Jan 2021 14:42
von Hoggle
Hallo zusammen.
Ich habe seit einiger Zeit (Ich glaube so 1-2 Jahre) OH2 am laufen, unteranderem mit ein paar Rollladenaktoren von HM und in Kombination mit einem HM Lichtsensor ein paar Rules zum steuern bei Wärme im Sommer und abendliches abdunkeln wenn es langsam dunkel wird (natürlich nur mit sehr, sehr, sehr viel Hilfe von diesem tollen Forum).

OH2.5 läuft im Moment auf einem RPI4 im Wohnzimmer und seit dem OH3 stable ist, versuche ich so langsam alles umzuziehen.
Nach meinem Garagentor, will ich jetzt die oben benannten Rollladen in das neue System übernehmen, was jetzt aber bei mir hakt.

Warum? - Vielleicht denke ich zu verkorkst, aber ich möchte am Liebsten alles per UI erstellen. Things und Items sind unproblematisch, aber bei den Rules bin ich überfordert.
Dank Udo1Toni habe ich die folgende Rule um einige Dummy-Items zu setzen:

Code: Alles auswählen

val SunLux = 80000 //Ab welchem Luxwert die Sonnenautomatik reagieren soll
val SunLuxMin = 10000
val SunTmp = 23 //Ab welcher Temperatur die Automatik reagieren soll
val SunTmpMin =20
val int Interval=20 //Die Zeit die für den Durchschnittslichtwert genommen werden soll

rule "Sonnenautomatik schalten" 

when
    Item LUX_K1LUX changed //Wenn Lichtsensor aktualisiert wurde
then
    var Number Lux_tmp_avg = LUX_K1LUX.averageSince(now.minusMinutes(Interval)) //durchschnittlicher Lichtwert der letzen Minuten (Hysteresis oben definiert)
    var Number TMP_tmp_avg = ((TempTerasse_1TEMPERATURE.averageSince(now.minusMinutes(Interval)) + TempTerasse_2TEMPERATURE.averageSince(now.minusMinutes(Interval))) / 2)
    
    LUX_AVG.postUpdate(Lux_tmp_avg)
    Tmp_AVG.postUpdate(TMP_tmp_avg)
if (R_LUX_Automode_AN.state == ON)
    {
       if (Lux_tmp_avg >  SunLuxMin)
          {
           if (TMP_tmp_avg > SunTmpMin)
           {
                R_LUX_Automode_AN.sendCommand(ON)
           }
		  }
    }

end
Kann ich solche Gebilde mit OH3 Rules-Oberfläche erstellen, oder MUSS man da auf VSC zurückgreifen?
Und beim lesen frage ich mich, ob ich im oberen Bereich etwas ändern muss?

Code: Alles auswählen

now.minusMinutes(Interval)
Und wo definiere ich denn die Variablen?

Es sind noch SOOOOOOOOOOOOOOO viele Fragen offen.

Als Zusammenfassung meines geschwaffels: Am Liebsten würde ich alles per UI machen, aber kann man "ALLES" ohne VSC erreichen?

Re: OH3 - Rules Fragen

Verfasst: 23. Jan 2021 15:01
von Jamhacker
Ich sehe es genauso.
Möchte auch möglichst alles über die UI umsetzen aber bei den Rules hänge ich auch.

Zwei Themen sie mir gerade Probleme machen:

- wie kann ich sowas wie Item > item2 umsetzen? Klar unter "but only If". Aber dort kann ich ein Item nur mit einem state vergleichen nicht mit einem Item. Und anstatt des States das Item hin zu schreiben funktioniert nicht. Auch weiß ich nicht wie ich mit blockly eine Bedingung Item>item2 bilde. Eine normale If Anweisung finde ich dort nicht und wenn, was sollte in der If alles Ergebnis stehen?

Konkret will ich das eine Lampe nur dann schaltet wenn der Bewegungsmelder eine gewissen Helligkeitswerte unterschreitet.

- Timer über die UI. Wenn meine Lampe über den Bewegungsmelder geschaltet hat, möchte ich über ein Item Einstellungen können, wenn die Lampe ausgeschaltet werden soll. Also mit der rule zum einschalten der Lampe muss ich die aktuelle Zeit speichern. Dann für eine weitere rule diese Zeit plus meine Item Zeit und dies irgendwie als Trigger.

Re: OH3 - Rules Fragen

Verfasst: 23. Jan 2021 16:33
von harteknut
M.E. sind rules nur ganz rudimentär in der UI umgesetzt. Ich habe ein paar einfache Regeln (Kopplungen von zwei Items, Türklingel, ...) damit umsetzen können, der Rest läuft weiter als *.rules-Datei.

Die komplexeren Themen kann man (glaube ich) irgendwie mit Node Red umsetzen, aber ich weiß echt nicht wie (und bin mit den kleinen Skripten in den Dateien vollständig zufrieden).

Re: OH3 - Rules Fragen

Verfasst: 23. Jan 2021 17:47
von Hoggle
ja, das ist Schade, besonders, da dies verwirrend sein wird hier im Forum.
Rule per UI (ESCMA oder DSL muß dann bei gewissen "then" Bedingungen angegeben gegeben werden), oder Rule per NodeRed, Blockly, oder per File.
Für Informatiker sicherlich ideal, da sehr flexibel einsetzbar, aber für mich als Dummy...
Ich glaube, NodeRed ist ein mächtiges Tool, was sicherlich für OH spannend wird, aber momentan ist es für mich nur frustrierend.
Schade.
Dann schaue ich jetzt mal, wie ich das per File hin bekomme.

Re: OH3 - Rules Fragen

Verfasst: 24. Jan 2021 10:56
von Hoggle
Ich noch einmal an die Experten.
Im Moment ist mein Produktivsystem noch OH2.5.10-1 und den VSC Editor habe ich mit dem System eingerichtet.
Jetzt will ich aber anfangen, die Rules in OH3 zu erstellen, was, wenn man mal so im Forum und hier in diesem Thema liest, am Besten mit Textdateien geht.
Kann ich den VSC jetzt so konfigurieren, das ich den 2x öffnen kann, also 1x mit 2.5 und 1x mit OH3.0 "Verknüpfung"?

Re: OH3 - Rules Fragen

Verfasst: 24. Jan 2021 11:21
von violine21
Hoggle hat geschrieben: 24. Jan 2021 10:56 Kann ich den VSC jetzt so konfigurieren, das ich den 2x öffnen kann, also 1x mit 2.5 und 1x mit OH3.0 "Verknüpfung"?
Das funktioniert bei mir ohne Probleme.
VSC 2x öffnen, jeweils den passenden Ordner öffnen (beide Systeme müssen eingebunden sein) und dann steht copy & paste
nichts mehr im Weg.

Re: OH3 - Rules Fragen

Verfasst: 24. Jan 2021 11:41
von harteknut
... aber die Verbindung zur REST API kannst Du immer nur zu einem System erstellen, oder nicht? D.h. z.B. die aktuelle Status-Tooltipanzeige kann VSC immer nur von einem der beiden Systeme holen.
Oder geht das "doppelt", und ich habs nur nicht gefunden?

Re: OH3 - Rules Fragen

Verfasst: 24. Jan 2021 12:25
von violine21
Bei mir sind beide Systeme verbunden. Ich habe zwei VSC-Fenster geöffnet.
VSC.gif
Raspberry 1 und Raspberry 2 (beides Modell 4, spielt aber keine Rolle) sind freigegeben.
Ich kann während beide online sind auf dem jeweils anderen die OH-Funktionalität nutzen.
Als Beispiel hier markiert die Spannung der PV-Anlage. Natürlich mit leichtem Zeitversatz wegen
Copx & Paste ins Grafikprogramm ;)

Re: OH3 - Rules Fragen

Verfasst: 24. Jan 2021 13:03
von Hoggle
Und kaputt. :oops:
Bei mir kam immer die Meldung, das die REST-API nicht funktionieren würde (Im VSC).
jetzt habe ich so viel herumgespielt, das in der Leiste das Openhab-Symbol verschwunden ist und ich nur noch die Items sehe, die ich per File angelegt hatte.
Vorher war es so, das ich die Items sah, die im Modell zu sehen waren, also sogar mit der Baumstruktur. Auch im unteren Bereich (Gliederung) sehe ich nur die Items aus dem geöffneten Item-file

Kann mir da mal jemand weiterhelfen?
Ich habe folgende Konfig:
OH2 auf RPI4 unter 10.1.1.20:8080 erreichbar
OH3 auf RPI4 unter 10.1.1.28:8080 erreichbar

Wie/wo kann/muß ich VSC konfigurieren, das ich Zugriff auf die beiden RPIs erhalte.
Was heißt denn, ich muß die "freigeben"? :?:

Re: OH3 - Rules Fragen

Verfasst: 24. Jan 2021 13:40
von violine21
Du musst beide Systeme auf Deinem Programmierrechner als Netzlaufwerk einbinden und freigeben.
Auf jedem System befindet sich der Ordner ".vscode", darin die "settings.json".
Wenn nicht, dann lege beides auf beiden Laufwerken an.
Den Inhalt der "settings.json" habe ich auf dem Bild eingefügt.
VSC_einrichten.gif
Die IP-Adresse Deiner Systeme eintragen und Deine Zugangsdaten.
Dann hast Du Zugriff auf beide Systeme gleichzeitig. VSC holt sich die Zugangsdaten aus der jeweiligen Datei.