CCU 2 vergisst Programme auszuführen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Xel66
Beiträge: 14297
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 601 Mal
Danksagung erhalten: 1529 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von Xel66 » 20.11.2016, 22:35

real intruder hat geschrieben:Ich lasse dort jetzt nur ein Zeitscript Programm laufen und ein Programm zur Auswertung ob der TV läuft oder nicht.
Warum macht man so was? Das Einschalten des TV ist ein Ereignis und das Ausschalten ebenfalls. Die Wahrscheinlichkeit ist relativ hoch, dass zwischen diesen beiden Ereignissen der TV läuft. Insofern würde es ausreichen, genau diese beiden Ereignisse als Trigger für Programme zu benutzen (und sei es nur, um den Zustand zur weiteren Verarbeitung zwischenzuspeichern). Die zyklische Abfrage kommt eher aus der SPS-Programmierung mit Funktionsmodulen. Die CCU tut sich aber damit schwer und ist eher auf ereignisbasierte Triggerung ausgelegt.

Für eine Zustandsabfrage per Netzwerk würde sich noch das Ping-Device vom CuXD anbieten. Das lässt sich auch relativ fein und komfortabel konfigurieren. Ich nutze es zur Zustandsabfrage, Anwesenheitsabfrage meines Smartphones und Onlineprüfung von IP-Cams und des Routers selbst. Änderung dieser Statusinformationen protokolliere ich u.a. im Systemprotokoll in einer protokollierten Systemvariable, kann aber auch Aktionen und Verriegelungen daraus ableiten. Zum Beispiel ist meine Text-to-Speech-Ausgabe deutlich gesprächiger, wenn mein Smartphone im heimatlichen Netz eingebucht ist. Das hebt den WAF, wenn meine Frau nicht mit für sie unnützen Informationen zugetextet wird.

Gruß Xel66
-------------------------------------------------------------------------------------------
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

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von Homoran » 20.11.2016, 22:40

Hallo xel,
Wenn ich das jetzt richtig verfolgt habe geht es im Moment nur um die Überprüfung der Zuverlässigkeit des Zeitmoduls.


Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

BadenPower

Re: CCU 2 vergisst Programme auszuführen

Beitrag von BadenPower » 20.11.2016, 22:45

real intruder hat geschrieben:Also bei der "Test CCU2" ist bisher nur der verschalter aufgetreten wie in meinem 1. Screenshot, was vermutlich aber auch nicht sein darf.
Wenn ich das jetzt richtig interpretiere, dann hast Du keine Timerprobleme auf Deinem System ohne CUxD, aber auf den Systemen mit CUxD schon.

Ist das richtig?
charlyhomematic hat geschrieben:Ich habe diesen Satz im Verdacht (bin kein Profi-Scripter):
real c_zeit =
(0.01 * system.Date("%M").ToInteger()) + system.Date("%H").ToInteger();
Diese Art der Berechnung kann durchaus zu Problemen führen.
Normalerweise würde man die aktuelle Systemzeit in einer Variable speichern und dann die Variable weiterverarbeiten, damit man immer den gleichen Zeitwert im Skript als Berechnungsvorraussetzung hat. Ich werde mir das Skript mal bei Gelegenheit näher anschauen.


.

Benutzeravatar
real intruder
Beiträge: 35
Registriert: 18.11.2016, 23:59
Hat sich bedankt: 1 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von real intruder » 21.11.2016, 02:25

Xel66 hat geschrieben:
real intruder hat geschrieben:Ich lasse dort jetzt nur ein Zeitscript Programm laufen und ein Programm zur Auswertung ob der TV läuft oder nicht.
Warum macht man so was? Das Einschalten des TV ist ein Ereignis und das Ausschalten ebenfalls. Die Wahrscheinlichkeit ist relativ hoch, dass zwischen diesen beiden Ereignissen der TV läuft. Insofern würde es ausreichen, genau diese beiden Ereignisse als Trigger für Programme zu benutzen
Ich hab es jetzt mehrmals gelesen, aber irgendwie verstehe ich diese Antwort nicht.
Ich kann feststellen anhand der Leistungsaufnahme ob der TV läuft oder nicht. Diesen Wert hab ich z.b. auf 20 Watt festgelegt. Unter diesem Wert läuft er nicht "TV aus" und darüber ist "TV ein". Das ist für mich ein Programm zur Auswertung ob der TV läuft oder nicht. Sobald sich diese Variable ändert, werden andere Programme aktiv. Die Leistungsaufnahme ist hier ein Trigger und für andere Programme die Variable "TV".
Welches weitere Ereignis sollte ich dann dafür hernehmen?
Bei eben dieser Auswertung hatte ich aber mit meiner jetzigen nicht Test-CCU dieses Phänomen(Zusatzsoftware CuxD, XML-Api aktiv)
Homematic Protokoll 3.GIF
Raspberrymatic 3.65.11.20221005

Benutzeravatar
real intruder
Beiträge: 35
Registriert: 18.11.2016, 23:59
Hat sich bedankt: 1 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von real intruder » 21.11.2016, 02:51

Homoran hat geschrieben:Hallo xel,
Wenn ich das jetzt richtig verfolgt habe geht es im Moment nur um die Überprüfung der Zuverlässigkeit des Zeitmoduls.
Im Moment ja, ich versuche mich im Moment auf meine Test-CCU zu beschränken.
Ich habe allerdings auch eine Geschäfts-CCU welche allerdings CuxD und XML-Api als Zusatzprogramme hat, welche der Support von EQ3 als Fehlerquelle sieht. Deswegen versuche ich mit meiner sauberen Test-CCU festzustellen ob ich dort auch Aussetzer beim Programmablauf habe.
Bei meiner Geschäfts-CCU habe ich diese Programmablauf Fehler allerdings.
Trotz der Wenn Aktion "Periodisch Ganztägig beginnend am 18.05.2016" (Steht auf 5 Minuten) kann es jederzeit vorkommen das er dieses eine Programm plötzlich nicht mehr abarbeitet. Ärgerlich, da die Werte des Zeitmoduls für die Steuerung der Außenreklame-Beleuchtung verwendet wird.
D.h. ich schaue bei "Status und Bedienung" unter Programme und stelle fest um 20 Uhr das das Programm zuletzt lief um 14:45 und die variable Zeit immer noch bei "Mittag" steht. Geschäftsbeleuchtung(Schaufenster und Reklame) dunkel.
Habe inzwischen im Beleuchtungsprogramm als Backup noch zusätzlich feste Zeiten, was aber wegen Astrozeiten nicht immer aktuell ist.
Das Zeitprogramm habe ich bei der Beleuchtung eigentlich nur, weil eben das Licht ca. 1 Stunde vor der Astrofunktion der CCU angehen soll(Bis die aktiv wird ist es ja schon Stockfinster)
Klar könnte man die Astrofunktion + 23 Stunden Zeitverzögerung nehmen um 1 Stunde früher das Licht einzuschalten, aber nach einer Netztrennung heißt das ja das es einen Tag mal nicht Funktioniert. Ich finde so ein Vorgehen dann aber auch etwas unprofessionell.
Ärgerlich das die bessere Zeiteinteilung nicht schon in die interne Firmware der CCU einprogrammiert wurde! Bei anderen Geräten und Systemen ist es ohne weiteres möglich +- Stunde/Minute einzustellen...
Raspberrymatic 3.65.11.20221005

Xel66
Beiträge: 14297
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 601 Mal
Danksagung erhalten: 1529 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von Xel66 » 21.11.2016, 03:03

