Programm funktioniert nach einiger Zeit nicht mehr

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Icefeldt
Beiträge: 27
Registriert: 28.11.2017, 22:01
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von Icefeldt » 05.12.2023, 16:40

Hallo,

ich habe folgendes Programm:

Bild

Es sollen also die Rollladen runterfahren, wenn:

- die Helligkeit am Lichtsensor unter 80 Lux ist
- es nach Sonnenuntergang ist
- die Systemvariable "Rolladen runter" auf "falsch" steht.


Problematik ist, dass das Programm einige Tage läuft und dann plötzlich nicht mehr.
Rollladen gehen dann nicht mehr runter.

Aktuell funktioniert es auch wieder nicht.

Bild
Bild
Bild

Laut Programmseite wäre es angeblich vor einer Minute gelaufen:

Bild

Die Rollladen sind aber nicht unten und auch die Systemvariable wurde nicht auf "wahr" gesetzt.


Wenn ich nun aber unten im Programm auf "als neues Programm speichern" klicke und somit das Programm dupliziert wird, dann fahren die Rolladen direkt runter, weil dann das neue Programm sofort lostriggert.

Auch wenn ich auf der Programmseite auf "Nur 1. Dann ausführen" klicke, fahren die Rollladen runter.
--> Somit muss es ja ein Problem im "Wenn"-Bereich sein?

Aber wieso nicht mehr wenn ich das Programm dupliziere?


Hat da irgendjemand eine Idee?

Benutzeravatar
Horst Henning
Beiträge: 501
Registriert: 20.07.2019, 12:58
System: CCU
Hat sich bedankt: 13 Mal
Danksagung erhalten: 31 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von Horst Henning » 05.12.2023, 17:22

wenn es zu der auslösenden Zeit im Zeitmodul noch zu hell ist? z.B. Fremdlicht.

McPan
Beiträge: 222
Registriert: 29.11.2021, 07:04
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 12 Mal
Danksagung erhalten: 44 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von McPan » 05.12.2023, 17:24

Horst Henning hat geschrieben:
05.12.2023, 17:22
wenn es zu der auslösenden Zeit im Zeitmodul noch zu hell ist?
Die Zeit ist ja nicht die Triggerbedingung, sondern nur die Prüfbedingung. Vermutlich ist's genau umgekehrt, der Trigger < 80 Lux wird schon vor der "Nachtzeit" erreicht und bleibt dann auch < 80 Lux.
Grüße,
Marco

Elektrische Bauteile funktionieren mit Rauch. Der Beweis: tritt der Rauch aus, funktioniert das Bauteil nicht mehr!
Raspberrymatic @ RPi3b+, HmIP mit RPi-RF-MOD

Benutzeravatar
HM-Villa
Beiträge: 531
Registriert: 24.01.2022, 10:13
System: CCU
Hat sich bedankt: 30 Mal
Danksagung erhalten: 125 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von HM-Villa » 05.12.2023, 17:43

Hallo Icefeld,

zunächst ein Hinweis: Bilder/Screenshots immer direkt ins Forum hochladen, keine externen Hoster benutzen. Wenn der Imgur mal stirbt, fehlen dann Deinem Beitrag hier die Fotos.
Icefeldt hat geschrieben:
05.12.2023, 16:40
[Programm]

Es sollen also die Rollladen runterfahren, wenn:

- die Helligkeit am Lichtsensor unter 80 Lux ist
- es nach Sonnenuntergang ist
- die Systemvariable "Rolladen runter" auf "falsch" steht.
Warum verknüpfst Du das witterungsunabhängige Ereignis "Sonnenuntergang" mit dem witterungsabhängigen Helligkeitswert. Das ist ist nicht notwendig und verursacht je nach Einstellung des Helligkeitswertes genau das Problem, welches bei Dir aufgetreten ist.

Je nach Witterung (Wolken) ist die Beleuchtungsstärke zur Zeit des Sonnenunterganges um 80-100 Lux. Da Du auf Sonnenuntergang nur prüfst und nicht triggerst, kann es sein, dass, wenn es stark bewölkt ist, die Sonne rechnerisch in der (O)CCU noch nicht untergegangen ist, aber der Helligkeitswert 80 Lux unterschreitet. Dann macht Dein Programm nix, weil der Sonnenuntergang fehlt.

Vorschlag zur Lösung: Prüfung auf Sonnenuntergang weglassen. Wenn man einen Helligkeitssensor einsetzt, braucht man das nicht. Keine Sorge: Die Rollläden werden über dieses Programm tagsüber nicht geschlossen - es wird nie dunkler als 80 Lux, wenn die Sonne am Himmel steht, auch wenn Wolken zwischen Sensor und Sonne sind.
Die Rollladen sind aber nicht unten und auch die Systemvariable wurde nicht auf "wahr" gesetzt.
Das sind die Auswirkungen, wenn die rechnerische Sonne und die tatsächliche Helligkeit um die Wette laufen und die Beleuchtungsstärke gewinnt - dann triggert zwar Dein Programm, aber ohne wahre Bedingung ist's nix mit dem "Dann".
______________________________________________________
950 Kanäle in 201 Geräten und 39 CUxD-Kanäle in 5 CUxD-Geräten

