SDV V5.03.04G - Das Entwicklungs und Diagnose Tool für Homematic CCUs

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

Moderator: Co-Administratoren

Benutzeravatar
FritzRe
Beiträge: 352
Registriert: 09.12.2016, 03:46
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 12 Mal

Re: SDV V3.05.02 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von FritzRe » 09.12.2018, 15:27

Hallo Black

hatte dich auch mal Angeschrieben per E-Mail, wegen einer Version.

Können uns ja mal am Donnerstag darüber unterhalten.

Gruß
Fritz
MfG
Fritz

Benutzeravatar
Black
Beiträge: 5483
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: SDV V3.05.04 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von Black » 10.12.2018, 15:31

stan23 hat geschrieben:
08.12.2018, 19:31
Vielleicht sollte die Skriptausführung noch ein Timeout haben, sonst bleibt der SDV hängen und friert ein.

Für Anfänger wie mich wäre es cool wenn die Auto-Verfollständigen-Funktion nur sinnvolle Sachen anzeigen würde, also z.B. Methoden die auf jenes Objekt angewendet werden können. Aber das ist natürlich ein ziemlicher Aufwand.
mit dem Timeout hattest mich erwischt ^^. Ich hatte alles schön single-Threated, ist zum debuggen etwas leichter ^^. Aber ok, dabei kann dieser Effekt auftreten. in der demnächst kommenden 3.05.04 ist das behoben, bzw sollte behoben sein, dort habe ich dann seit langem laufende, getestete Funktionen dann in Threats mit TimeOutTermination gekapselt. Nachtrag, ist behoben, Version ist auf Github

Dein Zweiter Wunsch ist eher nicht zu erfüllen, wenn ich im script einer variablen zur Laufzeit ein OT_Channel Object zuweise, woher soll der arme Editor dann zur Entwurfszeit wissen, ob du der variablen zur Laufzeit ein OT_Channel, ein OT_Programm oder sonstwas für ein Object zuweisen wirst und dir die passenden Methoden zur Auswahl geben. Methodenlisten siehst du ja, wenn du dir ein passendes Objekt anschaust
FritzRe hat geschrieben:
09.12.2018, 15:27
Hallo Black
hatte dich auch mal Angeschrieben per E-Mail, wegen einer Version.
Können uns ja mal am Donnerstag darüber unterhalten.
Für unseren Stammtisch ist ja klar, das es da bei Interesse das Prog gibt, hatte ich ja beim letzten Treffen auch gesagt.

Gruss, 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
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Möglichkeiten selbsterstellter Filterkriterien

Beitrag von Black » 13.12.2018, 11:01

nachdem ich schon einige Male gefragt wurde, wie es mit den Möglichkeiten der anwenderdefinierten Filter genau Funktioniert, eine Erklärung an einem praktischen Beispiel.

