Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
peter-pan
Beiträge: 2768
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von peter-pan »

...aber bitte mit

Code: Alles auswählen

Item Test_Switch received command
.... ;) (Gross-/Kleinschreibung)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

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

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von udo1toni »

Huch... wo kommt das kleine i her? egal, ich korrigiere das mal oben...

Und da war noch ein Fehler drin (timer?.cancel statt tLicht?.cancel)
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

calimero
Beiträge: 27
Registriert: 20. Dez 2019 07:17
Answers: 0

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von calimero »

Hallo zusammen,

Vielen Dank für eure Unterstützung.

die Rule sieht nun genau so aus wie von udo1toni gepostet, dennoch bekomme ich den Fehler:

Code: Alles auswählen

2020-11-05 16:15:05.246 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Abwesenheitssimulation.rules' has errors, therefore ignoring it: [9,73]: mismatched input ',' expecting 'end'
so viel ich herauslesen kann ist der "," der Fehler aber wenn ich den weg mache kommen noch mehr Fehler? :)

Wie von peter-pan habe ich auch " intValue -> longValue" probiert, hat aber nichts geholfen.
Und was bedeutet ""Licht_EG_Flur" ein DateTime-Item ist ?"


mfg
Pascal

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

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von udo1toni »

Hast Du nur exakt diese Rule in der Datei stehen? das Komma an der Stelle ist schon richtig. Vielleicht ist irgendwo an anderer Stelle noch ein kleiner Fehler versteckt...

Edit: ja, eine Klammer zu viel. Ich korrigiere oben...

Edit2: und bei den reschedule- Befehlen hatte sich auch eine falsche Klammer eingeschlichen...

Edit3: und da war noch eine falsche (geschweifte) Klammer... :oops:
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

calimero
Beiträge: 27
Registriert: 20. Dez 2019 07:17
Answers: 0

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von calimero »

Nun ist es mir schon selber zu blöd :)

aber jetzt kommt :

Code: Alles auswählen

2020-11-05 18:30:17.752 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Anwesenheit Simulation': An error occurred during the script execution: Could not invoke method: org.joda.time.DateTime.plusMinutes(int) on instance: 2020-11-05T18:30:17.746+01:00
hätte auch schon gegoogelt und probiert das ich den code einfüge aber das klappt nicht?

Code: Alles auswählen

import org.joda.time.DateTime
mfg
Pascal

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

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von udo1toni »

Nein. Wo kommt denn da plötzlich ein Datum her? Welche Version von openHAB setzt Du denn ein? Bist Du etwa schon auf OH3.0?
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

calimero
Beiträge: 27
Registriert: 20. Dez 2019 07:17
Answers: 0

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von calimero »

Ich habe die Version openHAB 2.5.9-1 ?!

Benutzeravatar
peter-pan
Beiträge: 2768
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von peter-pan »

Könnte es sein, dass hier ein Klammerpaar fehlt:

Code: Alles auswählen

ar Timer tLicht = null                                                             // Zeiger auf den Timer (mit sinnvollem Namen!)

rule "Anwesenheit Simulation"
when
    Item Test_Switch received command                                               // Befehl empfangen
then 
    tLicht?.cancel                                                                  // lösche Timer, falls einer existiert
    if(receivedCommand == ON)                                                       // Nur falls Befehl ON war
        tLicht = createTimer(now.plusMinutes((Math::random * 10).intValue),  [ |      // Setze Timer auf 10 Minuten
            if(Licht_EG_Flur.state != ON) {                                         // Falls Licht nicht an
                Licht_EG_Flur.sendCommand(ON)                                       // einschalten
                tLicht.reschedule(now.plusMinutes(2+(Math::random * 5).intValue))   // und Timer erneut aufrufen
            } else {                                                                // Falls Licht an
                Licht_EG_Flur.sendCommand(OFF)                                      // ausschalten
                tLicht.reschedule(now.plusMinutes(55+(Math::random * 10).intValue)) // und Timer erneut aufrufen
            }
        ])
    else
        Licht_EG_Flur.sendCommand(OFF)                                              // ausschalten
end
Ich hab hier

Code: Alles auswählen

((Math::random * 10).intValue)
einfach noch ein Klammerpaar gesetzt und dann war die Fehlermeldung in VSC weg. Getestet hab ich's aber nicht. Also ohne Gewähr. ;)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

calimero
Beiträge: 27
Registriert: 20. Dez 2019 07:17
Answers: 0

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von calimero »

Hallo peter-pan,

das war der Letze Fehler :)
Die Rule läuft nun einwandfrei. ;)

Vielen Vielen Dank an ALLE die mir geholfen haben, ohne euch hätte ich das nie geschafft.

mfg
Pascal

PS: Das wird sicher nicht der letzte Beitrag werden von mir :D :lol:

Benutzeravatar
peter-pan
Beiträge: 2768
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Einfache Regel mit Dummy Schalter (Abwesenheit Licht Simulation)

Beitrag von peter-pan »

na ist ja toll. Aber die eigentliche Arbeit hat ja Udo gemacht. Hast du VSC als Editor ? Wenn nicht solltest du dir mal überlegen, ob du den nicht einsetzen willst. Der gibt dir gleich beim Erstellen schon die richtigen Tipps. ;)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten