Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Moderator: Co-Administratoren
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Hi,
ich konnte das Problem mit debmatic nachvollziehen, das ist mal wieder so ein Beispiel dafür, weshalb ich den Code von eQ-3 für unwartbar betrachte. Wenn man einen AlarmDP anlegt, bevor die Rega die 50 Kanal Geräte angelegt hat, dann wird ein Teil von /bin/hm_autoconf nicht mehr ausgeführt, sondern irgendein Code innerhalb der Rega. Und genau so einen AlarmDP lege ich für das Monitoring von der Verbindung zu HB-RF-ETH an und das scheinbar etwas zu früh. Ich schau mir mal an, wie ich das fixen kann.
Viele Grüße
Alex
ich konnte das Problem mit debmatic nachvollziehen, das ist mal wieder so ein Beispiel dafür, weshalb ich den Code von eQ-3 für unwartbar betrachte. Wenn man einen AlarmDP anlegt, bevor die Rega die 50 Kanal Geräte angelegt hat, dann wird ein Teil von /bin/hm_autoconf nicht mehr ausgeführt, sondern irgendein Code innerhalb der Rega. Und genau so einen AlarmDP lege ich für das Monitoring von der Verbindung zu HB-RF-ETH an und das scheinbar etwas zu früh. Ich schau mir mal an, wie ich das fixen kann.
Viele Grüße
Alex
-
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Das erklärt nämlich, warum Gateway-SysSrvDP die ID 41 hat, die eigentlich die ${sysVarServiceMessages} haben sollte
-
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Das DutyCycle Zeugs haut da glaub ich auch noch mit rein!?deimos hat geschrieben: ↑07.12.2020, 13:26Wenn man einen AlarmDP anlegt, bevor die Rega die 50 Kanal Geräte angelegt hat, dann wird ein Teil von /bin/hm_autoconf nicht mehr ausgeführt, sondern irgendein Code innerhalb der Rega. Und genau so einen AlarmDP lege ich für das Monitoring von der Verbindung zu HB-RF-ETH an und das scheinbar etwas zu früh. Ich schau mir mal an, wie ich das fixen kann.
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Hi,
In der /bin/hm_autoconf ist folgendes if drin:
Und wenn das aus irgendwelchen Gründen schon vorher eine Systemvariable angelegt wurde, dann ist es halt Essig.
Viele Grüße
Alex
Nich bei debmatic, wird aber das gleiche Grundproblem sein.jp112sdl hat geschrieben: ↑07.12.2020, 13:30Das DutyCycle Zeugs haut da glaub ich auch noch mit rein!?deimos hat geschrieben: ↑07.12.2020, 13:26Wenn man einen AlarmDP anlegt, bevor die Rega die 50 Kanal Geräte angelegt hat, dann wird ein Teil von /bin/hm_autoconf nicht mehr ausgeführt, sondern irgendein Code innerhalb der Rega. Und genau so einen AlarmDP lege ich für das Monitoring von der Verbindung zu HB-RF-ETH an und das scheinbar etwas zu früh. Ich schau mir mal an, wie ich das fixen kann.
In der /bin/hm_autoconf ist folgendes if drin:
Code: Alles auswählen
if { [llength $result(sysvars)] == 0 } {
puts "No system variables defined, creating default system variables"
create_sysvars
}
Viele Grüße
Alex
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Also eine Variable hatte ich vorher nicht selber angelegt. Die einzige vorhandene Variable ist diese: "HB-RF-ETH Connection".
Würde es denn Sinn machen ein BackUp zu erstellen, debmatic neu (mit HB-RF-ETH) aufsetzen und dann das BackUp zurückspielen?
Dann müssten die Systemvariablen wieder erscheinen, oder?
Würde es denn Sinn machen ein BackUp zu erstellen, debmatic neu (mit HB-RF-ETH) aufsetzen und dann das BackUp zurückspielen?
Dann müssten die Systemvariablen wieder erscheinen, oder?
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Hi,
es sollte funktionieren, dass du den entsprechenden Code aus der hm_autoconf einmalig manuell ausführst:
Viele Grüße
Alex
es sollte funktionieren, dass du den entsprechenden Code aus der hm_autoconf einmalig manuell ausführst:
Code: Alles auswählen
object sv=dom.CreateObject(OT_ALARMDP, "${sysVarAlarmZone1}");
dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID());
sv.DPInfo("${sysVarAlarmZone1Msg}");
sv.ValueUnit("");
sv.ValueType( ivtBinary );
sv.ValueSubType( istAlarm );
sv.ValueName1("${sysVarAlarmZone1Triggered}");
sv.ValueName0("${sysVarAlarmZone1NotTriggered}");
sv.AlType(atSystem);
sv.AlArm(true);
sv=dom.GetObject(ID_PRESENT);
dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID());
sv.Name("${sysVarPresence}");
sv.DPInfo("${sysVarPresenceMsg}");
sv.ValueUnit("");
sv.ValueName1("${sysVarPresencePresent}");
sv.ValueName0("${sysVarPresenceNotPresent}");
sv=dom.GetObject(40);
dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID());
sv.Name("${sysVarAlarmMessages}");
sv.DPInfo("${sysVarAlarmMessagesCount}");
sv.Internal(0);
sv=dom.GetObject(41);
dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID());
sv.Name("${sysVarServiceMessages}");
sv.DPInfo("${sysVarServiceMessagesCount}");
sv.Internal(0);
Alex
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Jupp, aber Alarmzone 1 kann man dabei aber auch weglassen.
Und man kann dann gleich die Eingabe von Klarnamen benutzen, sonst stolpert man da auch noch später drüber.
dieses Object wird dann natürlich überschrieben.
Daher ja auch die Probleme innerhalb RaspberryMatic mit den Standard Systemvariablen 40/41/950 so wie du ja folgerichtig geschrieben hast:
denn das verhindert nun mal das Anlegen der Standardsystemvariablen wenn vorher ein "Schnellschuss" erfolgreich war.
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.
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Hi,
Ich kann nur nicht abschließend beurteilen, ob in der Rega nach dem Aufruf von hm_startup noch irgendwas passiert, was dagegen spricht. Ich hoffe Jens antwortrt mir bald auf die diesbezügliche Frage beim RasberryMatic Issue auf Github.
Viele Grüße
Alex
Hi, das ist einfach exakt der Code aus der CCU ohne jegliche Anpassung.
Ja, so wie es normal auch gemacht worden wäre, die beiden Objekte werden von der Rega beim initialen Start mit diesen IDs angelegt, das ist fest einkompiliert. Kann man mit dem Befehl strings teilweise nachvollziehen.
Ja und das ist meiner Meinung nach ein Bug. Das Anlegen der SVs, der Räume und der Gewerke sollte imho beim Start passieren (/bin/hm_startup) und nicht beim Anlegen des ersten Geräts über die hm_autoconf.
Ich kann nur nicht abschließend beurteilen, ob in der Rega nach dem Aufruf von hm_startup noch irgendwas passiert, was dagegen spricht. Ich hoffe Jens antwortrt mir bald auf die diesbezügliche Frage beim RasberryMatic Issue auf Github.
Viele Grüße
Alex
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Hallo Alex,deimos hat geschrieben: ↑07.12.2020, 15:25Hi,
es sollte funktionieren, dass du den entsprechenden Code aus der hm_autoconf einmalig manuell ausführst:
Viele GrüßeCode: Alles auswählen
object sv=dom.CreateObject(OT_ALARMDP, "${sysVarAlarmZone1}"); dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID()); sv.DPInfo("${sysVarAlarmZone1Msg}"); sv.ValueUnit(""); sv.ValueType( ivtBinary ); sv.ValueSubType( istAlarm ); sv.ValueName1("${sysVarAlarmZone1Triggered}"); sv.ValueName0("${sysVarAlarmZone1NotTriggered}"); sv.AlType(atSystem); sv.AlArm(true); sv=dom.GetObject(ID_PRESENT); dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID()); sv.Name("${sysVarPresence}"); sv.DPInfo("${sysVarPresenceMsg}"); sv.ValueUnit(""); sv.ValueName1("${sysVarPresencePresent}"); sv.ValueName0("${sysVarPresenceNotPresent}"); sv=dom.GetObject(40); dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID()); sv.Name("${sysVarAlarmMessages}"); sv.DPInfo("${sysVarAlarmMessagesCount}"); sv.Internal(0); sv=dom.GetObject(41); dom.GetObject(ID_SYSTEM_VARIABLES).Add(sv.ID()); sv.Name("${sysVarServiceMessages}"); sv.DPInfo("${sysVarServiceMessagesCount}"); sv.Internal(0);
Alex
vielen Dank. Das hat funktioniert. Ich habe nur lange gebraucht, um zu verstehen, dass ich das als Skript ausführen muss.
-
- Beiträge: 38
- Registriert: 23.04.2020, 22:42
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Flintbek
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 1 Mal
Re: Bei Systemvariablen mit Zeichenkette wird keine Bedingung mehr angezeigt
Ich habe das jetzt so ausgeführt und habe eine Variable "alarmzone 1". Soll ich die jetzt einfach löschen?
Was meinst Du mit Klarnamen? Was soll ich ändern, an den bereits angelegten Variablen oder ist das zu spät?
Raspberrymatic auf Pi4 mit 40 Geräten, 15 Programmen und 33 Variablen.