Eine Systemvariable kann einem Datenpunikt zugeordnet sein. Wenn dies der Fall ist, gibt die Methode Channel () die Kanalnummer zurück, der diese Sysvar zugeordnet ist.
Wird nun der Kanal gelöscht, so zeigt (Channels() ins Nirvana, heisst immer noch auf die alte Nummer, nicht auf 65535.

Aufgabenstellung, alle Systemvariablen suchen, deren Wert Channel () entweder ins Nirvana zeigt oder auf ein Objekt verweist, welchens kein kanal ist.

Dies geht eigentlich ganz schnell:
Filter10.jpg
Es wird folgender Filter deklariert, welcher automatisch in die generelle Abfrage eingebunden wird. Der Filter lässt sich für spätere Verwendung natürlich auch speichern und wieder laden.

nach Get wirft der Suchlauf nun auf meinem Testsystem 5 Systemvariablen aus, deren Channelbezug nicht mehr auf ein Kanalobjekt zeigt.

Hier wird allerdings nicht automatisch irgendwas repariert, um es glattzuziehen wäre hier nun die weitere vorgehensweise: markieren der 5 Objkte, via PIN als Aufzählung sichern und im Scripteditor kleinen 3 Zeiler schreiben, welcher duch diese Aufzählung iteriert und den Channel wieder mit ID_ERROR beschreibt.

In zukünftigen versionen werde ich für die tester ein paar meiner Filter mit in die RAR packen, ausgepackt ins gleiche verzeichnis lassen sich dann die Filter direkt laden und anwenden.

Über den anwenderdefinierten Filter lassen sich, wenn benötigt, problembezogene Auswahlkriterien in wenn nötig epischer Komplexität basteln.

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
Black
Beiträge: 5483
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: SDV V3.05.06 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von Black » 14.12.2018, 18:10

Version 3.05.06 ist für die Tester nun auf Github. siehe erster Post

Changelog:
Multithreading eingeführt für CCU Zugriff, Ping, etc (sollte keine Hänger mehr geben)
TSynHighlighterClass umgeschrieben, im Gegensatz zur originalen Version arbeitet meine nun CaseSensive wie auch die CCU
Weitere Methoden eingefügt in Highlighter, Autocomplete und Detailansicht.
Detailansicht für Datenpunkte, Alarme, Systemvariablen, Devices und Channels komplettiert
Auf Sonderwunsch unseres Stammtischs Programme schon mal provisorisch mit ProgramCopyID Test eingefügt
Ein paar Standartfilter geschrieben und der Version im Rar beigefügt (*flt Dateien)
Umbenennen von DeviceKanälen nach dem Namen des übergeordneten Devices
Backup und Restore von Devicekanälen
Temporäre Lizenzen nun möglich

Schlüssel ab version 3.02 behalten ihre Gültigkeit


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
Black
Beiträge: 5483
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: SDV V3.05.06 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von Black » 15.12.2018, 17:18

Die Geistervariablen...

eine unangenehme Geschichte, die man sich früher einfangen konnte, wann auf der Startseite systemvariablen zur Anzeige gebracht wurden, diese dann aber später gelöschen wurden... Die berühmten SD2 (Single Destinations2) waren dann eine der möglichen Folgen. Die Erkennung der Ursache und eine Methode zur Behebung kam seinerzeit als erstes von Badenpower.

Im SDV würden die Geistervariablen sich auch aufspüren lassen, unter Users unter der methode (besser gesagt im idarray) UserSharedObjects verbergen sich die Sysvars, welche bei dem benutzer auf der Startseite angezeigt werden.
GeisterVariablen.jpg
sollte hier beider rekursiven Aufschlüssselung des IDArray sich Objecte mit einer Eigenschaft ungleich VARDP oder ALARMDP wiederfinden, war, oder auch ist es immer noch, ein Zeichen, dass sich in der Aufzählung Objekte versteckt haben, welche da nicht hingehören.

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
Black
Beiträge: 5483
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: SDV V3.05.06 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von Black » 17.12.2018, 20:48

so, wie auf dem Stammtisch schon angekündigt und stellenweise auch schon gezeigt gibt es nun ein etwas grösseres Update.
wenn man da einmal drin ist und die innere grundstruktur valide ist geht das auch recht flüssig nun aus den fingen.

es gibt nun bei Objecten, die einen MasterSatz haben, die Möglichkeit, sich diesen auch anzeigen zu lassen. Heisst die Datenpunkte, welche mann immer nur mit putParamSet erreichte werden hier nun angezeit und zwar mit Namen, des DatenTypes und dem aktuellen Wert.
Wenn man ein Script am schreiben ist, besteht die möglichkeit, wenn man eine Zeile des Detailview angeklickt hat, diese Werte durch Alt tasten diretk inden Editor zu bekommen (neben alt+1 und alt+2 für ID und namen gibts nun noch alt+m Methodenname alt+t für typ alt+v für valuespalte und alt+s für Specialspalte. es vermindert doch massiv die Tippfehler udn ich denke, in scripten wird nun auch vermehrt diese werte anwendung finden.
MasterSet.jpg

masterset ist ab Level 6 verfügbar.

dann auch auf Wunsch unseres Stamtisches ein kleines DiagnoseTab. erste alpha entwurf, sie finale fassung sieht mit sicherheit anders aus später.
Übersicht über die CCU und der die Diagnose ist verfügbar, die Spezialfunktionen reset und restore 950 gibts erst ab level 7. restore 950 kann eine korrupte oder nicht mehr vorhandere Anwesenheitsvariable wiederherstellen.
Diagnostics.jpg
Die nächste Erweiterung wird auch ein kleines technisches leckerchen. bekannterweise lassen sich die Werte aus dem Kanal 0 (wie LowBat, Unreach, Sticky usw nicht auf dem standartweg beschreiben:
event1.jpg
ist nicht zielführend.

Der Ansatz über den SDV unterscheidet jetzt nach: ist der DP beschreibbar, dann alles gut und so wie immer, iet er es nicht, wird die etwas brutalere methode genommen und ein event auf die rega gesetzt. rega event ist level 6
event2.jpg
Wie am Stammtisch mit Lemonbiters CCU demontiert, die seit gefühlt Wochen in "Konfigurationsdaten stehen zum übertragen an" auh nach deviersen reboots festhing, demonstriert, gibts aber auch dafür eine möglichkeit;
event3.jpg
es geht also auch , einem Netzaktor einen Batteriefehler aufzuzwingen, genau wie ihn auch wieder zu entfernen.

Paar dämelsbugs in der GUI muss ich noch rausholen, zum WE hin denk ich gibt es dann den launch auf github.

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
Black
Beiträge: 5483
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: SDV V3.06.01 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von Black » 18.12.2018, 19:27

so, die 3.06.01 liegt nun wie immer für die tester in dem Github bereich.

der Changelog dazu

BugFix Backup Sysvars (Alarme kann halt der Status nicht herstellt werden und 950er kann nicht rekontruiert werden. Dafür Sonderfunktionen
Bugfix Highlighter (in HM Script ist // kein kommentar)
Paramset Master Aufschlüsselung (ab Level 6)
Editor Zusatzfunktionen um Werte aus der Detailsicht in ein Script zu kopieren
DiagnoseBild
Restaurieren einer kaputten oder fehlenden 950er Präsenzvariable (ab Level 7)
Anzeigen aller Systemkonstanten (wird noch erweitert, wenn ich noch welche finde, also mt Sicherheit)
Rega Event Push auf DPs (ab level 7)

Die Vorhandenen Freigabeschlüssel behalten ihre Gültigkeit (ab 3.5.2)

Falls es irgendwe noch hakt bitte rückmeldung.

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
Black
Beiträge: 5483
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: SDV V3.06.01 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von Black » 20.12.2018, 13:37

Hotfix 3.06.02 liegt für die Tester im üblichen Github Beeich:

Aufgrund 2 Rega Bugs Hotfix notwendig
1. DoubleQuotes tun es auf der aktuellen Rega nicht
(kann zur fehlerhaften Darstellen der Objektlisten führen und zu Scriptfehlern in den Backup routinen)
2. Rega kann nicht ohne Kunstgriff mit wissenschaftlciher notation umgehen
(Kann zu scriptfehlern führen vor allem bei Systemvaruablenupdate)

dafür gibts es in dem Hotfix die ersten Aufschlüsselungen der zeitmodule, dieser Zwischenschritt ist leider Notwedig, bevor ich etwas tiefer in die Programme reinschauen werde.

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
Black
Beiträge: 5483
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: SDV V3.06.01 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von Black » 24.12.2018, 15:55

Das quasi Weihnachtsupdate steht noch in den letzten Tests auch bei einigen testern, es gibt aber wieder ein etwas grösseres Update.

-ein paar kleinere Bugfixes.
-Auf Wunsch aus den Testerreihen Undo/redo in der Rekursionsebene des Inspektors eingefügt. Es ist jetzt möglich von aus der Deviceliste in ein device, zu dessen chanel, wieder zurück in ein anderes device, in dei channels dessem, in deren Datenpunkte, wieder in die Chanelliste zurück zu springen. Also quasi bowsing in der Inspektorebene. Der Undo Stack dafür war allerdings nicht ganz trivial....
-Aufdröseln der Programrules. Möglichkeiten, Verzögert um / sofort von Scriptbedingungen im Instektor zu ändern.
übernahme von Programmscripts in den Scripteditor, Möglichkeit das Script dort zu ändern / testen und wieder in das Programm hochzuladen.
-nochmal ein paar änderungen in der synAnySynHighlighter Class, um eine Zweite Konstantengruppe anlegen zu können.

Allen nun ein besinnliches Weihnachtsfest

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
FritzRe
Beiträge: 352
Registriert: 09.12.2016, 03:46
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 12 Mal

Re: SDV V3.06.01 Scripterstellung und Objektinspektor / Changer CCU/RM

Beitrag von FritzRe » 25.12.2018, 13:37

Hallo Black

frohe Weihnachen, hoffe hast/hattest eine besinlichen Fest.

Mal eine Frage, habe das "Weihnachtsupdate" geladen und versucht zu "Aktivieren".
Bekomme es aber nicht hin.

Wenn ich auf Lizenzanfrage gehe, bekomme ich nur das Fenster ohne Key.
meldung.jpg
meldung.jpg (9.16 KiB) 4937 mal betrachtet
Es eilt nicht!!! Die Version 3.05.04 läuft ohne Probleme.
MfG
Fritz

Antworten

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