CCU 2 vergisst Programme auszuführen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

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

Re: CCU 2 vergisst Programme auszuführen

Beitrag von Xel66 » 22.11.2016, 09:00

real intruder hat geschrieben:Bei meiner Geschäfts CCU hab ich jetzt die ODER Verknüpfung zu einem Temperatursensor und löse dort auf Aktualisierung aus als Trigger.
Dieses sollte zumindest stabil und Problemlos funktionieren. Ein Springen Deiner Tageszeiten lässt sich aber auch damit nicht verhindern, denn das Programm wird ja ausgelöst, aber eine falsche Tageszeit "berechnet". Insofern ist das auch ein ungeeigneter Ansatz.
Hätte mir jemand ein einfaches Script mit 4 Zeiten? Nacht/Morgengrauen(Astro-1)/Tag/Dämmerung(Astro-1).
Tag und Nacht lässt sich mit der Astrofunktion problemlos detektieren. Das funktioniert ohne Script. Deine Differenzzeiten für die Dämmerungszeiten sind das eigentliche Problem aber auch ohne Scipt realisierbar. Ich habe das mit einem CUxD-Timer, der eine Laufzeit von 23 Stunden hat, gelöst. Ohne CUxD kannst Du das ebenfalls mit einer Verzögerung von 23 Stunden realisieren. Nur bei einem zwischenzeitlichen Reboot der CCU gehen diese Verzögerungen verloren und nach der erstmaligen Einrichtung sind die Verzögerungen logischerweise nicht vorhanden. Zur Not und Sicherheit löst man dann den Schaltvorgang noch mal auf Astro aus und muss dann eben einmalig eine Verzögerung von einer Stunde hinnehmen.

Bei mir läuft auch das Tageszeitenscript von HomeMatic-Inside- Allerdings leite ich daraus nur eine Variablenumschaltung "hell/dunkel" als Zusatzabfrage zu sonstigen Triggern (nur prüfen) ab und benutze es nicht als direkten Schalttrigger. Darum sind mir eventuelle Fehlfunktionen noch nicht aufgefallen.

Gruß Xel66
Zuletzt geändert von Xel66 am 22.11.2016, 09:05, 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

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von alchy » 22.11.2016, 09:04

Es gilt doch nur herauszubekommen, ob das Zeitmodul der CCU sicher funktioniert.
Und zwar OHNE das jeglich Zusatzsoftware dafür verantwortlich gemacht werden kann.
Und das ist ein völlig wertungsfreier Versuch, was leider immer wieder missverstanden wird.

@real intruder

Nun hast du eine CCU die den Anforderungen entspricht, daher mein Hinweis als möglicher Testkanditat für Badenpower.
Das hat natürlich seine Geschichte.
Die es nicht wissen, können z.B. >> H I E R << oder >> H I E R << nachlesen.


Mach doch auf deiner CCU (die ohne jegliche Zusatzsoftware läuft) bitte:
  • Du legst eine neue Systemvariable an: Name: Sekundentest_CCU Typ: Zahl
    prg_sekundentest_ccu_sysvar.jpg
  • fast optional: du stellst die Systemvariable auf protokolliert.
  • Dann richtest du ein neues Programm ein:
    Wenn Zeitmodul Intervall sekündlich, dann Script:
    prg_sekundentest_ccu.jpg
  • Das Script lautet dann so:

    Code: Alles auswählen

    (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Sekundentest_CCU").State((dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Sekundentest_CCU").Value()+1);
    
  • optional: du legst du vielleicht die Systemvariable noch auf die Startseite
  • fast optional: Wenn du vorher alle anderen Programm deaktivierst, ist auch deren Einfluss ausgeschlossen
  • optional: du führst den Test mehrstufig durch. (legst eine Systemvariable: Sekundentest2_CCU an dazu ein analoges Programm wie oben, was alle 2 Sekunden den Zähler aus dieser Systemvariablen ausliest, ihn um 1 erhöht und wieder speichert usw.
Dann wartest du einfach und schaust ab und an mal auf die CCU , ob der Counter noch hochzählt.
Ist das nach Stunden / Tagen nicht mehr der Fall, wären das >> Fehlerprotokoll <<sinnvoll mit Angabe des Zeitpunkts der letzten Programmausführung / Änderung der jeweiligen Variablen. (Status Bedienung - Programme & Status Bedienung Systemvariable - letzte Ausführung bzw. Änderung)

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

JoB
Beiträge: 13
Registriert: 21.10.2016, 18:38

Re: CCU 2 vergisst Programme auszuführen

Beitrag von JoB » 22.11.2016, 23:35

Was mir in dem Skript aus dem ersten Post auffällt, ist zum einen, dass die ganzen ifs keine scharfen Bedingungen haben (es wird jeweils nur eine Grenze geprüft). Es kommt also auf die Reihenfolge der Erfüllung an, das ist meiner Ansicht nach nicht sauber.

Das nächste ist, dass die Bedingungen auch noch an dynamische Zeiten gebunden sind. Sollte nun zu einem Zeitpunkt mal entweder Sunrise oder Sunset-Time nicht ermittelbar oder falsch gefüllt sein, geht alles in die Hose. Wann ermittelt die CCU2 das? Kann es daran liegen, dass mal falsch geschaltet wird, wenn während der Aktualisierung Sunset/Sunrise auf 0:00 stehen, bzw. nicht ermittelbar sind?

Nebenbei warum wird der Mittag neu definiert? Das ist für mich fix 12:00, egal was die Sonne macht. Zusätzlich können auch hier Fehler auftreten, da die Zeiten als reelle Zahlen verarbeitet werden (Dezimalsystem) die Uhrzeiten es aber nicht sind (60er-System).

Ich würde also folgende Verbesserungen am Skript durchführen (vorher ist das nicht aussagekräftig):
1. Alle Zeitbereiche besitzen zwei feste Grenzen, sobald ein Zeitbereich ermittelt wurde ist das Programm fertig.
2. Zeitbereich nur umschalten wenn Sunrise (z.B. 4:00-10:00) und Sunset (z.B. 15:00-22:00) in vernünftigen Grenzen liegen.

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 » 23.11.2016, 03:56

Hab den Sekundentest durchgeführt, aber er lief auf meiner CCU nicht lange...
Sekundentest.GIF
Ist um 03:02:45 stehengeblieben während das Tageszeitenscript weiterlief.
Sehr weit gekommen ist er mit Zählenbn auch nicht auch nicht. Bei 730 war dann schluss...
Sekundentest2.GIF
Ich habe mal die Logdatei gesichert
homematic-ccu2-2016-11-23.log
(36.27 KiB) 70-mal heruntergeladen
aber einen Fehler Protokolliert sie nicht. Hab sie jetzt mal in der Logikschicht auf alles loggen gestellt.

Hab Programm nochmal gestartet und nach der 1. Sekunde wieder eingefroren bei 03:46:13
homematic-ccu2-2016-11-23-2.log
(316.42 KiB) 77-mal heruntergeladen
Hoffe das gibt mehr Aufschluss.

Gibt es eigentlich eine Möglichkeit die Werte die zur Berechnung genommen werden bei Änderung der Tageszeit ebenfalls in Variablen zu speichern?
Diese könnte ich dann Protokollieren und man könnte damit nachrechnen was zu Tageszeitsprüngen geführt hat...so meine Hoffnung
Raspberrymatic 3.65.11.20221005

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: CCU 2 vergisst Programme auszuführen

Beitrag von alchy » 23.11.2016, 08:09

real intruder hat geschrieben: Hab den Sekundentest durchgeführt, aber er lief auf meiner CCU nicht lange...
Hoffe das gibt mehr Aufschluss.
Wir haben endlich einen Testrun zum Laufen bekommen um der Sache auf die Spur zu kommen.
Eigentlich hatte ich ja mit dir als Kanditat dafür gerechnet.
alchy hat geschrieben: Der Kandidat für einen BadenPower Test - 2nd chance :mrgreen:
Du hast keine Zusatzsoftware auf der CCU und dein Zeitmodul macht Probleme.
Ich bin mir sicher, BadenPower wird sich hier melden.
Alchy



Wenn du bitte mal >> H I E R << vorbeischauen würdest?

Da könntest du "unter Aufsicht", zusammengefasst meine obigen Schnelltest in ein professionellerem Umfeld wiederholen.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „HomeMatic allgemein“