SDV V3.08.13 Scripteditor und Objektinspektor / Changer CCU/RM

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

Moderator: Co-Administratoren

Benutzeravatar
Black
Beiträge: 1926
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Re: SDV V3.08.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 18.08.2019, 13:09

Du hast zwei Möglichkeiten

Im SDV die Datei mit dem programmbackup in den Editor laden und dann scriptvausführen

Oder

Die Datei irgendwie öffnen Inhalt kopieren auf der ccu unter script testen script in den Editor Kopieren und ausführen

Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.45.7.20190507 mit Groundplane Antennenmod (Mein Grundstück ist halt etwas gross)
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.08.13 Scripteditor und Objektinspektor

Baxxy
Beiträge: 58
Registriert: 18.12.2018, 15:45
Danksagung erhalten: 2 Mal

Re: SDV V3.08.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Baxxy » 21.08.2019, 17:48

Hallo Black,
nachdem ich mich nun eine gute Woche mit dem SDV beschäftigt habe möchte ich mich hiermit für
das Programm und die entsprechenden Lizenzschlüssel bedanken!

Ich konnte schon eine Menge optimieren, Fehler ausbügeln und bin nun dabei meine ganzen ("zusammengebastelten und aus dem Forum abkopierten") Scripte zu überarbeiten.

Frage:
In der Kurzanleitung wird ja unter Punkt 2.1.1 SyncroEdit beschrieben, das will bei mir irgendwie nicht. Ich markiere etwas mit der Maus, der markierte Bereich ist im Hintergrund mintgrün, im Vordergrund blau und die Schrift wird weiß und alle entsprechenden Bereiche werden mintgrün Hinterlegt. So weit so gut. Aber ein Strg-J bewirkt dann gar nichts. Was mache ich falsch?
SyncroEdit.JPG
Habe als Ersatz dann "Suchen & Ersetzen benutzt. Da ist mir aufgefallen das die Tastenkombination CTRL-R nur einmalig funktioniert. Schließt man das "Suchen & Ersetzen" Fenster lässt es sich bis zum nächsten Neustart des SDV nur noch per Klick auf das Symbol in der Leiste links öffnen.
Notiz am Rande: schön wäre es wenn der markierte Text im Script gleich als Text zum Ersetzen eingesetzt würde. (So wie bei der Suchen-Funktion, wo interessanterweise nur jeder 2. "Strg-F Tastendruck zum Suchen-Fenster führt)

Die FavoritenAnsicht ist, wenn man sie erstmal befüllt hat, auch sehr praktisch. Vielleicht lässt sich da noch eine Extra Spalte einbauen die bei Datenpunkten den Kanalnamen anzeigt. Dann bräuchte man sich nicht die ganzen Seriennummern seiner Geräte merken. :roll:

Die MethodenHilfe habe ich nur kurz ausprobiert, und für sehr nützlich empfunden. Noch praktischer wäre sie aus meiner Sicht, wenn man sich eine eigene "Methoden-FavoritenListe" anlegen könnte. Zumindest für Leute wie mich, die im scripten nicht so fit sind und sich die Sachen nicht merken können.

Der SDV scheint ja im Allgemeinen kein Problem mit Umlauten zu haben. Nur finden will er sie nicht. So z.B. eine SysVar namens "Badezimmer Lüftungsempfehlung". Ich weiß inzwischen das man keine Umlaute bei Homematic verwenden sollte und werde bei Gelegenheit vielleicht meine Namensgebung ändern. Oder Du baust eventuell eine Umlaut-Unterstützung ein. 8)

Mein Fazit: sehr zu empfehlen!

Beste Grüße
Baxxy

Benutzeravatar
Black
Beiträge: 1926
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Re: SDV V3.08.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 21.08.2019, 19:47

hi, danke für deine konstruktive Kritik.

Syncroedit ist ein Bedienfehler bei dir: du musst zu erst den Block, in dem du Editieren willst markieren dann wenn dieser Blockmarkiert ist, ctrl J. dann wird der hintergrund von der Markierfarbe (meistens Blau bei windows) mintgrün. nun markierst duu dast wirt wo du ändern wisst (das ist dann das hellgrüne als MarkUp). und dann kannst schreiben und es wird synchron geändert. In deinem Bild fehlt die Markierung in Mintgtün, also passten die Startschritte nicht
E3.jpg

Ctrl-R - Stimmt, Danke fürs melden, guck ich mir im Debugger an, bin immo auf Dienstreise. Strl F auchgenauso.. hab da ne vermutung
-Edit- geht doch nix über ne stabile VPN-
CTRL-R und Ctrl F sind beide gefunden und ich denke mal behoben... Wenn ich wieder zurück bin wird es zeitnah ne 3.08.12C version geben

mit dem Finden müssen wir nochmal beide gucken. ich hab spasseshalber über VPN mal eine Sysvar genau so benannt: Badezimmer Lüftungsempfehlung und ein Script geschrieben wo Badezimmer Lüftungsempfehlung drin vorkommt.
der SDV fand das sowohl aus dem Inspektor beim Klick auf die Sysvar mit Finde verwendung in scripten als auch im Punkt Scriptsuche sowohl als direkteingabe und auch als regex. da musst mir mal deinen flow beschreiben was du da gemacht hast damit ichs nachstellen kann. Er braucht dafür schon paar sekunden.. er muss sich ja alle scripte holen und dann eine textsuche darauf machen. Als Anzeige bekommst du dann eine Liste von Singledestinations, die dann das script enthalten, wo der Begriff drin vorkommt

mit der methodenhilde schwebt mir ne Lösung vor... probier ich aber zuhause... Möglichkeit dann über dir INI bis zu 10 eigene Einträge.. mal gucken

Gruss, Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.45.7.20190507 mit Groundplane Antennenmod (Mein Grundstück ist halt etwas gross)
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.08.13 Scripteditor und Objektinspektor

Baxxy
Beiträge: 58
Registriert: 18.12.2018, 15:45
Danksagung erhalten: 2 Mal

Re: SDV V3.08.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Baxxy » 22.08.2019, 18:50

Hallo Black,
vielen Dank für die schnelle Rückantwort.
Black hat geschrieben:
21.08.2019, 19:47
Syncroedit ist ein Bedienfehler bei dir...
Genau so war es auch. Ich hatte immer nur den Text markiert den ich ändern wollte, nicht einen ganzen Bereich. Jetzt funktioniert es. :D
Black hat geschrieben:
21.08.2019, 19:47
mit dem Finden müssen wir nochmal beide gucken...
Meine Vorgehensweise ist: Inspektor anwählen, rechts dann Types anwählen, ID_SYSTEM_VARIABLES auswählen und bei enthält: Lüftung eintippen, dann Get anklicken.
SDV_Umlaute_Test.JPG
Da findet er nichts.
Lasse ich das weg und gebe nur ftung ein...
SDV_Umlaute_Test_2.JPG
... sind die SysVars zu sehen.
Bei der Scriptsuche und Eingabe von Lüftung in das Feld "Suchtext in Scripten" findet er aber die Programme die das Wort Lüftung in ihren Scripten enthalten.
SDV_Umlaute_Test_3.JPG
Die Programme habe ich aber inzwischen schon vom ü befreit. Die SysVars und Verweise in den Scripten enthalten es aber noch.
So, genug bebildert. So schlimm ist das nicht, man kommt ja auch auf anderem Wege zum Ziel.
Angenehme Dienstreise und Schöne Grüße...
Baxxy

Benutzeravatar
Black
Beiträge: 1926
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Re: SDV V3.08.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 22.08.2019, 21:59

danke für deine Mitarbeit.

Ich konnte es reproduzieren, der HM-Scriptdebugger sagte mir auch, das der Fehler bzw die Ungenauigkeit in einer Routine in der Implementierung von 2 Funktion in der Unit StrUtils in FPC zu suchen ist. Mit der Ansi Lib siehts besser aus, ich teste noch, dann kommt die Änderung auch ins nächste prerelease.

Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.45.7.20190507 mit Groundplane Antennenmod (Mein Grundstück ist halt etwas gross)
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.08.13 Scripteditor und Objektinspektor

Baxxy
Beiträge: 58
Registriert: 18.12.2018, 15:45
Danksagung erhalten: 2 Mal

Re: SDV V3.08.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Baxxy » 22.08.2019, 23:25

Black hat geschrieben:
22.08.2019, 21:59
danke für deine Mitarbeit.
Ach herrje, diesen Satz habe ich ja schon viele Jahre nicht mehr gehört. Gerne doch. Vom Rest habe ich aber nicht allzu viel verstanden.
Kann man diese Prereleases normal testen oder ist dafür eine spezielle Lizenz erforderlich?

Was ich noch nützlich finden würde...
Einen zweiten (oder mehrere) ScriptEditor Tab(s). Sozusagen als Zwischenablage ohne Script testen und Script ausführen Funktion aber mit dem Highlighting. Momentan nutze ich Notepad++ als Zwischenablage. Funktioniert zwar auch, aber sieht längst nicht so gut aus und unterbricht irgendwie immer den Flow bei Programme wechseln.

Einen schönen Abend und beste Grüße
Baxxy

Benutzeravatar
Black
Beiträge: 1926
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Re: SDV V3.08.11 Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 23.08.2019, 09:24

du, es macht schon arbeit, einen Flow so zu dokumentieren. das erkenne ich auch gerne an.

Allerdings hilft sowas dem Entwickler beim Nachstellen und Fehlersuchen ungemein. Mit deinen sehr guten Beschreibungen z.B. war binnen weniger Minuten der Fehler lokalisiert.

Dagegen würden nebulöse oder absichtlich vage Beschreibungen nicht grade behilflich sein, in mehreren tausend Programmzeilen verteilt auf mehrere Units eine nicht passende Reaktion oder Exception zu finden.

so, zu deinen Fragen:
Prereleases veröffentlich ich nur hier in diesem Thread, nicht bei Github. Nutzen kann die jeder, der schon eine Lizenz hat. Prereleases lassen sich selber aber nicht lizensieren, da erfolgt ein Startabbruch. Heisst du könntest dir ein prerelease dann runterladen, das enthält nur eine exe datei des SDV und diese in dein SDV verzeichnis kopieren. Damit läuft es. (Alten SDV umbenennen, so kannst du jederzeit wieder zurück auf die Stabgle version).
Gut finde ich, wenn zu Prereleases zu den Neuerungen ein kurzes Feedback kommt. Alle Sides kann ich nicht vorher testen, und wenns irgendwo klemmt sind es wie in den von dir dargelegten Dingen meistens irgendwelche "Kleinigkeiten".

Deine Frage mit den tabs kam schon mal.
Da das ganze so verzahnt ist geht es mit mehreren Tabs in meinem Ansatz nicht (war auch mit Absicht von mir schon in der Planung so ausgelegt)
Aber--
du kannst aber den SDV mit mehreren Instanzen öffnen (Nur die zuerst geöffnete, oben steht dann Instance: MAIN in der Kopfzeile, hat INI schreibrecht)
Dafür geht folgender Wokflow:
. deine SDV exe beginnt mit SDV_V
- du kannst unter windows dann bespielsweise hsc dateien mit dem SDV verknüpfen, so das auf doppelklick auf die textdatei der SDV mit der datei im Editor geöffnet wird,
so kannst du mehrere Instanzen des SDV öffnen, in jeder Instanz hast du auch einen Inspektor, über das Windows Clipboard kannst du natürlich zwischen den Instanzen kopieren. (Die Internen tastenkürzel arbeiten nur innerhalb des jeweiligen prozesses, nicht prozessübergreifend)
du kannst natürlich in jeder Instanz scripte schreiben, speichern ausführen, im inspector arbeiten. Nur im Hinterkopf behalten, wenn in der einen Instanz z.b. einen Systemvariable geändert hast, musst du in der anderen Instanz natürlich zuerst ein Update fahren (aktualiesieren über ein neues Get)

Das ist auch mein Workflow, wie ich selber arbeite.

V3.08.12C kommt heute abend, ich habe da auch eine Lösung für bis zu 10 eigene Methodenhilfen implementiert die sich, neben dem menu dann, auch durch tastenkürzel Shift CTRL 1- bis Shift CTRL 0 im Editor abrufen lassen.

Definiert werden die in der INI Datei

Gruss, Black
Zuletzt geändert von Black am 23.08.2019, 15:50, insgesamt 1-mal geändert.
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.45.7.20190507 mit Groundplane Antennenmod (Mein Grundstück ist halt etwas gross)
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.08.13 Scripteditor und Objektinspektor

Benutzeravatar
Black
Beiträge: 1926
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

SDV V3.08.12C Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 23.08.2019, 15:46

so, wie angekündigt das Prerelease V3.08.12C. Version allerdings nur für Bestandsnutzer zum Testen, bei allen anderen gibt das einen Startabbruch.

Was ist geändert:
Bugfix Ctrl-R tats nur einmal
Bugfix Ctrl-F tats nur jedes 2. Mal
Bugfix Im inspektor "enthält" Parameter arbeitete nicht mit deutschen Umlauten.
Arbeitsdarstellung während des Script durchsuchens schrieb in falsche Spalte.

Methodenliste nochmals erweitert.

neu eingefügt: Methodenhilfe mit bis zu 10 selbstdefinierten Einträgen.
Dazu in der INI (ich habs unter den Schlüssel Scriptrun gesetzt, letztlich isses egal) folgendes einfügen

Code: Alles auswählen

; Common escape sequences
;\\ 	\ (a single backslash, escaping the escape character)
;\' 	Apostrophe
;\" 	Double quotes
;\t 	Tab character
;\r 	Carriage return
;\n 	Line feed
;\; 	Semicolon
;\# 	Number sign
;\= 	Equals sign
;\: 	Colon

[METHODHELP1]
NAME=dom.GetObject
TEXT=dom.GetObject (

[METHODHELP2]
NAME=
TEXT=

[METHODHELP3]
NAME=
TEXT=

[METHODHELP4]
NAME=
TEXT=

[METHODHELP5]
NAME=
TEXT=

[METHODHELP6]
NAME=
TEXT=

[METHODHELP7]
NAME=
TEXT=

[METHODHELP8]
NAME=
TEXT=

[METHODHELP9]
NAME=
TEXT=

[METHODHELP10]
NAME=
TEXT=
Sollte fast selbsterklärend sein, mit Name wird defniert, was in der Menüzeile dargestellt wird, mit text wird das definietr, was dann im Editor eingefügt wird. Es muss mindestens ein Eigener MenüHelp definiert sein, damit der menüpunkt unter Methodenhilfe dargestellt wird.

Ebenso ist direkte Verwendung con Kurztasten möglich Shift+Ctrl + 1,2,3...9,0

dabei bitte auf die Falle aufpassen !
ich hab extra die komentare da mit reingesetzt, sie dort aufgeführten Sonderzeichen müssen gequotet sein rechts des Gleichheitszeichens.

heist will ich dom.GetObject (" "); als Text schreiben so muss ich eintragen
TEXT=dom.GetObject (\" \")\;

Zweizeilig geht auch, dann muss \n benutz werden.

C-version entfernt aufgrund Dummheitsfehlers, bitte die D-version nehmen !!!

Black
Zuletzt geändert von Black am 25.08.2019, 19:58, insgesamt 2-mal geändert.
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.45.7.20190507 mit Groundplane Antennenmod (Mein Grundstück ist halt etwas gross)
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.08.13 Scripteditor und Objektinspektor

ottokar200
Beiträge: 12
Registriert: 29.11.2018, 14:44

Re: SDV V3.08.12C Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von ottokar200 » 25.08.2019, 19:21

Hallo Black,
ich habe die Methodenhilfe mal getestet.
  1. die Kurztasten Shift+Ctrl + 1,2,3...9,0 funktionieren bei mir nicht
  2. die Common escape sequences funktionieren auch nicht
    der String
    TEXT=\'"\t\r Carriage return \n Line feed ; Semicolon # Number sign = Equals sign : Colon
    ergibt
    \'"\t\r Carriage return \n Line feed ; Semicolon # Number sign = Equals sign : Colon
    der Backslash wird immer mit ausgegeben
    \n wird deshalb auch nicht zweizeilig ausgegeben.
Danke für deine unermüdliche Arbeit an dem SDV.
Gruß ottokar
_______________________________
CCU-2 / 51 Geräte / 215 Kanäle

Benutzeravatar
Black
Beiträge: 1926
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

SDV V3.08.12D Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 25.08.2019, 19:55

ottokar200 hat geschrieben:
25.08.2019, 19:21
(..)die Kurztasten Shift+Ctrl + 1,2,3...9,0 funktionieren bei mir nicht
[die Common escape sequences funktionieren auch nicht
grmmpf, peinlich ... danke fürs Aufpassen und melden. Ich sollte mir etwas mehr zeit fürs Finale Build gönnen, fürs finale Compile alte lib angegeben. is murk natürlich

so, die hier sollte nun tun incl des quotings,

SDV_V30812D, quasi der Hotfix der C version

Release entfernt, ersetzt durch aktuelle Version auf Github


Sorry, Black
Zuletzt geändert von Black am 29.08.2019, 09:08, insgesamt 1-mal geändert.
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.45.7.20190507 mit Groundplane Antennenmod (Mein Grundstück ist halt etwas gross)
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.08.13 Scripteditor und Objektinspektor

Antworten

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