Programme beim Start der CCU nicht ausführen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
Herbert_Testmann
Beiträge: 11095
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 3 Mal

Re: Programme beim Start der CCU nicht ausführen

Beitrag von Herbert_Testmann » 13.09.2012, 20:55

Hallo

Das, was Du möchtest ist rel. aufwendig. Einfacher wäre es, vor Elekroarbeiten an die heutige Erfahrung zu denken :)
Auch eine USV für die CCU könnte helfen.

Eigentlich sollten beim Start der CCU keine Programme einfach so automatisch starten.
Programme ohne Wenn Bedingung werden allerdings beim Start ausgeführt.

Ein bekanntes Problem ist die falsche Systemzeit beim Start. Wenn die CCU die Zeit über NTP stellt und beim Start nicht sofort eine Verbindung zum I-net hat, dann ist das Datum und die Uhrzeit falsch. Dann kann es passiren, das Programme ausgeführt werden, die Uhrzeitabhängig (Tag / Nacht) sind.

Das die Fenstersensoren nach einem Neustart erst einmal geschlossen anzeigen, ist auch bekannt. Erst beim nächsten Wechsel des Status ist der Wert wieder der richtige, falls das Fenster beim Neustart offen war.

Zur Lösung muessten alle Programme so umgestellt werden, dass der Zustand von Sensoren bei Änderung in eine Sysemvariable geschrieben wird. Die Programme muessten dann nicht den Zustand des Sensors prüfen, sondern in der Systemvariablen. Bei normalem Neustart bleiben die Systemvariablen erhalten. Ich weiss nicht, wie das bei Spannungsausfall ist? Dann muesste man noch einen Schritt weiter gehen und alle Zustände auf einem USB Stick speichern.

Die entscheidende Frage, die Du Dir selbst beantworten musst ist Aufwand <-> Nutzen.
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Xantrix
Beiträge: 103
Registriert: 14.08.2012, 10:20

Re: Programme beim Start der CCU nicht ausführen

Beitrag von Xantrix » 13.09.2012, 21:10

Man kann auf das Zentralennetzteil = OK prüfen und somit ein INIT-Programm schreiben, welches Systemvariablen setzt, die Schlimmes verhüten.

Frank

Marv21
Beiträge: 126
Registriert: 07.11.2011, 23:07
Hat sich bedankt: 4 Mal

Re: Programme beim Start der CCU nicht ausführen

Beitrag von Marv21 » 13.09.2012, 22:47

Hallo. Wenn ich ein Programm manuell starte dann wird die wenn Anweisung übersprungen. Bei einem CCU Start wird also die wenn Anweisung überprüft ? .

davidmuc
Beiträge: 104
Registriert: 15.08.2010, 00:27

Re: Programme beim Start der CCU nicht ausführen

Beitrag von davidmuc » 13.09.2012, 22:48

Zu Deiner ersten Frage: Hier steht, wie's geht. Klappt sehr zuverlässig: http://www.homematic-inside.de/archive/ ... tctrl.html

Marv21
Beiträge: 126
Registriert: 07.11.2011, 23:07
Hat sich bedankt: 4 Mal

Re: Programme beim Start der CCU nicht ausführen

Beitrag von Marv21 » 13.09.2012, 23:34

Cool, danke.

Benutzeravatar
JPS
Beiträge: 1041
Registriert: 07.08.2010, 22:51
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Programme beim Start der CCU nicht ausführen

Beitrag von JPS » 13.09.2012, 23:45

davidmuc hat geschrieben:Zu Deiner ersten Frage: Hier steht, wie's geht. Klappt sehr zuverlässig: http://www.homematic-inside.de/archive/ ... tctrl.html
Stimmt grundsätzlich, bei einem Absturz der CCU hat Start-Ctrl bei mir jedoch selten zuverlässig funktioniert und zudem hatte ich es in Verdacht, selbst einige Abstürze verursacht zu haben. Daher mache ich es zwischenzeitlich manuell:

- System Variable anlegen "CCU Boot abgeschlossen" (Boolean)
- alle relevanten Programme um die nur-prüfen-Abfrage "CCU Boot abgeschlossen" ergänzen
- ein Programm (ohne Bedingung) erstellen, das die SysVar "CCU Boot abgeschlossen" nach 10 Minuten auf "true" setzt (sorgt dafür, dass die Programme, die beim Hochfahren der CCU getriggert werden nichts unerwünschtes anrichten, erst nach 10 Minuten laufen die Programme normal, die Zeit ist ggf. anzupassen).
- vor einem geplanten Reboot die SysVar "CCU Boot abgeschlossen" manuell auf "false" setzen, z.B. mit TrayMatic
- bei nicht geplanten Reboots funktioniert es auch, wenn man die SysVar "CCU Boot abgeschlossen" mit TrayMatic unmittelbar nachdem sie wieder angezeigt wird manuell auf "false" setzt.

Vollautomatisch wird es nach meiner Erfahrung schwierig, da wird wohl eher das von Herbert gezeichnete Szenario greifen.
SMART WOHNEN in Stern's Haus | Meine Lösungen, um das Leben zuhause "smarter" zu machen.
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung

Marv21
Beiträge: 126
Registriert: 07.11.2011, 23:07
Hat sich bedankt: 4 Mal

Re: Programme beim Start der CCU nicht ausführen

Beitrag von Marv21 » 14.09.2012, 00:01

Hmm, ich probier beides mal aus. Dqas von Herbert ist wirklich zu kompliziert ;)

Kann ich die Fensterkontake nicht beim Neustart abfragen?
Oder wissen diese selber nicht in welchen Zustand sie sich befinden?

Vielleicht hilft dieser code weiter (Ist von hier http://homematic-forum.de/forum/viewtop ... en&start=8 )

Code: Alles auswählen

     string itemID;
        string address;
        object aldp_obj;
        string channel;
        var x;

        foreach(itemID, dom.GetObject(ID_DEVICES).EnumUsedIDs()) {
          address = dom.GetObject(itemID).Address();
          aldp_obj = dom.GetObject("AL-" # address # ":0.UNREACH");
          if (aldp_obj) {
            if (aldp_obj.Value()) {
              foreach (channel, dom.GetObject(itemID).Channels().EnumUsedIDs()) {
                x = dom.GetObject(channel).State();
              }
            }
          }
        }

Benutzeravatar
JPS
Beiträge: 1041
Registriert: 07.08.2010, 22:51
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Programme beim Start der CCU nicht ausführen

Beitrag von JPS » 14.09.2012, 00:10

Marv21 hat geschrieben:Kann ich die Fensterkontake nicht beim Neustart abfragen?
Oder wissen diese selber nicht in welchen Zustand sie sich befinden?
Klar kannst du alternativ oder ergänzend in deinen Programmen die TFK abfragen aber du musst immer zwischen dem Zustand "am Hochfahren" und dem Zustand "Hochgefahren" unterscheiden sonst geht entweder das Eine oder das Andere nicht und dazu brauchst du die beschriebene SysVar, die du entweder manuell oder eben über Start-Control beeinflusst, probiere es aus, was bei dir besser funktioniert.
SMART WOHNEN in Stern's Haus | Meine Lösungen, um das Leben zuhause "smarter" zu machen.
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung

DrTob
Beiträge: 3415
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 2 Mal

Re: Programme beim Start der CCU nicht ausführen

Beitrag von DrTob » 14.09.2012, 01:19

Marv21 hat geschrieben: Kann ich die Fensterkontake nicht beim Neustart abfragen?
Oder wissen diese selber nicht in welchen Zustand sie sich befinden?
Nein, kann man nicht. Die TFKs sind, um Strom zu sparen, nicht immer auf Empfang und können so nicht aktiv von Seiten der CCU abgefragt werden. Sie senden ihren Status lediglich bei einer Änderung.

Tobias78
Beiträge: 1463
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 1 Mal

Re: Programme beim Start der CCU nicht ausführen

Beitrag von Tobias78 » 14.09.2012, 06:18

Das Start_Ctrl Skript läuft bei mir im Hintergrund seit vielen Monaten absolut zuverlässig und fehlerfrei. Instabilität konnte ich nicht feststellen.
Vorher hatte ich es auch per SysVar Variante versucht, das war leider nicht zielführend (Reboots sind ja meist nur fällig, wenn die CCU bereits nicht mehr richtig funktioniert / nicht erreichbar ist...)
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

Antworten

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