GeisterChannelbezüge in Systemvariablen

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
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

Beitrag von jmaus » 03.06.2019, 09:17

Black hat geschrieben:
03.06.2019, 09:09
Eigentlich istdies ein ProgrammKonsistenzcheck.

ich kanns natürlich (hab ich sogar schon als test) für den SDV ausprogrammieren, aber davon hat nur eine Anzahl x der User was von.
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...
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
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

Beitrag von koppenho » 03.06.2019, 13:41

Black hat geschrieben:
03.06.2019, 09:09
Eigentlich ist dies ein ProgrammKonsistenzcheck.
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
--------------------------------------------

Benutzeravatar
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

Beitrag von Black » 04.06.2019, 08:55

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:
WEBUI1-1.jpg
Interessant da ist dann die erste SingleCondition, in der die Sysvar verwendet wird.

im SDV sieht das auch alles richtig aus:
SDV1-1.jpg
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
WEBUI2-1.jpg
Das programm steht so nicht in der regadom, da ist immer noch der Verweis auf die Systemvariable
SDV2-1.jpg
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:
SDV3-2.jpg
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.
SDV4-1.jpg

----------------------------------------------------
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.
WEBUI3-2.jpg
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

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“