Benutzeravatar
Horst Henning
Beiträge: 501
Registriert: 20.07.2019, 12:58
System: CCU
Hat sich bedankt: 13 Mal
Danksagung erhalten: 31 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von Horst Henning » 05.12.2023, 18:37

HM-Villa hat geschrieben:
05.12.2023, 17:43

Vorschlag zur Lösung: Prüfung auf Sonnenuntergang weglassen. Wenn man einen Helligkeitssensor einsetzt, braucht man das nicht. Keine Sorge: Die Rollläden werden über dieses Programm tagsüber nicht geschlossen - es wird nie dunkler als 80 Lux, wenn die Sonne am Himmel steht, auch wenn Wolken zwischen Sensor und Sonne sind.
sage niemals nie: bei uns am 23.03.2023 um 13.00 Uhr bei Unwetter. Aber da schadet es auch nicht, wenn die Rollos schließen.

Ansonsten: < 20 Lux

Icefeldt
Beiträge: 27
Registriert: 28.11.2017, 22:01
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von Icefeldt » 06.12.2023, 01:11

McPan hat geschrieben:
05.12.2023, 17:24
Horst Henning hat geschrieben:
05.12.2023, 17:22
wenn es zu der auslösenden Zeit im Zeitmodul noch zu hell ist?
Die Zeit ist ja nicht die Triggerbedingung, sondern nur die Prüfbedingung. Vermutlich ist's genau umgekehrt, der Trigger < 80 Lux wird schon vor der "Nachtzeit" erreicht und bleibt dann auch < 80 Lux.

Und der löst bei "bei Änderung" nur einmalig aus?
Ich hatte "bei Änderung" immer so verstanden, dass er jedes Mal triggern würde.

Also:
Triggebedingungen:
Sonnenuntergang: 16:30
Helligkeitsschwelle: <80 Lux


Wenn es nun 16:29 und 40 Lux sind, triggert es nicht weil die Uhrzeit noch nicht stimmt.
Wird es 16:30 und der Helligkeitswertert ändert sich dann von den vorigen 40 auf neue 35 Lux, dann sollte das Program DANN doch gestartet werden?

Ja, grundsätzlich habe ich das drin, damit ich ein Auslösen "tagsüber" vermeiden wollte.

MichaelN
Beiträge: 9811
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 711 Mal
Danksagung erhalten: 1657 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von MichaelN » 06.12.2023, 07:00

Bei Änderung triggert nur bei Eintritt oder Austritt aus dem definierten Bereich. Bei jeder Messung triggert "bei Aktualisierung". Das führt dein Programm dann aber alle paar Minuten aus.

Daher ist dein Programm schon der richtige Weg. Entweder Zeitmodul ganz weglassen, oder das Zeitfenster größer machen (15 - 24 Uhr) oder ganz einfach das Zeitmodul auf auslösen stellen.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Baxxy
Beiträge: 11041
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 632 Mal
Danksagung erhalten: 2287 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von Baxxy » 06.12.2023, 08:57

Genau genommen...
Getriggert wird immer, also bei jeder "Aktualisierung" (Datenübertragung) vom Sensor.
Danach findet die Prüfung auf "hat sich was geändert" geändert statt...
Nein? --> Abbruch
Ja? -->
--> hat sich der Wert von > 80 auf 80 oder < 80 geändert?
Ja? --> Weiter
Nein? --> Abbruch bzw. ab ins Sonst, sofern vorhanden

Icefeldt
Beiträge: 27
Registriert: 28.11.2017, 22:01
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Programm funktioniert nach einiger Zeit nicht mehr

Beitrag von Icefeldt » 06.12.2023, 17:32

MichaelN hat geschrieben:
06.12.2023, 07:00
Bei Änderung triggert nur bei Eintritt oder Austritt aus dem definierten Bereich. Bei jeder Messung triggert "bei Aktualisierung". Das führt dein Programm dann aber alle paar Minuten aus.

Um dies zu verhindern habe ich ja die Systemvariable "Rolladen_runter" die wahr/falsch sein kann und auch am Afang durch das Programm geprüft wird, dass diese auf "falsch steht".

Baxxy hat geschrieben:
06.12.2023, 08:57
Genau genommen...
Getriggert wird immer, also bei jeder "Aktualisierung" (Datenübertragung) vom Sensor.
Danach findet die Prüfung auf "hat sich was geändert" geändert statt...
Nein? --> Abbruch
Ja? -->
--> hat sich der Wert von > 80 auf 80 oder < 80 geändert?
Ja? --> Weiter
Nein? --> Abbruch bzw. ab ins Sonst, sofern vorhanden
Ahh, nur um es nochmal ganz klar zu verstehen.

Bei einer Änderung von 79 auf 75 würde es nicht "weiter" gehen, weil es schon vorher unter der 80er Bedingung war und nun immer noch unter 80 ist.


Antworten

Zurück zu „RaspberryMatic“