time cron funktioniert nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Tobii
Beiträge: 63
Registriert: 18. Sep 2020 19:43
Answers: 0

time cron funktioniert nicht

Beitrag von Tobii »

Hallo zusammen,

ich habe in meinem Garten eine Bewässerung installiert, diese aber so einfach wie möglich gehalten. Es gibt keine Ventile, nur 2 Pumpen und daher nur 2 Kreisläufe an denen alle Regner hängen.
Diese Regner möchte ich nun in Abhängigkeit von der Tagestemperatur starten lassen. Die Dauer ist also immer abhängig welche Temperatur war und welche zu erwarten ist. Regnen möchte ich um 5Uhr und 20Uhr.
Für die Dauer in Abhängigkeit konnte ich eine rule erstellen, diese funktioniert auch. Ich kriege es jedoch nicht auf die Reihe die Regner zeitbasiert starten zu lassen. Testweise habe ich eine Rule erstellt welche mit einem switch gestartet wird, diese läuft ohne Probleme. Sobald ich aber auf den time cron umstelle passiert gar nichts, auch in den logs ist nichts zu sehen. Es muss also am time cron liegen.

Code: Alles auswählen

rule 
when
    Time cron "0 15 8 * * ?"  
then
    Regner_Ost.sendCommand(ON)
    Regner_Sued.sendCommand(ON)

    createTimer(now.plusMinutes(5), [ |
        Regner_Ost.sendCommand(OFF)
        Regner_Sued.sendCommand(OFF)
    ])
end

Tobii
Beiträge: 63
Registriert: 18. Sep 2020 19:43
Answers: 0

Re: time cron funktioniert nicht

Beitrag von Tobii »

Nachtrag:

Selbst das Einrichten direkt über UI funktioniert nicht.

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      time: 10:09
    type: timer.TimeOfDayTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: Regner_Sued
      command: ON
    type: core.ItemCommandAction

Der Regner startet nicht.

Ich habe auch andere Items ausprobiert, diese starten auch nicht.
Auch habe ich alle rules gelöscht um zu sehen ob sie welche behindern, auch das hat nicht funktioniert.

Tobii
Beiträge: 63
Registriert: 18. Sep 2020 19:43
Answers: 0

Re: time cron funktioniert nicht

Beitrag von Tobii »

Kann es vielleicht daran liegen? Ich habe 82 Probleme bei den Orphan links.

In den Items sehe ich immer 2 Brücken, eine mit ? und die andere ist sauber verbunden und funktioniert auch.
Bildschirmfoto 2025-06-27 um 10.29.42.png
Orphan links are items pointing to non-existent thing channels or vice versa.

Note that only the links of managed Items can be purged, not links defined in .items files - these must be fixed manually in the corresponding file. The latter are marked with lock_fill.
82 orphan links found
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Tobii
Beiträge: 63
Registriert: 18. Sep 2020 19:43
Answers: 0

Re: time cron funktioniert nicht

Beitrag von Tobii »

Tobii hat geschrieben: Gestern 10:30 Kann es vielleicht daran liegen? Ich habe 82 Probleme bei den Orphan links.

In den Items sehe ich immer 2 Brücken, eine mit ? und die andere ist sauber verbunden und funktioniert auch.
Bildschirmfoto 2025-06-27 um 10.29.42.png

Orphan links are items pointing to non-existent thing channels or vice versa.

Note that only the links of managed Items can be purged, not links defined in .items files - these must be fixed manually in the corresponding file. The latter are marked with lock_fill.
82 orphan links found
Diese Fehler habe ich nun beseitigt, waren Themen aus meiner Anfangszeit von Openhab. Das kommt eben davon wenn man keine Ahnung hat und dann kommt so eine unsaubere Programmierung raus.

Tobii
Beiträge: 63
Registriert: 18. Sep 2020 19:43
Answers: 0

Re: time cron funktioniert nicht

Beitrag von Tobii »

Tobii hat geschrieben: Gestern 08:23 Hallo zusammen,

ich habe in meinem Garten eine Bewässerung installiert, diese aber so einfach wie möglich gehalten. Es gibt keine Ventile, nur 2 Pumpen und daher nur 2 Kreisläufe an denen alle Regner hängen.
Diese Regner möchte ich nun in Abhängigkeit von der Tagestemperatur starten lassen. Die Dauer ist also immer abhängig welche Temperatur war und welche zu erwarten ist. Regnen möchte ich um 5Uhr und 20Uhr.
Für die Dauer in Abhängigkeit konnte ich eine rule erstellen, diese funktioniert auch. Ich kriege es jedoch nicht auf die Reihe die Regner zeitbasiert starten zu lassen. Testweise habe ich eine Rule erstellt welche mit einem switch gestartet wird, diese läuft ohne Probleme. Sobald ich aber auf den time cron umstelle passiert gar nichts, auch in den logs ist nichts zu sehen. Es muss also am time cron liegen.

Code: Alles auswählen

rule 
when
    Time cron "0 15 8 * * ?"  
then
    Regner_Ost.sendCommand(ON)
    Regner_Sued.sendCommand(ON)

    createTimer(now.plusMinutes(5), [ |
        Regner_Ost.sendCommand(OFF)
        Regner_Sued.sendCommand(OFF)
    ])
end
Dieses Problem ist auch zum Teil beseitigt, aber die Lösung habe ich noch nicht zu 100% gefunden.
Problem ist, dass time cron einen Zeitunterschied im Bauch hat von 1h. Hier ist nicht die deutsche Zeit hinterlegt und deswegen startet auch nichts.
Habe in Openhab Berlin eingestellt, aber offenbar wird die Zeit woanders gezogen.

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

Re: time cron funktioniert nicht

Beitrag von udo1toni »

openHAB bezieht seine Zeit von Java. Java wiederum bezieht seine Zeit vom System.
Du musst also 1. die Zeit des Betriebssystems korrekt einstellen und 2. dafür sorgen, dass JAva sich in der richtigen Zeitzone befindet.
Die Einstellungen in openHAB selbst betreffen andere Aspekte (ja, unschön, aber so isses nun mal)

Für Punkt 1 kommt es auf das darunter laufende OS an, z.B. auf dem Raspberry Pi wäre es sinnvoll, die Zeit per ntp Client zu stellen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: time cron funktioniert nicht

Beitrag von udo1toni »

openHAB bezieht seine Zeit von Java. Java wiederum bezieht seine Zeit vom System.
Du musst also 1. die Zeit des Betriebssystems korrekt einstellen und 2. dafür sorgen, dass JAva sich in der richtigen Zeitzone befindet.
Die Einstellungen in openHAB selbst betreffen andere Aspekte (ja, unschön, aber so isses nun mal)

Für Punkt 1 kommt es auf das darunter laufende OS an, z.B. auf dem Raspberry Pi wäre es sinnvoll, die Zeit per ntp Client zu stellen. Es gibt hier mehrere Wege, "modern" gehts über timedatectl, in der Datei /etc/systemd/timesyncd.conf trägst Du unter [Time] NTP= einen ntp-Server Deiner Wahl ein (gewöhnlich sollte der Router ntp ausliefern, ntp1.ptb.de wäre auch eine gute Quelle oder auch ein Server aus pool.ntp.org (wobei man gut daran tut, einen nahegelegenen Server zu nutzen)
Die Zeitzone kannst Du direkt über timedatectl set-timezone Europe/Berlin setzen, mit dem Befehl timedatectl show bekommst Du Konfigurationsdetails zu Gesicht, mit timedatectl status den aktuellen Zustand, mit timedatectl timesync-status bekommst Du den Zustand von ntp angezeigt. Eventuell musst Du ntp erst mit timedatectl set-ntp true aktivieren (vielleicht 1 statt true)

Damit Java die korrekte Zeitzone nutzt (Punkt 2), musst Du in /etc/default/openhab eventuell in EXTRA_JAVA_OPTS den Parameter -Duser.timezone=Europe/Berlin ergänzen - falls in dem String schon andere Parameter drin stehen, musst Du einfach ein Leerzeichen als Trennzeichen verwenden.
Nachdem Du diese Anpassung vorgenommen hast, musst Du openHAB neu starten (sudo systemctl restart openhab.service).

Unter Windows gibt es eine ähnliche Datei mit den Default-Werten, aber das habe ich nicht im Einsatz...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten