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
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: 1070 Mal
Kontaktdaten:

Re: SDV V4.06.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 29.03.2021, 10:56

rechte Maustaste auf die ssh Eingabezeile, da kriegst du die normalerwiese häufig benötigten ssh kommandos vergeschlagen. :mrgreen: (ok, ist meine Priorität, aber ich bin ja generell faul und zettelwirtschaft gerät auch schon mal gerne durcheinander)

Black

aber nimm die aktuelle B version, die Vorgängerversion schmeisst da wie geschrieben leider einen SIGSERV.
Zuletzt geändert von Black am 29.03.2021, 11:05, 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

MichaelN
Beiträge: 9649
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: SDV V4.06.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von MichaelN » 29.03.2021, 10:58

Oh. Und ich habe das immer so umständlich gemacht... Hier hätte ein Klick gereicht
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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: 1070 Mal
Kontaktdaten:

SDV V4.06.11C Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 03.04.2021, 14:46

Vor Ostern nochmal eine kleine HotFix Version:

SDV V4.06.11C




Changelog:
1. Update der RAD auf 2.0.12
2. Issue von Rheinhesse: Access Violation bei Tab verschieben beseitigt (Hauptgrund für den Hotfix). Thnx fürs melden und die präzise Beschreibung
3. Möglichkeit bei Scriptausführung sich zusätzlich den Typ der Scriptvariablen bei Ende des Scriptes anzeigen zu lassen. Einstellbar hier: SetUp - Editor
typeofvar.PNG
typeofvar.PNG (6.74 KiB) 911 mal betrachtet
Damit ist die Frage von einigen per PN nach dem Screenshot aus dem anderen Thread beantwortet, Feature war eben neu. ^^

4. EIn bisschen die Doku erweitert.
5. Hinweis an diejenigen, die an der aktuellen Raspberrymatik Version festhängen, z.b. Ändern des Wochenprogrammes. Downgrade muss deswegen nicht sein, die Werte lassen sich natürlich im Inspektor ändern. (Schloss aufmachen, "Kindersicherung")
Masterset ändern.PNG

frohe und gesunde Ostertage

Black
Zuletzt geändert von Black am 11.04.2021, 12:42, 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

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: SDV V4.06.11C Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Xel66 » 03.04.2021, 15:12

Black hat geschrieben:
03.04.2021, 14:46
3. Möglichkeit bei Scriptausführung sich zusätzlich den Typ der Scriptvariablen bei Ende des Scriptes anzeigen zu lassen. Einstellbar hier: SetUp - Editor
Hi Black,

vielen Dank für das Update. Zu obigem hätte ich vielleicht mal einen Feature-Request. Die Anzeige des Variablentyps ist m.E. ein gutes Feature und wenn am Ende der gleiche Typ angezeigt wird, wie er ursprünglich deklariert war. Damit kann man schon einigen Rechenfehlern auf den Grund kommen. Vielleicht wäre eine Statusanzeige, ob zwischendurch eine Typwandlung stattgefunden hat (einfach ein Flag "geändert" oder so), noch ganz brauchbar. Gerade bei mathematischen Operationen kann das ja das Rechenergebnis der CCU je nach Inhalt und Position der Variable im Therm vom Erwarteten/Richtigen abweichen (siehe auch mein kleines Rechenbeispiel in diesem Thread). Das passiert, wenn zwischendurch "automatisch" eine real-Variable mit einem integer-Wert beschrieben wurde, ist das (Zwischen-)Ergebnis auch integer. Ich weiß nicht, wie aufwändig das ist und wie es eventuell den Scriptlauf verzögert. Aber vielleicht gibt es ja ein entsprechendes Flag oder eine Kennung im Kontext zu den Variablen schon.

Gruß und frohe Ostern
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

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: 1070 Mal
Kontaktdaten:

SDV V4.06.11C Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 03.04.2021, 16:01

@Xel66
Machbar, ja, auch eine gute Idee, aber dazu nochmal von mir bisschen die Rückfrage.

Generell weiss der SDV durch seinen Hintergrundanalysetask, welche Scriptvariable wie dekaliert worden ist. im Editor hast du ja z.b. diesen Informationshint
xel66.png
dazu brauchts aber die aktuelle cursorposition, um die zur cursorposition gültige Deklarierung zu ermitteln. die haben wir aber nicht, weil wir unten im AUsgabefeld sind. was gehen würde, so ohne grossen Programmierkrampf

wir betrachten die erste vorkommende Deklaration einer Variablen. (ist bekannt, liegt in der Analyseauswertung vor)
bei der ausgabe wird der Variablentyp der Deklaration mit dem realen Typ bei Scriptende verglichen. bei ungleich wird das mit stern gekennzeichnet.
Frage dazu noch, was mach ich bei einer "var" deklaration. die bringt ja nach einer zuweisung immer ein ungleich zur deklaration. ist das dann auch ein stern oder nicht ?
und wenn dann mit dem Mauszeiger über die Variable gehst, darstellung in einem hint, wie war sie deklariert ? so in etwa ? Ideen willkommen

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

MichaelN
Beiträge: 9649
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: SDV V4.06.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von MichaelN » 03.04.2021, 16:06

Kannst Du auch bunt ausgeben? Dann würde ich die Typen, die sich geändert haben in rot ausgeben.
Bei var - ja, da bin ich auch unschlüssig. Da ist es ja eigentlich mit einkalkuliert, das sich der Typ ändert...
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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: 1070 Mal
Kontaktdaten:

Re: SDV V4.06.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 03.04.2021, 16:24

MichaelN hat geschrieben:
03.04.2021, 16:06
Kannst Du auch bunt ausgeben? Dann würde ich die Typen, die sich geändert haben in rot ausgeben.
Bei var - ja, da bin ich auch unschlüssig. Da ist es ja eigentlich mit einkalkuliert, das sich der Typ ändert...
farbe... wäre eigentlich eine gut Idee... Immo ist es aber noch eine TMemo Component, und die hat keine properties, um zeilenweise einfärben zu können.
Ich würde nur alleräussert ungern einen generell anders basierenden Componententyp nehmen, weil da doch einiges dranhängt, was abhängigkeit von tStrings ist.
wenn farbe als wunsch dabei rauskommt, wäre da nur aufrüsten und unten auch einen Synedit einzusetzen. da kann ich wild und kreuz und quer färben.

lass mal ideen sammeln, dein vorschlag ist schon mal gut, aber mit bisschen aufwand verbunden

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: SDV V4.06.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Xel66 » 03.04.2021, 21:04

Ich würde sagen, dass auch bei var, wenn zwischendurch der Inhalt potenzielle fehlerhafte Rechenergebnisse liefern könnte, gekennzeichnet wird. Diese potenziellen Rechenfehler sind ja meine Grundidee für diesen Feature-Request. Dem kann man zwar begegenen, indem man immer mit Kommastelle eingibt, aber beim automatischen Befüllen kann das eben zu einem Problem führen. Um Rechenoperationen durchzuführen wäre es andererseits sowieso zielführend, die Zuweisung in einem für die Berechnung brauchbaren Format zu machen. Da ist var für mich nicht unbedingt das Mittel der Wahl. So richtig den Stein der Weisen habe ich für diesen Typ nicht. Ich wäre für Kennzeichnung mit einem Hinweis, dass die Deklaration für Berechnungen ungünstig ist.

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

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: 1070 Mal
Kontaktdaten:

SDV V4.06.12Test Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 04.04.2021, 13:22

So, ich hab mich Xel66 seinem Wunsch angenommen und mal geschaut, was ohne immensen Aufwand umsetzbar ist. Die Erfassung des Deklarationstypen, speziell der ersten Deklaration, ist eh schon im Task und als Datenbasis vorhanden, war also nur bisschen verknüpfen mit den Ausgaben.
Das Farbige habe ich gelassen, ich hab mir zwar eine Testversion gebaut, wo ich das TMemo gegen den TSynEdit ausgetauscht hab, aber das zieht andere negative Effekte nach, zuviel Aufwand für zuwenig Wirkung. ALso farbig hab ich gelassen.

ZUm probieren mal die V4.06.12Test , eine reine Testversion diesmal




1. Editorhints zu Scriptvariablen eindeutiger gemacht. Bei nur einmaliger Deklaration (was ja normal sein sollte) ist es nun übersichtlicher, erst bei mehrfacher Deklaration wird aufgezählt.
2. Typdarstellung Objekt dahingehend korrigiert, dass nun "objekt" geschrieben wird und nicht der Zahlencode des Objekts
3. Erkennung einer Typwandlung von der ersten vorkommenden Deklaration verglichen mit der Variablen zum Zeitpunkt des Scriptendes.
Wird eine Typwandlung erkannt, wird dieses in der zeile mit ausgegeben, hier in dem beispiel integer-->string
Test1.PNG
Farbig wäre zwar zugegeben schön, aber das verhältnis von Aufwand zu Nutzen seh ich nicht.

4. Dafür aber neu: doppelklick auf die Ausgabezeile mit der Variablen, springt in den Editor auf die erste stelle der Verwendung, mit F3 kann dann zur nächsten gesprungen werden und so weiter

5. Fix für die bisherige Fehltfunktion, das der SyntaxTask einen Methodenaufruf an einer RegascriptConstante fäschlicherweise als Fehler darstellte
in dem zusammenhang direkt
6. currenttime und localtime in die intellisense eingebunden, so dass nach druck von Punkt nun die Methoden von Time zur Auswahl stehen.

Black
Zuletzt geändert von Black am 11.04.2021, 12:42, 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

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: SDV V4.06.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Xel66 » 05.04.2021, 12:50

So, habe mal für meinen Anwendungsfall etwas getestet, so ein paar meiner verwendeten Scripts durchlaufen lassen und auch einige Scriptvariablenwandlungen identifiziert. So sieht man auch den Lerneffekt bei eQ-3. Systemvariablen älterer Messaktorenscripts wurden noch als var deklariert. Bei neueren Aktoren werden in den Scripts bis auf wenige Ausnahmen auch die Variablen entsprechend der Verwendung im Script initialisiert. Interessant. Auch das Highlighting beim Anklicken ist ein prima Feature zur Fehlersuche. Danke für die prompte Erledigung. Läuft!

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

Antworten

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