Dann beschreib mir doch nochmal in einer kurzen Zusammenfassung in einer PN was andere und du rausgefunden haben und dann versuche ich das direkt in der ReGa einzubauen bzw. genauso wie für die anderen Konsistenzdinge eine Prüfung/Reparatur beim Start einzubauen...
GeisterChannelbezüge in Systemvariablen
Moderator: Co-Administratoren
- jmaus
- Beiträge: 9862
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1880 Mal
- Kontaktdaten:
Re: GeisterChannelbezüge in Systemvariablen
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- koppenho
- Beiträge: 227
- Registriert: 27.12.2013, 09:12
- Wohnort: Bad Neustadt, Deutschland
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 2 Mal
Re: GeisterChannelbezüge in Systemvariablen
Die Beschreibung habe ich nicht verstanden.
Für einen Programmkonsistenz-Check kann man nach ungültigen Referenzen suchen, welche für den Fall "User entfernt bei SV die Kanalbindung" offenbar erkennbar sind.
Ich vermute die von Dir angesprochene Problematik ist eine fehlende Möglichkeit zur automatischen Korrektur?
Übrigens...
Es gibt noch einen zweiten Fall: "User ändert bei SV die Kanalbindung von einem Gerät auf ein anderes."
Dabei kommt die WebUI ebenfalls aus dem Tritt und zeigt auch kaputte Programme.
Kannst Du dazu etwas sagen?
Ist das nur ein Spezialfall von "User entfernt bei SV die Kanalbindung" gefolgt von "User erstellt neue Kanalbindung (für dieselbe SV)"?
Ansonsten freue ich mich, dass jemand die von mir geschilderten Probleme kompetent analysiert. Danke.
--
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: GeisterChannelbezüge in Systemvariablen
So, ich habe das Thema von koppenho nochmal aufgenommen und da mit dem SDV ein bisschen unter die Objectstrukturen geschaut.
Das ganze ist ein BUG in der WEB-UI.
Auf meinem Spielesystem (aktuelle Raspberrymatik)
ein programm angelegt: standart halt:
Interessant da ist dann die erste SingleCondition, in der die Sysvar verwendet wird.
im SDV sieht das auch alles richtig aus:
Nun kommen die von koppenho gewünschten Änderungen. In der WEBUI wird die kanalzuweisung in meinem Tesatsystem von dem Tür-Fensterkontakt auf einen Präsenzmelder geändert.
in der WEBUI erscheint nun ein FALSCHES Programm
Das programm steht so nicht in der regadom, da ist immer noch der Verweis auf die Systemvariable
Blöd jetzt, das was anderes angezeigt wird, als wie in der rega steht und wie die rega auch reagiert. Die rega reagiert nämlich nicht auf eine änderung des Fensterkontaktes auf verrieglt wie es in der Web-UI steht, sondern IMMER NOCH auf eine änderung der Systemvariablen (Diejenigen die den SDV haben oder die HM Internals von Badenpower können das gerne mal durchspielen)
Dies ist mit Sicherheit für einen Anfänger nicht mehr zu finden als Fehler.
liefern wir nun auch direkt die ursache mit.
Die Systemvariable hat nun korrekterweise den Channelbezug:
dort verweist channel ordnungsgemäß und richtig auf den präsenzmelder (channel ID 7937)
blöd ist, das in dem SingleConditionObject immer noch der kanalbezug ConditionChannel auf die ID 1465 (DI:ATELIER_TUER , den Fensterkontakt) verweist. Somit stellt die WEB Ui auch nur die Objecte in die Auswahl, die in diesaem Channel im idarray DPs eingehängt sind. schade, das ist nun mal nicht die systemvariable, also stellt die WebUI den ersten datenpunbkt des ID Arrays dar.
----------------------------------------------------
Das Programm wird wieder richtig, sobald ich manuell mittels des SDV in der SingleCondition den Conditionchannel auf die nun korrekte ID 7937 setze.
et voila, das WebUI programm passt nu wieder.
Die Korrekturmöglichkeit kommt im nächsten SDV Update, da dies aber unter freepascal läuft isses auch nur im SDV. Die Linux Variante des SDV dauert noch etwas, mein Heizungsgateway hat nun eine höhere Priorität
Black
Edit
ab der version 3.08.07 kann der SDv diese programminkonsistenzen beseitigen
viewtopic.php?f=31&t=47049&p=512173#p512173
Das ganze ist ein BUG in der WEB-UI.
Auf meinem Spielesystem (aktuelle Raspberrymatik)
ein programm angelegt: standart halt:
Interessant da ist dann die erste SingleCondition, in der die Sysvar verwendet wird.
im SDV sieht das auch alles richtig aus:
Nun kommen die von koppenho gewünschten Änderungen. In der WEBUI wird die kanalzuweisung in meinem Tesatsystem von dem Tür-Fensterkontakt auf einen Präsenzmelder geändert.
in der WEBUI erscheint nun ein FALSCHES Programm
Das programm steht so nicht in der regadom, da ist immer noch der Verweis auf die Systemvariable
Blöd jetzt, das was anderes angezeigt wird, als wie in der rega steht und wie die rega auch reagiert. Die rega reagiert nämlich nicht auf eine änderung des Fensterkontaktes auf verrieglt wie es in der Web-UI steht, sondern IMMER NOCH auf eine änderung der Systemvariablen (Diejenigen die den SDV haben oder die HM Internals von Badenpower können das gerne mal durchspielen)
Dies ist mit Sicherheit für einen Anfänger nicht mehr zu finden als Fehler.
liefern wir nun auch direkt die ursache mit.
Die Systemvariable hat nun korrekterweise den Channelbezug:
dort verweist channel ordnungsgemäß und richtig auf den präsenzmelder (channel ID 7937)
blöd ist, das in dem SingleConditionObject immer noch der kanalbezug ConditionChannel auf die ID 1465 (DI:ATELIER_TUER , den Fensterkontakt) verweist. Somit stellt die WEB Ui auch nur die Objecte in die Auswahl, die in diesaem Channel im idarray DPs eingehängt sind. schade, das ist nun mal nicht die systemvariable, also stellt die WebUI den ersten datenpunbkt des ID Arrays dar.
----------------------------------------------------
Das Programm wird wieder richtig, sobald ich manuell mittels des SDV in der SingleCondition den Conditionchannel auf die nun korrekte ID 7937 setze.
et voila, das WebUI programm passt nu wieder.
Die Korrekturmöglichkeit kommt im nächsten SDV Update, da dies aber unter freepascal läuft isses auch nur im SDV. Die Linux Variante des SDV dauert noch etwas, mein Heizungsgateway hat nun eine höhere Priorität
Black
Edit
ab der version 3.08.07 kann der SDv diese programminkonsistenzen beseitigen
viewtopic.php?f=31&t=47049&p=512173#p512173
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising