Simple Zeitsteuerung und hohe Duty-Cycles

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Oakman
Beiträge: 9
Registriert: 22.10.2021, 12:33
System: CCU
Hat sich bedankt: 1 Mal

Simple Zeitsteuerung und hohe Duty-Cycles

Beitrag von Oakman » 06.01.2024, 12:34

Hallo, gegeben ist folgendes Programm:
Unbenannt.PNG
Es soll 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!

Benutzeravatar
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

Beitrag von Black » 06.01.2024, 12:44

2 Dinge...

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

cmjay
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

Beitrag von cmjay » 06.01.2024, 12:45

"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!

Xel66
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

Beitrag von Xel66 » 06.01.2024, 12:45

Oakman hat geschrieben:
06.01.2024, 12:34
Es soll einmal am Tag (um 04:00 Uhr) die Außentemperatur prüfen und dann eine Systemvariable entsprechend setzen.
Das hast Du aber nicht programmiert. Das Programm wird bei jeder Aktualisierung der Temperatur getriggert aber nicht bei der Uhrzeit (prüfen triggert nicht).
Oakman hat geschrieben:
06.01.2024, 12:34
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.
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

MichaelN
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

Beitrag von MichaelN » 06.01.2024, 12:46

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????
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 +++

frd030
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

Beitrag von frd030 » 06.01.2024, 12:49

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:

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
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!

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: Simple Zeitsteuerung und hohe Duty-Cycles

Beitrag von Baxxy » 06.01.2024, 13:08

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". :wink:

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

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“