Hallo, gegeben ist folgendes Programm:
einmal am Tag (um 04:00 Uhr) die Außentemperatur prüfen und dann eine Systemvariable entsprechend setzen. Leider sorgt das Programm für eine erhebliche Last auf der CCU, zusammen mit 2 ähnlichen "Einmal-am-Tag"-Programmen über 50 % Duty-Cycles und das permanent.
Ich kann mir das nur so erklären, dass das Programm permanent läuft und prüft, ob es jetzt gerade 04:00 ist - wie kann man das ändern?
Vielen Dank!
Es soll Simple Zeitsteuerung und hohe Duty-Cycles
Moderator: Co-Administratoren
- Black
- Beiträge: 5548
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 434 Mal
- Danksagung erhalten: 1096 Mal
- Kontaktdaten:
Re: Simple Zeitsteuerung und hohe Duty-Cycles
2 Dinge...
1. Screenshoot vom Zeitmodul
2. dein Zeitmodul steht auf nur prüfen, stattdessen triggerst du auf jede änderung des Istwertes
Black
1. Screenshoot vom Zeitmodul
2. dein Zeitmodul steht auf nur prüfen, stattdessen triggerst du auf jede änderung des Istwertes
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 2425
- Registriert: 19.09.2012, 10:53
- System: CCU
- Wohnort: Jottweedee
- Hat sich bedankt: 255 Mal
- Danksagung erhalten: 363 Mal
Re: Simple Zeitsteuerung und hohe Duty-Cycles
"Bei Aktualisierung auslösen" ...
Es kann leider nicht ganz ausgeschlossen werden, dass ich mich irre.
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!
-
- Beiträge: 14265
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 598 Mal
- Danksagung erhalten: 1526 Mal
Re: Simple Zeitsteuerung und hohe Duty-Cycles
Das hast Du aber nicht programmiert. Das Programm wird bei jeder Aktualisierung der Temperatur getriggert aber nicht bei der Uhrzeit (prüfen triggert nicht).
Mag sein, dass der Prozessor alle drei Minuten für ein paar Millisekunden beschäftigt ist. Aber Systemlast ist anders. Vermutlich ist das/die auf die Systemvariable getriggerte(n) Programm(e) genau so nachlässig programmiert, so dass die ausgeführten Aktionen Deinen Duty Cycle treiben. Es sei Dir dringend das WebUI-Handbuch für die Funktionsweise von Programmen ans Herz gelegt. Oder der Einsteigerthread im Forum.
Gruß Xel66
Zuletzt geändert von Xel66 am 06.01.2024, 12:47, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 9811
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 711 Mal
- Danksagung erhalten: 1657 Mal
Re: Simple Zeitsteuerung und hohe Duty-Cycles
Das Programm wird bei jeder Aktualisierung ausgelöst.
Und dann wird, außer um 4 Uhr einer der beiden SONST-WENN ausgeführt
Was dann passiert, hängt davon ab welche Programm auf die SV reagieren.
Wenn das Programm um 4 Uhr was machen soll, warum steht dann das Zeitmodul auf prüfen und die Nebenbedingugnen auf auslösen????
Und dann wird, außer um 4 Uhr einer der beiden SONST-WENN ausgeführt
Was dann passiert, hängt davon ab welche Programm auf die SV reagieren.
Wenn das Programm um 4 Uhr was machen soll, warum steht dann das Zeitmodul auf prüfen und die Nebenbedingugnen auf auslösen????
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 +++
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 +++
-
- Beiträge: 3682
- Registriert: 14.07.2019, 20:49
- System: CCU
- Hat sich bedankt: 862 Mal
- Danksagung erhalten: 559 Mal
Re: Simple Zeitsteuerung und hohe Duty-Cycles
Bitte mal die Doku und Threads zur Programmierung durchlesen, v.a. das Konzept Triggern vs. Abarbeitung von Programmen ist wichtig! Du hast das Prinzip der CCU Programme überhaupt nicht verstanden!
Dein Programm triggert bei jeder Aktualisierung des Sensors (also auch, wenn sich kein Wert geändert hat). Je nach Einstellung des Sensors im Minutentakt...
Die Zeitbedingung triggert nicht, sondern wird nur im ersten WENN abgefragt!
Ist also die Temperatur größer als 0 Grad, dann wird die Systemveriable immer und immer wieder gesetzt, den ganzen lieben langen Tag und die Nacht dazu! Das triggert vermutlich irgendwas, was dann zu einem Sendevorgang der CCU führt?!
Also muss das Ganze so laufen, wenn Du wirklich nur um 4 Uhr nachts die Temperatur prüfen willst:
Das Zeitmodul triggert dann um 4 Uhr das Programm und dann wird die Temperatur des Sensors geprüft - von oben nach unten, bis eine Bedingung zutrifft!
Dein Programm triggert bei jeder Aktualisierung des Sensors (also auch, wenn sich kein Wert geändert hat). Je nach Einstellung des Sensors im Minutentakt...
Die Zeitbedingung triggert nicht, sondern wird nur im ersten WENN abgefragt!
Ist also die Temperatur größer als 0 Grad, dann wird die Systemveriable immer und immer wieder gesetzt, den ganzen lieben langen Tag und die Nacht dazu! Das triggert vermutlich irgendwas, was dann zu einem Sendevorgang der CCU führt?!
Also muss das Ganze so laufen, wenn Du wirklich nur um 4 Uhr nachts die Temperatur prüfen willst:
Code: Alles auswählen
WENN Zeitmodul um 4 Uhr (Zu Zeitpunkten auslösen) UND Temp < 0 (nur prüfen)
DANN SV = kalt
SONST WENN Temp zwischen 0 bis 10 (nur prüfen)
DANN SV = kühl
SONST WENN Temp > 10 (nur prüfen)
DANN SV = Übergang
- 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: Simple Zeitsteuerung und hohe Duty-Cycles
Ich würd's ein bisschen verdrehen um die Ausführung beim Zentralenstart zu "vermeiden". (Default-Wert des Sensors = 0.0)
Ansonsten ist es nach Zentralenstart immer erstmal "kühl".
Ansonsten ist es nach Zentralenstart immer erstmal "kühl".
Code: Alles auswählen
WENN Zeitmodul um 4 Uhr (Zu Zeitpunkten auslösen) UND Temp von 0.0 bis kleiner 10.0 (nur prüfen)
DANN SV = kühl
SONST WENN Temp kleiner als 0.0 (nur prüfen)
DANN SV = kalt
SONST WENN Temp von 10.0 bis kleiner 15.0 (nur prüfen)
DANN SV = Übergang
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen