Systemvariable bei CCU Neustart falscher Status

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Mobileme
Beiträge: 319
Registriert: 23.02.2015, 06:53

Systemvariable bei CCU Neustart falscher Status

Beitrag von Mobileme » 16.10.2019, 20:48

Hallo,
Ich habe eine System Variable Heizung Sommerbetrieb ja/nein.
Leider wird diese Variable bei einem Neustart immer auf wahr gesetzt, obwohl der Status vor dem Neustart auf false stand. Kann man irgendwie einen default Wert definierten? Oder gibt es eine Möglichkeit, diese Variable bei einem Neustart auf den Wert zu setzen den sie vorher hatte?

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

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von Xel66 » 16.10.2019, 21:02

Wenn Du nicht die originale Anwesenheits-Variable dafür umbenannt hast, dann gibt es ein Programm, welches Dir diese Systemvariable abhängig von den beim Systemstart vorgefundenen Bedingungen umschalten. Dieses Programm musst Du entsprechend anpassen (gut) oder den Anwesenheitsvariablenworkaround (schlechtere Lösung) einbauen. Manche bauen das auch unnötigerweise in alle ihre Programme ein. Naja, jeder wie er will.

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

Mobileme
Beiträge: 319
Registriert: 23.02.2015, 06:53

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von Mobileme » 16.10.2019, 21:15

Nein ich habe eine neue Variable erstellt und keine Anwesenheitsvariable genutzt.
Wo finde ich denn ein solches Programm?

debianatoe
Beiträge: 475
Registriert: 05.12.2016, 19:04
Hat sich bedankt: 31 Mal
Danksagung erhalten: 4 Mal

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von debianatoe » 16.10.2019, 21:52

Unter Einstellungen --> Systemvariable kann man in der Spalte ganz rechts, wenn man auf den Button "Programme" klickt, die Programme auflisten, die die Variable benutzen.
Viele Grüße,
debianatoe

Benutzeravatar
robbi77
Beiträge: 13864
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 182 Mal
Danksagung erhalten: 739 Mal

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von robbi77 » 16.10.2019, 22:47

Mobileme hat geschrieben:
16.10.2019, 21:15
Wo finde ich denn ein solches Programm?
:lol: du hast ein Programm auf deiner ccu wo diese Variable entsprechend gesetzt wird. Da beim Systemstart die Programme abgearbeitet werden, werden in jenem Programm wohl die Bedingungen gerade zu dem Zeitpunkt genau passen und die Variable dementsprechend „umgestellt“.
Zuletzt geändert von robbi77 am 17.10.2019, 08:06, insgesamt 1-mal geändert.
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

Mobileme
Beiträge: 319
Registriert: 23.02.2015, 06:53

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von Mobileme » 17.10.2019, 05:49

Ich schalte diese Variable eigentlich immer nur manuell um. Ich setze diese Variable in keinem Programm. Gibt es ein Programm welches bei reboot ausgeführt wird?

ABE2000
Beiträge: 290
Registriert: 06.02.2019, 00:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 4 Mal
Danksagung erhalten: 21 Mal

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von ABE2000 » 17.10.2019, 07:50

Mobileme hat geschrieben:
17.10.2019, 05:49
Ich schalte diese Variable eigentlich immer nur manuell um. Ich setze diese Variable in keinem Programm. Gibt es ein Programm welches bei reboot ausgeführt wird?
Es werden ausnahmslos ALLE Programme bei einem Neustart abgearbeitet!

Wie wäre es mit einem Screenshot von dem Programm, mit dem du die Variable änderst?
Dabei gibt es aber auch die Möglichkeit, eine Variable für die Betriebsbereitschaft zu definieren, welche das Ausführung von Programmen grundsätzlich unterbindet, solange die Zentrale nicht bereit ist!

MfG René
Tinkerboard S mit HM-MOD-RPI-PCB (vorher Raspberry Pi3+) RaspberryMatic
HomeMatic Gateway
HomeMatic CCU2 Gateway

80 angelernte wireless Geräte
287 Kanäle
137 Programme

--------------------------------------------
264 Kanäle in 78 Geräten
65 CUxD-Kanäle in 5 CUxD-Geräten
--------------------------------------------

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

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von Xel66 » 17.10.2019, 07:51

Nein es gibt "kein Programm, welches bei Systemstart gestartet wird". Systemvariablen behalten bei Ssstemstart ihren vorherigen abgespeicherten Zustand bei. Hierzu gibt es nur wenige Ausnahmen, die allesamt auf Anwenderfehler zurückzuführen sind (kein Abmelden von der WebUI, Reboot durch Steckerziehen etc.).

Beim Sytemstart werden die Bedingungen der Programme geprüft und wen eine Bedingung ein WAHR ergibt, das dazugehörige DANN ausgeführt (oder ggf. das vorhandene SONST). Beispiel: Du hast ein Programm angelegt, in den nachts eine Lampe eingeschaltet werden soll, dann wird sie das auch bei einem Reboot nach Sonnenuntergang. Tagsüber bliebe sie aus. An sich eine nützliche Funktion und vom Hersteller so vorgesehen.

Wenn Deine Systemvariable ihren Zustand bei Reboot wechselt, dann steckt dahinter ein Anwenderfehler, es handelt sich um die originale Anwesenheitsvariable mit dieser speziellen Eigenschaft oder es existiert ein Programm, welches die Variable umschaltet. Wie Du dieses findest, wurde Dir ja schon mitgeteilt. Die originale Anwesenheitsvariable ist die einzige, die ihren Zustand auf WAHR bei Systemstart wechselt, was bei o.a. Workaround gezielt genutzt 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

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

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von alchy » 17.10.2019, 10:41

Code: Alles auswählen

object oSV = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Heizung Sommerbetrieb");
if(oSV){WriteLine("Systemvariable hat die ISE_ID: "#oSV.ID() #" \r\tmit den Wert: " #oSV.Value() #" seit "#oSV.Timestamp() #" ("#oSV.LastTimestamp()#")"#"\r\tsie ist in "#oSV.DPUsageCount() #" Programm(en) ");
}else{WriteLine("Systemvariable nicht vorhanden");}
Einfach mal zur Sicherheit ausführen und Ausgabe posten.
(Wobei Heizung Sommerbetrieb der Name der Systemvariablen sein soll.)

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.

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

Re: Systemvariable bei CCU Neustart falscher Status

Beitrag von Xel66 » 17.10.2019, 11:44

Hi Alchy, danke für Deine Beteiligung. Ich hatte ein ähnliches Script von Dir schon mal gesehen und war auf der Suche danach, was sich am Mobiltelefon immer etwas schwierig gestaltet. :-)

Du Deinem Script habe ich mal noch eine Frage. Du verwendest "DPUsageCount()" um die Verwendung der Systemvariable in Programmen zu zählen. Gibt es sowas auch, was zwischen Verwendung als Trigger und Verwendung als Ausgabe in einem DANN unterscheidet? Ich habe einige Systemvariablen, die von verschiedenen Programmen gesetzt und auch verwendet werden. Die Verwendungsliste im WebUI ist da immer etwas unübersichtlich, weil sie auch keine diesbezügliche Unterscheidung zulässt. Mit einer solchen Filtermöglichkeit könnte man sich dann die Verwendungen auflisten lassen.

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

Antworten

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