Rule erstellen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Innocent
Beiträge: 198
Registriert: 29. Jul 2020 12:40

Rule erstellen

Beitrag von Innocent »

    Hallo,

    ich schlage mich nun schon seit geraumer Zeit damit rum Rules zu erstellen.
    Zur Übung konnte ich Telegram Nachrichten verschicken zu Sonnenuntergang und zu festen Zeiten.
    Auch kann ich Nachrichten verschicken, wenn eine Shelly Plug S geschaltet wurde.

    Nun scheitere ich daran, diese zu einem bestimmten ereignis zu schalten.
    Zum testen benutze ich Time cron"0 56 15 * * ? " zum beispiel, um Schaltzeiten zu haben.
    Zum Zeitpunkt passiert aber außer einer Fehlermeldung in der LOG Datei nichts.

    Wie muss das "then" dann aussehen ?

    Meine Shelly sieht so aus:

    Code: Alles auswählen

    
    //Shelly Plug S Dachgeschoss Küche 2
    
    Group   Shelly2                   "Steckdose 2"           <poweroutlet>  (DG_Kitchen)
    
    Switch  SpsDgk2RelayOutput        "Steckdose 2"           <poweroutlet>  (Shelly2)   {channel="shelly:shellyplugs:6a6043:relay#output"}
    Number  SpsDgk2MeterCurrentWatts  "Verbrauch 2 [%.1f W]"  <battery>      (Shelly2)   {channel="shelly:shellyplugs:6a6043:meter#currentWatts"}
    
    
    So meine rule:

    Code: Alles auswählen

    when  
        Time cron"0 56 15 * * ? "
    then
       diese Zeile bekomme ich nicht hin...
    end
    
    Vielen Dank schonmal ! :P
    Openhab 2 auf RaspberryPi 4

    Benutzeravatar
    OliverCJ
    Beiträge: 404
    Registriert: 29. Aug 2017 12:41
    Answers: 3
    Wohnort: Bergisch Gladbach

    Re: Rule erstellen

    Beitrag von OliverCJ »

    SpsDgk2RelayOutput.sendCommand(On)

    sollte schon reichen im Then-Bereich...

    Edit: ach so, könnte auch sein, dass das ON komplett groß geschrieben sein muss... Bin ich mir jetzt rein aus dem Gedächtnis etwas unsicher...


    Gesendet von meinem SM-N975F mit Tapatalk



    _______________________________________________
    Homematic IP Komponenten an CCU 3 (wächst stetig)
    Innogy Smarthome System (verabschiedet sich langsam)
    Philips Hue Beleuchtung
    Fritz!Box
    VU+ Solo SAT-Receiver
    2 Squeezeboxen
    Denon Heos System

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

    Re: Rule erstellen

    Beitrag von peter-pan »

    Ich weiss zwar nicht genau, was du meinst(vor allem wegen des Cron-Triggers), aber so könnte deine Regel evtl. aussehen:

    Code: Alles auswählen

    rule "Schaltzeiten Shelly"
    when
        Item SpsDgk2RelayOutput changed
    then
        logInfo("Schaltzeiten", "Shelly wurde geschaltet: {}", SpsDgk2RelayOutput.state)
        // oder was du sonst noch einfügen willst, z.B.: Telegramm
    end
    Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian

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

    Re: Rule erstellen

    Beitrag von peter-pan »

    ..hier noch ein Beispiel mit einem Cron-Trigger:

    Code: Alles auswählen

    rule "Cron-Trigger Dienstag wöchentlich"
    when
       		Time cron "0 2 23 ? * TUE" //Test jeden Dienstag um 23:02
    then
    	logInfo("Woche", "hat triggert")
    	// oder sonstige Kommandos
    end
    Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian

    Innocent
    Beiträge: 198
    Registriert: 29. Jul 2020 12:40

    Re: Rule erstellen

    Beitrag von Innocent »

    OliverCJ hat geschrieben: 22. Sep 2020 17:08 SpsDgk2RelayOutput.sendCommand(On)

    sollte schon reichen im Then-Bereich...

    Ja, ha funktioniert. Ich hatte ein Leerzeichen statt dem Punkt.

    Edit: ach so, könnte auch sein, dass das ON komplett groß geschrieben sein muss... Bin ich mir jetzt rein aus dem Gedächtnis etwas unsicher...

    Ja, muß alles groß geschrieben sein.

    Dankeschön
    Openhab 2 auf RaspberryPi 4

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

    Re: Rule erstellen

    Beitrag von udo1toni »

    Grundsätzlich ist in openHAB immer alles exakt so zu schreiben, wie in der Dokumentation beschrieben. Grundsätzlich im juristischen Sinne ;) das heißt, es gibt die eine oder andere Ausnahme. Mit der exakten Schreibweise liegt man aber nie falsch. Essenziell ist die exakte Schreibweise bei Items, Channels, UIDs, in Rules und in Konfigurationsdateien. Status sind immer komplett in Großbuchstaben zu schreiben, es sei denn, es geht um String Items, dann kommt es auf die Datenquelle an. Das gleiche gilt sinngemäß für Kommandos (also ON und OFF, OPEN und CLOSED, INCREASE und DECREASE, UP, DOWN und STOP, PLAY, PAUSE und so weiter.

    Eine vollständige Liste der Status und Commands gibt es leider nicht, aber man kann sich die nötigen Informationen über den Source Code zusammensuchen: https://github.com/openhab/openhab-core ... rary/types hier versteckt sich die vollständige Liste aller Typen, die man so in openHAB antrifft (natürlich im Source Code verteilt auf verschiedene Dateien...)
    Das ist aber zugegebenermaßen eher eine Quelle für Hartgesottene :)

    Befehle und Parameternamen werden gewöhnlich in CamelCase geschrieben, allerdings am Wortanfang klein, also z.B. logInfo, sendCommand, postUpdate oder minuteOfDay, um mal ein paar gebräuchliche aufzuzählen.

    Sobald man Textdateien für openHAB bearbeiten will (Sitemap, Rules, Items, Things, ...) ist man gut beraten, einen spezialisierten Editor zu nutzen, das wäre VSCode mit openHAB Plugin. Damit bekommt man Autoergänzung, Fehleranzeige und Vieles mehr.
    openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

    Innocent
    Beiträge: 198
    Registriert: 29. Jul 2020 12:40

    Re: Rule erstellen

    Beitrag von Innocent »

    👍🏼 💪🏼 Danke 😊
    Openhab 2 auf RaspberryPi 4

    Antworten