Systemvariablen …

Die Systemvariable „Anwesenheit“
Im Auslieferungszustand existieren die zwei Systemvariablen „Alarmzone 1“ und „Anwesenheit“. Der Systemvariablen „Anwesenheit“ kommt im Folgenden eine besondere Bedeutung zu und ist die einzige Systemvariable die nicht gelöscht werden kann.
Nach einem Neustart der CCU2 werden die vorherigen Werte der Systemvariablen wieder hergestellt. Eine Ausnahme bildet die Systemvariable „Anwesenheit“, sie steht nach einen CCU2-Start/-Reboot immer auf „wahr“. Deshalb verwenden wir diese Systemvariable für einen besonderen Zweck, den Systemzustand „rebooted“ oder „normal“ zu erkennen.

„Anwesenheit“ in „CCU_Status“ umbenennen
Wir benennen die Systemvariable „Anwesenheit“ in „CCU_Status“ um. Im Feld „Beschreibung“ weisen wir auf die ehemalige Systemvariable hin und ändern den Wert wahr auf „Neustart“ und den Wert falsch auf „Normal“.

Systemvariable CCU_Status

Das Programm „CCU-Status“ erstellen
Das Programm „überwacht“ die Änderung der Variable „CCU-Status“ nach dem CCU2-Start/-Reboot und setzt dann den Wert der Variablen mit einer Verzögerung von 5 Minute auf den Wert „Normal“.

Update 16.03.16: Ich habe die Verzögerung auf 5 Minuten erhöht, damit das Programm „Firewall an“ aus meinem Artikel  „CCU2 absichern“ notfalls abgebrochen werden kann.

Programm CCU-Status

Programmstart nach CCU2-Start/-Reboot steuern
Alle Programme werden nach einem CCU2-Start/-Reboot gestartet bzw. ausgeführt. Alle Programme ohne eine „Wenn-Bedingungen“ werden sofort ausgeführt. Um dies zu verhindern, erhält jedes Programm zusätzlich folgende „Wenn-Bedingung“:

ccu-status-wenn-dann

Autor: Erhard Simdorn

Am 1. September 2014 habe ich mir meine erste CCU2 gekauft und war von den Möglichkeiten der Hausautomation sofort begeistert. Am 22. November 2014 folgte dann die zweite CCU2 für einen weiteren Standort und bis heute sind es schon acht CCU2 für die ich der "Auslöser" war.

20 Gedanken zu „Systemvariablen …“

  1. bedauerlicherweise aktualisiert das system die systemvariable nicht im laufenden betrieb auch wenn die bedingung eintritt. Der systemzustand wird nur einmalig beim absenden des Programms aktualisiert und bei einem Neustart der ccu2. woran liegt das.

    1. Der Systemzustand kann entweder nur „rebootet“ oder „normal“ sein. Warum sollte sich die Systemvariable „CCU-Status“ im laufenden Betrieb von „normal“ in „rebootet“ ändern?
      Wichtig ist, dass du die ehemalige Systemvariable „Anwesenheit“ aus dem Auslieferungszustand deiner CCU2 dazu umbenennst. Denn dies ist die einzigste Systemvariable, die nach einem CCU2-Neustart immer auf „wahr“ (also rebootet) steht. Alle anderen Systemvariablen haben den Zustand, den sie vor dem CCU2-Neustart hatten.

  2. Gute Idee, bin ich nur zufällig drauf gestoßen 🙂
    Wäre es aber nicht verständlicher die Variable auf Neustart um zu benennen und True=Ja
    und False=Nein zu setzen?

  3. tolle Idee, hab mich immer über die nutzlose Variable „Anwesenheit“ gewundert.
    Jetzt kann man sie wirklich mal brauchen.

    1. Hallo Thomas,

      manchmal sind es die kleinen Dinge, die einen weiter bringen.

      Einen guten Rutsch und viele spannende HomeMatic-Erfahrungen im neuen Jahr wünscht dir

      Erhard

  4. Hallo Ehrhard,

    ich bastele gerade auch mit einer Systemvariablen rum und bekomme es nicht hin und zwar

    Habe eine erstellt als Logig Wert und zwar zu hause. jetzt will ich diese zu Hause mit den 2 Tasten des e-Papers antweder auf wahr oder falsch setzendas geht ums verrecken nicht.
    Geräteauswahl e-Paper taster 1 kurz oder lan dann variable auf wahr
    2. Programm wenn taste 2 dann variable zu Hause auf unwahr ich dachte ich könnte so die Variabl toggeln und dann in andren Programmen abfragen bzw entsprechende Meldungen auf e-Paper senden

    Hast du mir eine Tipp was ich falsch mache oder wie es richtig sein könnte

    Vielen Dank Gruß
    Peter

  5. Hallo Erhard,

    erstmal danke für Deine ANtwort und Hilfe, so hatte ich es versucht hat aber bei mir nicht geklappt. Habe darausfin erstmal den Status der Variabele zu Hause abgefagt mit nur prüfen und dann wenn Taster 1 gedrückt den Status umgesetzt. SOweit so gut ich kann jetzt mit menem E-Paper die Variabele toggeln.
    Aber nun kommt das nächste Problem ich möchte jetzt in ABhängigkeit der Variabelen eine Meldung auf e-Paper senden, dazu habe in einem extra Program den Status der Variablenen abgefragt wenn dies z. B. wahr ist sende ich auf dem Kanal 3 eine Textmeldung an e-paper soweit die Theorie in der Praxis wird nichts gesendet hast Du da auch eine Ideeß Kann die gerne mal per Mail einen Screenshot von meinem Program senden, hast Du ein E-Paper?

    Viele Grüße

    Peter

  6. Hallo Erhard,

    habe nochmals kurz Deinen Programmvorschlag eingebaut aber der läuft nicht, warum auch immer, bekomme kommunikationsfehler die ich nicht zurücksetzen kann??
    Gruß Peter

  7. Hallo Erhard,
    habe die Variable umbenannt und das Programm genau so erstellt wie in deiner Anweisung.
    Leider bleibt die Variable nach einem Neustart/Netzausfall auf rebooted stehen und wechselt nicht auf normal.
    Ich habe die aktuelle Firmware 2.29.23 installiert.
    Hast du eine Idee an was es liegen könnte?
    Gruß Florian

    1. Hallo Florian,

      ich habe soeben in einer meiner CCU2-Installation einen ähnlichen Fehler entdeckt. Bitte ändere die Bedingung im Programm „CCU-Status“ auf „nur prüfen“ dann sollte es nach einem erneuten CCU2-Reboot klappen. Falls es dann immer noch nicht klappen, nenne die Systemvariable bitte auf „CCU_Status“ um. Eigentlich unterscheidet die CCU2 zwischen Systemvariablen und Programmen und somit dürfen Systemvariablen und Programme gleiche Namen haben, allerdings kann das manchmal zu Fehlern führen.

      Ich habe meinen Beitrag entsprechend aktualisiert.

      Gruß Erhard

  8. Hallo Erhard,

    Das mit der Variable von rebootet und der Wechsel nach ein paar Minuten per Programm klappt, ABER….

    Egal, ob die Variable verzögert um 1 Minute, oder um 5 Minuten setze,
    In dem Moment, wo von „rebootet“ auf „normal“ gesetzt wird….

    Genau dann werden meine Programme gestartet ???

    Innerhalb der Programme habe ich immer den CCU Status auf „normal“ nur prüfen überprüft.

    Irgendeine Idee, woran das liegen könnte ?

    Gruß Peter

    1. Hallo Peter,

      war die letzten Wochen unterwegs und konnte deshalb nicht reagieren. Hast du das Problem inzwischen gelöst bekommen? Die Abfrage der Variable „CCU_Status“ muss wirklich auf „nur prüfen“ stehen! Dann sollte es klappen.

      Gruß Erhard

  9. Hallo Erhard,

    kann man im Nachgang noch rausfinden welches diese Variable war? ich habe eine Anwesenheit als Warteliste mal gemacht mit kommen gehen an und abwesend.

    jetzt würde ich dies eventuell auch so wie hier beschrieben umbauen

  10. Hi,

    Danke!
    einfach Lösung, schnell umgesetzt und schon laufen keine Programme nach einem Reboot der CCU mehr einfach so an, auch weil noch nicht alle Sensoren / Geräte Daten geliefert hatten…

    VG
    Christian

  11. Herzlichen dank habe die ccu3 erst einen deine Seite hat mir schon viel geholfen,
    grosses Danke für die Mühe

Kommentare sind geschlossen.