Systemvariablen Metadaten Konsistenzcheck

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von Black » 20.02.2019, 21:15

Ok. Danke dir. Das schaut auch aus als wenn das von etwas externen oder einem Addon angelegt worden wäre. Also unkritisch. Danke, black
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

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

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von alchy » 20.02.2019, 21:30

.
jmaus hat geschrieben:
20.02.2019, 16:44
auch weil die eine recht strikte QC haben die im Zweifel lieber nichts ändert als potentiell dadurch sich Fehler einzuhandeln.
Das glaubst du doch selber nicht - selten so gelacht.
Da legen die aber sehr unterschiedliche Maßstäbe an, was die schon für Gurken durchgelassen haben.

Black hat geschrieben:
20.02.2019, 16:35
ich hab diese Transformationen via WebUi mal durchgespielt...
Die Systemvariable hatte nach einem Korrekturlauf immer sinnige Einträge
Mein Fehler. falsche Konstellation aufgeschrieben. Ich meine:

Logik->Werteliste->Logik
vs Logik->Werteliste->Alarm->Logik


Und ausführlich:
Testlauf 1

1. Neue Systemvariable Typ Logik angelegt - Scriptduchlauf -> o.k
2. diese Variable zur Werteliste ÄNDERN -> Scriptduchlauf:
[ID]: 60135 - (Atest_logik) Type WerteListe - MetaData : BV0 nicht zulässig
[ID]: 60135 - (Atest_logik) Type WerteListe - MetaData : BV1 nicht zulässig
3. diese Variable zur Logik ÄNDERN -> Scriptdurchlauf:
[ID]: 60135 - (Atest_logik) Type Logigwert - MetaData : VALUE_LIST nicht zulässig


Testlauf 2
1. Neue Systemvariable Typ Logik angelegt - Scriptduchlauf -> o.k
2. diese Variable zur Werteliste ÄNDERN -> Scriptduchlauf:
[ID]: 60136 - (Atest_logik) Type WerteListe - MetaData : BV0 nicht zulässig
[ID]: 60136 - (Atest_logik) Type WerteListe - MetaData : BV1 nicht zulässig
3. diese Variable zur ALARM ÄNDERN -> Scriptdurchlauf -> o.k:
3. diese Variable zur Logik ÄNDERN -> Scriptdurchlauf -> o.k:

Jetzt hoffe ich es richtig beschrieben zu haben. Wenn dies nur bei mir so wäre, wäre das natürlich doof.
Würde mich freuen, wenn wer den Test so durchführt und schreibt das es bei ihm nicht so ist.

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.

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von Black » 20.02.2019, 21:46

@Alchy, dem kann ich so zustimmen, ist aber auch in sich logisch, ok, nicht korrekt aber logisch.

die Rega macht anscheineind:
wenn aus einer Bool einer Werteliste machst kommt der Eintrag: VALUE_LIST Hinzu, dein Lauf erkennt dann, wie Badenpowers Tool auch, das zwar die VALUE_LIST hinzugekomen ist, aber die alten BV0 und BV1 nicht entfernt wurden.
wenn dann zurück in Bool änderst, sind die BO0 und BV1 korrekterweise vorhaden, die vorher als Weteliste erzeugte Value_LIST aber immer noch da und damit als Bool natürlich falsch,

bei dem zweiten schritt isses dann identisch.

ist inkonsequent auf Regaseite, keine Frage.

Black
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

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

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von Xel66 » 20.02.2019, 22:08

Eine schnelle und private Lösung des Problems wäre doch, eine nachträgliche Typänderung zu verhindern und den Anwender zum Löschrn und der Neuanlage zu zwingen. Ich sehe auch keinen wirklichen Grund, bestehende Systemvariablen ggf. mit Inhalt, der nachher nicht mehr zum Typ passt, zu ändern. Eine Neuanlage mit anderem Typ ist logisch und würde viele negative Effekte verhindern.

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

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

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von debianatoe » 21.02.2019, 00:35

Black hat geschrieben:
20.02.2019, 21:15
Ok. Danke dir. Das schaut auch aus als wenn das von etwas externen oder einem Addon angelegt worden wäre. Also unkritisch. Danke, black
Ja, korrekt. Es handelt sich um das Addon "Fritzbox-basierte Anwesenheitserkennung hm_pdetect" von jmaus. Dieses Addon legt die SVs automatisch an.
Viele Grüße,
debianatoe

nimmnenkeks
Beiträge: 453
Registriert: 30.11.2016, 20:24
Hat sich bedankt: 43 Mal
Danksagung erhalten: 19 Mal

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von nimmnenkeks » 21.02.2019, 05:44

Habe exakt das gleiche Verhalten, wie in Alchy's aufgeführtem Test (jedoch mit CCU2).
Habe dann das Ergebnis des o.g. Skriptes mit BadenPower's HM-Investigator geprüft.
Skript lief eh in seinem Code-Editor
Dann mit Analyse-Teil die Gegenprobe und mit dem Investigator dann die Ausgabe auch noch laufen lassen.

Auch gleich mal spasseshalber mit der in BadenPowers HM-Investigator befindliche Reparaturfunktion (Analyse-Tool) ausgeführt und sofort danach das Black's Skript, sowie Abfrage mit BadenPower's HM-Investigator-Tool laufen lassen.
Ergebnis, es wurden keine Fehler mehr gefunden.

Die in den Tests bestätigten Fehler, bestehen ja nicht erst seit der letzten Firmwareversion (CCU-2).

Schaut man sich die Laufzeit der Analyse-und Reparaturfunktion (auch bei 5 SysVars mit Fehlern an), frage ich mich, warum das Kompetenzteam im Leer das nicht direkt bei Änderung in der UI laufen lässt, wenn der User (nach Änderung einer vorhandenen SysVar) auf den OK-Button klickt.

Auch die Fehler bei den Stromzählern sind dem Kompetenzteam nicht erst seit gestern bekannt.
Ob es die Skripte selbst sind (deren Reste nach Ablernen des Aktors gerne verbleiben, oder gar fehlende Skripte bei Neuerstellung).


..

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von Black » 21.02.2019, 08:12

Das diese Inkonsistenzen auftreten ist ja unstrittig und jederzeit reproduzierbar.

Gefallen bin ich über dieses Problem, als ich von einem Bekannten gebeten worden war, mal zu gucken, ob ich etwas finde, weil er probleme mit einem externen programm hatte,welches mit 2, 3 Systemvariablen Macken machte. Und da mal tiefer hinter die Kulissen geschaut kam dann dieses Problem zum Vorschein. Das Problem war übrigens dann weg, als meine Version eines Bereinungstools dann die Tags gradegezogen hat und ein Neueinlesen des Variablenstammes dann erfolgreich ging.

Allerdings sollten wir diese Problematiken auf der Sachebene behandeln, rhetorische Wortspielereien wie das "... Kompetenzteam im Leer ..." ich denke die gehören nicht in eine Fachdiskussion.

Die mitgelieferten Stromzählerskripte sind , da muss ich nimmnenkeks rechtgeben, freundlich ausgedrückt suboptimal.

die auf Gitbub liegende V3.7.10 des SDV kann diese Effekte nun auch erfolgreich glattziehen

Black
Zuletzt geändert von Black am 22.02.2019, 12:09, insgesamt 1-mal geändert.
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

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

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von alchy » 21.02.2019, 13:59

Black hat geschrieben:
20.02.2019, 21:46
bei dem zweiten schritt isses dann identisch.

ist inkonsequent auf Regaseite, keine Frage.
Naja, es ist eben nicht identisch. :shock:
Was wollte ich mit Testlauf 1 & 2 zeigen?
Wenn ich den Umweg über eine Alarmvariable gehe funktioniert das Ändern, gehe ich den Umweg nicht, funktioniert es nicht korrekt.
Ich kann es zwar im Moment nicht wirklich testen, gehe aber von einem Bug in den internen Scripten aus, genau wie beim Bug Programmtrigger "String Vergleich". Rega hin oder her, nicht alles kommt von da.

*IMHO natürlich kann man es zwar reparieren, aber eben nur bis der User wieder einen Systemvariablentyp "bearbeitet". Und somit kann es nicht zielführend sein, es hinterher zu reparieren, sondern muss vorrangig bei der Entstehung gefixt werden.

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.

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von Black » 22.02.2019, 10:49

yap, grad nochmal in Ruhe nachvollzogen. Beim übergang von Werteliste --> Alarm wird der Tag "VALUE_LIST" richtigerweise entfernt. interessanterweise auch beim Übergang von Alarm --> WerteListe wird BV0 und BV1 entfernt... alles irgendwie nicht so richtig konsequent.

Black
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

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Systemvariablen Metadaten Konsistenzcheck

Beitrag von jmaus » 22.02.2019, 11:25

Black hat geschrieben:
22.02.2019, 10:49
yap, grad nochmal in Ruhe nachvollzogen. Beim übergang von Werteliste --> Alarm wird der Tag "VALUE_LIST" richtigerweise entfernt. interessanterweise auch beim Übergang von Alarm --> WerteListe wird BV0 und BV1 entfernt... alles irgendwie nicht so richtig konsequent.
Danke für deine ersten Analysen. Wenn du das entsprechend alles analysiert hast würde ich mich freuen wenn du das hier noch einmal für alle Typen und Übergänge zusammenfassen könntest oder im GitHub ein Ticket dazu aufmachst. Dann kann ich das entweder in ReGaHss direkt oder via startup Skript reparieren sodass die Metadaten dann auch bei einem Wechsel konsistent bleiben.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Antworten

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