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

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

Beitrag von Black » 17.11.2019, 19:17

so, Wochenende,

wiedermal Zeit für ein kleines Upgrade, aber diesmal nur wirklich ein "kleines".

V3.09.05 als testversion, bevor ich diese auf Github einstelle.

Neu gegenüber dem letzten Servicepack:
1. paar Kleinigkeiten glattgebüglt
2. getParamset TCL regexp optimiert (unterscheidung datentypen bei definition des regexp Suchkriteriums)
3. für gerti Gleichzeigiges suchen nach namen und Adress von geräten in Scripten implementiert
AA2.jpg

4. für NimmnenKeks: möglichkeit die in einem WegUI programm verwendeten Systemvariablen auszuselktieren, damit gezieltes backup dieser Sysvars möglich (Dein Wunsch einer Mastervorlage)
AA1.jpg
AA1.jpg (65.6 KiB) 1970 mal betrachtet

5. Check Objects noch etwas weiter verfeinert... es wird immer Test und gegentest gemacht
aa3.jpg

6. Check Devices <--> xml neu eingeführt. Dieser Lauf führt einen Vergleich der rega gegen die Schnittstellenprozesse durch. Damit lässt dich auch ein gerät finden, dass nich tmehr in der rega ist aber noch in den Schnittstellenprozessen hängt. Eine Reparatur wird nocht austomatisch gemacht, aber der weg vorgeschlagen (der beginnt immer mit einem VollBackup). Das vor einiger Zeit mal CuxD GeisterDevice liess sich damit auch finden.
aa4.jpg

Und das hier ist dann die Testversion (nur für Bestandsnutzer)





Black
Zuletzt geändert von Black am 24.11.2019, 15:34, 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

ottokar200
Beiträge: 36
Registriert: 29.11.2018, 14:44
Hat sich bedankt: 10 Mal

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

Beitrag von ottokar200 » 20.11.2019, 12:21

Hallo Black,

zwei Kleinigkeiten - würdest Du bitte bei Script öffnen noch *.json in den Filter
Scriptoeffnen.png
Scriptoeffnen.png (2.98 KiB) 1905 mal betrachtet
aufnehmen und einen zusätzlichen Filter *.*.
Im Inspektor bei Backup -> WebUI Backup von selektiertem Device wird das Script nicht zusätzlich in die Zwischenablage kopiert.
Gruß ottokar200
_______________________________
RaspberryMatic mit Groundplane-Antenne / 57 Geräte

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:

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

Beitrag von Black » 20.11.2019, 12:38

hi, danke fürs aufpassen:

zu 1: das kannst du in der INI selber erweitern: hinter FILETYPE kannst du die menge erlaubte dateiendungen hinzufügen

Code: Alles auswählen

[LAST]
DATEI=C:\MTH\Homematic\NewScript.hsc
PAIRING=ONLYSERNUMBER
; Zusätzliche Filetypen zur Filterung
; *.BMP;*.JPG;*.GIF
; die Aufzählung muss mit Symikolon getrennt sein
FILETYPE=*.hsm;*.json
ich werds aber ins nächste Github package in die INI direkt mit reinnehmen.


Zu 2: Yap, da ist mir beim Aufräumen ein Kommentar // zuviel reingerutscht, die Zeile war auskommentiert.
hab ich nicht aufgepasst
CopyClipboard.jpg
reicht das im Github Release oder brauchst du die Funktion dringend sofort ?

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

ottokar200
Beiträge: 36
Registriert: 29.11.2018, 14:44
Hat sich bedankt: 10 Mal

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

Beitrag von ottokar200 » 20.11.2019, 13:28

Wie gesagt Kleinigkeit. Mach es, wenn es für dich passt :)
Gruß ottokar200
_______________________________
RaspberryMatic mit Groundplane-Antenne / 57 Geräte

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: SDV V3.09.05A Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 24.11.2019, 15:41

so, auf Github nun die aktuelle Version als Package.

EIngeflossen sind die Versionen V3.09.04SP1 bis SP4 und V3.09.05 inkl. der letzten Anmerkungen und daraus resultierender Fixes.

Changelog gegen die V3.09.05:

Device/Channel Backup Namen sind nun Selektierbar (brauchte ich gestern für Geräteumzug)
Devices sind nun auch löschbar über Löschen, xmlrpc.DeleteDevices ().
EIn paar Anwenderdefinierbare Filter (*flt) Dateien habe ich mit in das package gepackt.

schönes Wochenende, 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

g55
Beiträge: 235
Registriert: 02.10.2018, 19:24
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 59 Mal
Danksagung erhalten: 11 Mal

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

Beitrag von g55 » 24.11.2019, 19:12

Hallo @Black,

ich habe gestern mal wieder meine scripts geprüft, geändert ... dabei auch gleich die vorige Version 3.09.04 installiert ...
jetzt sehe ich, dass du bereits eine 3.09.05 raus gehauen hast 8) ... vielen Dank auch von mir für deine stetige Weiterentwicklung :D

ein Problem(chen) hätt ich noch mit der 3.09.04:
  • Backup Programme : wenn ich das starte, passiert ...nix ... :oops:
    ich finde auch keinen Hinweis in irgendwelchen CCU-Logs und auch nicht im SDV-Verzeichnis :?:
Hab eben noch mal die "Kurzanleitung" durchgepflügt, jedoch auch nix gefunden.
Haste bitte noch nen Tipp für mich, wo ich evtl. nachsehen kann, bzw. welche Infos du brauchen würdest ?
Besten Dank schon mal.

PS : eben die v3.09.05A installiert ... leider gleiches, bei Backup Programme passiert leider nix ...
Proxmox-MiniServer (J4125, 12GB RAM, nur SSDs, Proxmox 7.4-3), RM v3.69.7.20230506, abgesetztes, altes Funkmodul HM-MOD-RPI-PCB am RB-RF-ETH, ca. 5 HM- und 107 HMIP-Geräte, Addons : CUxD v2.10.1, eMail v1.7.6, XML-API v1.22, JB-HB v6.0, ProgrammeDrucken v2.6, CCU-Historian v3.3.1

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: SDV V3.09.05A Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 24.11.2019, 19:34

Programm markieren... oder die Programme markieren... Dann Backup. Dann werden die markierten Programme gesichert.

Bei Device ist Es jetzt auch genauso

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

g55
Beiträge: 235
Registriert: 02.10.2018, 19:24
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 59 Mal
Danksagung erhalten: 11 Mal

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

Beitrag von g55 » 24.11.2019, 20:56

Hi @Black,
besten Dank für deine prompte Rückmeldung :D
kaum macht man es richtig, dann funktioniert es auch :wink:
also erst im Inspektor die Programme auflisten, die gewünschten selektieren, und DANN erst auf "Backup Programme" klicken ... schon geht das. 8)

ok + sorry, typischer Fall von User = Problem sitzt ca 50 cm vorm Bildschirm :wink: ... jetzt hab ich des auch begriffen. Den Restore werde ich mal die nächsten Tage testen, will ich noch meine bisherige Installation aufm Raspi 3 von Debian 9 auf Debian 10 "heben" per scratch (Debian10 + pivccu3 + Backups einspielen). ok, anderes Thema ...

Da ich grad dabei bin, ein Script zu ändern, hätt ich noch ne weitere Frage :
  • das bisherige script läuft, d.h. basierend auf $src$ kann ich im SDV testen und ausführen ... natürlich SRC auf den entsprechenden Datenpunkt gesetzt
  • hab das script etwas modifiziert, Testen ergibt im SDV keine Fehler, Ausführen haut mit grad REGA-Fehler um die Ohren ... ohne Zeile, ohne weiteren Hinweis :?:
    Hier die Meldung :

    Code: Alles auswählen

    Nov 24 20:43:39 HasiMatic local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Temperatur min/max-Werte f▒r heute und gestern^M ! ---------------------------------------------------^M ! Ausgehend von einem Temperatursensor, der im Programm auf Aktualisierung /▒nderung gepr▒ft wird,^M ! werden die min/max berechnet und als Zahlen f▒r weitere Vergleiche sowie als Info-String gespeichert^M ! v1.01  (g55) 2019-07         initial^M ! v1.02  (g55) 2019-11         aktuelle Temperatur bei HEUTE eingef▒gt^M ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++^M ^M ! hier die Namen der SVs definieren^M ^M string sv_TempHeute = "Temperaturen (heute)";                        ! Name der SV (Typ = Zeichenkette), in der die min-max-Werte von Heute gespeichert werden^M string sv_TempGestern = "Temperaturen (gestern)";                    ! Name der SV (Typ = Zeichenkette), in der die min-max-Werte von Gestern gespeichert werden^M var sv_TempMin = "TempMin";                                          ! Name der SV (Typ = Zahl), in der der akt
    
    und der script-code :

    Code: Alles auswählen

    ! Temperatur min/max-Werte für heute und gestern
    ! ---------------------------------------------------
    ! Ausgehend von einem Temperatursensor, der im Programm auf Aktualisierung /Änderung geprüft wird,
    ! werden die min/max berechnet und als Zahlen für weitere Vergleiche sowie als Info-String gespeichert
    ! v1.01  (g55) 2019-07         initial
    ! v1.02  (g55) 2019-11         aktuelle Temperatur bei HEUTE eingefügt
    ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    ! hier die Namen der SVs definieren
    
    string sv_TempHeute = "Temperaturen (heute)";                        ! Name der SV (Typ = Zeichenkette), in der die min-max-Werte von Heute gespeichert werden
    string sv_TempGestern = "Temperaturen (gestern)";                    ! Name der SV (Typ = Zeichenkette), in der die min-max-Werte von Gestern gespeichert werden
    var sv_TempMin = "TempMin";                                          ! Name der SV (Typ = Zahl), in der der aktuelle MIN Wert gespeichert wird
    var sv_TempMax = "TempMax";                                          ! Name der SV (Typ = Zahl), in der der aktuelle MAX Wert gespeichert wird
    var sv_TempOld = "TempOld";                                          ! Name der SV (Typ = Zahl), in der der letzte aktuelle Wert gespeichert wird
    string sv_TempMinTime = "TempMinTime";                               ! Name der SV (Typ = Zeichenkette), wann heute der minimale Wert erreicht wurde
    string sv_TempMaxTime = "TempMaxTime";                               ! Name der SV (Typ = Zeichenkette), wann heute der maximale Wert erreicht wurde
    
    ! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    string stext = "";
    boolean bTempChanged = false;
    
    ! get current datapoint
    object src = dom.GetObject("$src$");
    
    if ( (src) && (src.TypeName() == "HSSDP") )
    {
    	! Werte des Datenpunktes ermitteln
    	var ch_id = src.Channel();
    	var ch_type = (dom.GetObject(ch_id).HssType());
    	string device_name = (dom.GetObject(ch_id).Name()).StrValueByIndex(":",0);
    	var TempCur = src.Value();
    	var src_type = src.ValueTypeStr();
    
    	! Werte der gespeicherten Systemvariablen für Temperaturen und Zeiten ermitteln
    	var TempMin = dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMin).Value();
    	var TempMax = dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMax).Value();
        var TempOld = dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempOld).Value();
    	string TempMinTime = dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMinTime).Value();
    	string TempMaxTime = dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMaxTime).Value();
    
    	string stime = (system.Date("%T"));
    
    	! wenn SV "sv_TempMin" noch 0 ist, beim ersten Lauf, oder der Tag wechselt, Initialisierung
    	if ( ( TempMinTime > stime ) || ( TempMaxTime > stime ) || ( TempMinTime.Length() < 8 ) ) {
    		 dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMin).State(TempCur);
    		 dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMax).State(TempCur);
             dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempOld).State(TempCur);
    		 dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMinTime).State(stime);
    		 dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMaxTime).State(stime);
    		 dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempGestern).State( dom.GetObject(sv_TempHeute).Value() ); ! #######
    		 dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempHeute).State(" ");
    		 TempMin = TempCur;
    		 TempMinTime = stime;
    		 TempMax = TempCur;
    		 TempMaxTime = stime;
             TempOld = TempCur;
    		 bTempChanged = true;
    	}
    
    if ( TempCur > TempMax ) {
       dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMax).State(TempCur);
       dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMaxTime).State(stime);
       TempMax = TempCur;
       TempMaxTime = stime;
       bTempChanged = true;
    }
    if ( TempCur < TempMin ) {
       dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMin).State(TempCur);
       dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempMinTime).State(stime);
       TempMin = TempCur;
       TempMinTime = stime;
       bTempChanged = true;
    }
    if ( TempCur != TempOld ) {
       dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempOld).State(TempCur);
       bTempChanged = true;
    }
    ! Wenn sich also was geändert hat, dann Info-SV für heute schreiben :
    if ( bTempChanged ) {
       stext = "akt. " # TempCur.ToString(1) # "°C," # "min " # TempMin.ToString(1) # "°C (" # TempMinTime.Substr(0,5) # "), max " # TempMax.ToString(1) # "°C (" # TempMaxTime.Substr(0,5) # ")";
       dom.GetObject(ID_SYSTEM_VARIABLES).Get(sv_TempHeute).State(stext);
    }
    }
    ! -- Ende des Programms --
Ich würde mich sehr freuen, wenn du dazu einen Tipp hättest ... :)
Proxmox-MiniServer (J4125, 12GB RAM, nur SSDs, Proxmox 7.4-3), RM v3.69.7.20230506, abgesetztes, altes Funkmodul HM-MOD-RPI-PCB am RB-RF-ETH, ca. 5 HM- und 107 HMIP-Geräte, Addons : CUxD v2.10.1, eMail v1.7.6, XML-API v1.22, JB-HB v6.0, ProgrammeDrucken v2.6, CCU-Historian v3.3.1

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: SDV V3.09.05A Scripteditor und Objektinspektor / Changer CCU/RM

Beitrag von Black » 24.11.2019, 21:09

joa hätte ich..

Syntaktisch isses ok... Wenn ich die sysvars rauslösche und einen hssdp von mir als src referenziere tuts das.
ich würde vermuten, das es eine deiner sysvars nicht gibt ^^

check das mal, buchstabe gross/kleinschreibung reicht

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

g55
Beiträge: 235
Registriert: 02.10.2018, 19:24
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 59 Mal
Danksagung erhalten: 11 Mal

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

Beitrag von g55 » 24.11.2019, 21:48

Besten Dank :D
hab die sysvars noch mal mind. 3 mal gecheckt ... alle da ... trotzdem Fehler :?:

...Fehler gefunden :D ... ich Depp :oops: ... hab ich mich glatt vertippt und "Groß O" mit der "Null 0" verwechselt :wink:
jetz läuft das script ohne Fehler der REGA ... aber eben der Float-Vergleich auf "!=" noch nicht.... is wohl mein Problem = Challenge im Script :roll:
aber ok, besten Dank wie gesagt für deine Hilfe, der SDV ist nach wie vor super 8) für Script-Entwicklung. Dass mein script nicht so funktioniert wie geplant, liegt bestimmt nicht am SDV :wink: ... sag ich ja öfters zu anderen bei IT-Fragen, meist ist das Problem so ca. 50 cm vorm Bildschirm :)
Proxmox-MiniServer (J4125, 12GB RAM, nur SSDs, Proxmox 7.4-3), RM v3.69.7.20230506, abgesetztes, altes Funkmodul HM-MOD-RPI-PCB am RB-RF-ETH, ca. 5 HM- und 107 HMIP-Geräte, Addons : CUxD v2.10.1, eMail v1.7.6, XML-API v1.22, JB-HB v6.0, ProgrammeDrucken v2.6, CCU-Historian v3.3.1

Antworten

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