real intruder hat geschrieben:Ich kann feststellen anhand der Leistungsaufnahme ob der TV läuft oder nicht.
Genau!
real intruder hat geschrieben:Unter diesem Wert läuft er nicht "TV aus" und darüber ist "TV ein".
Genau!
real intruder hat geschrieben:Das ist für mich ein Programm zur Auswertung ob der TV läuft oder nicht. Sobald sich diese Variable ändert, werden andere Programme aktiv.
Jo, und warum musst Du dann diesen Zustand denn zyklisch überprüfen?
real intruder hat geschrieben:Welches weitere Ereignis sollte ich dann dafür hernehmen?
Du brauchst doch kein weiteres. Meine Ausführungen bezogen sich auf die Aussage:
real intruder hat geschrieben:Ich lasse dort jetzt nur ein Zeitscript Programm laufen und ein Programm zur Auswertung ob der TV läuft oder nicht.
...was unter den Gegebenheiten (Umschaltung der Sysvar, die diesen Zustand symbolisiert) überflüssig ist. Der CuXD-Timer spricht eine interne Schnittstelle der ReGa an und diese hat anscheinend ab und zu mal einen Aussetzer und erkennt die Auslösungen nicht. So zumindest die Auskunft von Uwe111 in einem anderen Thread. Es ist daraus folgernd naheliegend, dass diese temporären Aussetzer und das Versagen des Timermoduls der CCU-Firmware eine gemeinsame Ursachen haben. Der CuXD-Timer berappelt sich wieder, weil er intern wohl mit internen realen (Uhr-)Zeiten arbeitet (darum funktioniert er auch über einen Reboot hinweg). Der zyklische Timer des Zeitmoduls startet sich selbst anscheinend wieder, was natürlich bei einem Aussetzer die dementsprechenden Folgen hat, weil der Selbststart fehlt.

Ich nutze selbst das Zeitmodul intensiv für zeitabhängige Steuerungen. Bisher habe ich bewußt noch keine Aussetzer zu beklagen und freue mich über eine stabile CCU mit langen Uptimes (obwohl ich kein Uptime-Junkie bin). Meine aktuelle wurde mir durch einen Stromausfall im ganzen Wohnort kaputtgemacht. :-( Ich benutze allerdings keine zyklischen Aufrufe. Dafür benutze ich den CuXD-Timer. Allerdings würde ich aufgrund der Aufgabenstellungen keine einzelnen Aussetzer bemerken.

Gruß Xel66
Zuletzt geändert von Xel66 am 21.11.2016, 03:23, insgesamt 2-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

Benutzeravatar
real intruder
Beiträge: 35
Registriert: 18.11.2016, 23:59
Hat sich bedankt: 1 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von real intruder » 21.11.2016, 03:05

charlyhomematic hat geschrieben:Hallo,

ich kenne das auch mit diesem Tageszeitscript, was hier bei uns alle 5 Minuten zur Bestimmung der Rollläden (u.a.) oben/unten abläuft.
Dabei gingen auch sporadisch nachts mal die Rolläden für 5 Minuten rauf und dann wieder runter.
Das klingt jetzt ganz nach meinen Problemen. Das habe ich auf meiner aktuellen Privat-CCU(XML-api & CuxD aktiv)
Rechenfehler im Zeitmodul?
Differenzen.GIF
Rechenfehler im Programm Leistungsauswertung -> Rolladen Folgefehler(Beschattung zum TV schauen-fährt nur Tagsüber solange Sonne im Süden steht).
Homematic Protokoll 3.GIF
Raspberrymatic 3.65.11.20221005

Benutzeravatar
real intruder
Beiträge: 35
Registriert: 18.11.2016, 23:59
Hat sich bedankt: 1 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von real intruder » 21.11.2016, 03:40

Xel66 hat geschrieben:
real intruder hat geschrieben:Das ist für mich ein Programm zur Auswertung ob der TV läuft oder nicht. Sobald sich diese Variable ändert, werden andere Programme aktiv.
Jo, und warum musst Du dann diesen Zustand denn zyklisch überprüfen?
real intruder hat geschrieben:Ich lasse dort jetzt nur ein Zeitscript Programm laufen und ein Programm zur Auswertung ob der TV läuft oder nicht.
...was unter den Gegebenheiten (Umschaltung der Sysvar, die diesen Zustand symbolisiert) überflüssig ist. Der CuXD-Timer spricht eine interne Schnittstelle der ReGa an und diese hat anscheinend ab und zu mal einen Aussetzer und erkennt die Auslösungen nicht.
Nochmal zum Verständniss - es laufen 2 Programme - eines zyklisch nach einer Festen Periode(z.b. 1 Minute) und das andere nach der Rückmeldung(Trigger) des Leistungsmessers.
2 Programme aktiv.GIF
Beim Programm "TV" wird nicht Zyklisch in festen Perioden abgefragt, sondern nur wenn der Leistungssensor einen neuen Entscheidungswert sendet.
Die CuxD-Zusatzsoftware nutze ich eigentlich nur so am Rande, einen Timer hab ich darüber z.b. nicht laufen. Ich nutze Eigentlich nur das WoL-Modul davon...
Ich nehm mal an wir meinen verschiedenes oder einer von uns hat sich verlesen.

Ich lese ja nicht zyklisch aus, sondern wenn ich einen Leistungswert vom Aktor bekomme und die Überwachung dieses Wertes ist doch nicht überflüssig?
Gehe jetzt erstmal ins Bett... vielleicht sieht es morgen anders aus. Hab vermutlich erst am Dienstag wieder Zeit ins Forum zu schauen und geb dann Rückmeldung was meine CCU bzw. CCU´s bis dahin gemacht haben.
Raspberrymatic 3.65.11.20221005

charlyhomematic
Beiträge: 75
Registriert: 24.10.2012, 20:56

Re: CCU 2 vergisst Programme auszuführen

Beitrag von charlyhomematic » 21.11.2016, 20:37

Hallo,
Rechenfehler im Zeitmodul?
Nein,
Oversight im Tageszeitscript:
real c_zeit =
(0.01 * system.Date("%M").ToInteger()) + system.Date("%H").ToInteger();

s. auch Kommentar von Badenpower.
Ich als nicht-Scripter bräuchte jetzt 2 Tage, um das korrekt über eine Variable zu lösen.

Schaumermal,
Charly

Benutzeravatar
real intruder
Beiträge: 35
Registriert: 18.11.2016, 23:59
Hat sich bedankt: 1 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von real intruder » 22.11.2016, 01:52

Das Ergebnis vom Montag
springende Ergebnisse.GIF
Zeitweise wurde kein Ergebnis geliefert und dann hüpft er von Nacht auf Dämmerung und zurück...
Habe jetzt schon andere Posts durchforstet und viele Aussagen gefunden das das Zeitmodul der Homematic viele Probleme verursacht.

Die Frage ist jetzt "Was kann ich stattdessen verwenden ohne Zusatzprogramme?"
Ich lese auch das der Timer von CuxD besser wäre. Wenn ich jetzt CuxD installiere, hab ich ja wieder ein Zusatzprogramm das der Support der Homematic ablehnt... (...aber bevor nix anderes mehr Hilft würde ich auch das machen.)

Bei meiner Geschäfts CCU hab ich jetzt die ODER Verknüpfung zu einem Temperatursensor und löse dort auf Aktualisierung aus als Trigger. Mal sehen ob ich dort die Unterbrechungen in der regelmäßigen Ausführung so weg bekomme.

Hätte mir jemand ein einfaches Script mit 4 Zeiten? Nacht/Morgengrauen(Astro-1)/Tag/Dämmerung(Astro-1).
Alles andere lässt sich über Feste Zeiten realisieren oder mit verzögerter Ausführung.
Mit nur 4 Zeiten wäre es auch denkbar, das man Sicherheiten Einbaut, das die variable nur in eine Richtung geändert werden kann, dann könnte sie auch nicht ungewollt zurückspringen. zusätzlich dann auch noch Zeiten definieren in denen eine Änderung erwartet wird (z.b. keine Prüfung mehr wenn Variable auf Nacht springt bis morgens um 5:00 Uhr)? Vielleicht bekommt man so die Fehler im Zeitmodul glatt gebügelt...
Raspberrymatic 3.65.11.20221005

Antworten

Zurück zu „HomeMatic allgemein“