[canceled] "verwendete Skript-Variablen zählen" - Skript

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

Moderator: Co-Administratoren

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von dtp » 28.07.2016, 11:39

Ist Euch eigentlich schon mal aufgefallen, dass selbst eQ-3 mit den Skriptvariablen in ihren systeminternen Skripten nicht gerade zimperlich umgeht? Da gibt es durchaus das ein oder andere Optimierungspotential, was das Einsparen unnötiger Skriptvariablen angeht.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von dtp » 28.07.2016, 19:41

Man sieht, ich gehe sparsam mit den Ressourcen meiner CCU2 um: 8)
durchsuchte Programme: 70
gefundene Skripte: 57
gefundene Deklarationen: 372
gefundene Variabelnamen: 98
Gruß,

Thorsten

PS.: Lieber BadenPower, wo wir schon beim Korinthenkacken sind... Es heißt "Variablennamen" statt "Variabelnamen". 8)

PPS.: Dass das Skript selbst keine lokalen Variablen allokiert, beweist ein zweiter Durchlauf. Es kommen exakt dieselben Ergebnisse raus. Ihr wisst schon... Vertrauen und Kontrolle und so. ;)
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von blackhole » 28.07.2016, 20:16

dtp hat geschrieben:PPS.: Dass das Skript selbst keine lokalen Variablen allokiert, beweist ein zweiter Durchlauf. Es kommen exakt dieselben Ergebnisse raus. Ihr wisst schon... Vertrauen und Kontrolle und so. ;)
Mal kurz ich, ohne Ahnung, ohne Korinthen, ohne Beweise, ohne Vertrauen und ohne Kontrolle:

Das Skript durchsucht Skripte die von Programmen aufgerufen werden und zählt deren Variablen. Das Skript durchsucht jedoch nicht nicht Skripte, die unter "Skript testen" ausgeführt werden und zählt auch nicht dessen Variablen - egal ob diese dauerhaft "belegt" sind oder nicht. Es ist also nicht weiter verwunderlich, dass immer das gleiche Ergebnis ermittelt wird, da das Skript eben nicht tatsächlich belegte Variablen zählt. Es zählt Variablen die durch in Programme eingebettete Skripte belegt werden können (nicht sind).

Jetzt bitte noch einmal Du mit Vertrauen und Kontrolle. :mrgreen:

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

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von Xel66 » 28.07.2016, 20:31

blackhole hat geschrieben:Das Skript durchsucht jedoch nicht nicht Skripte, die unter "Skript testen" ausgeführt werden und zählt auch nicht dessen Variablen - egal ob diese dauerhaft "belegt" sind oder nicht.
Dieser Scriptinterpreter verhält sich so, wie man es eigentlich auch von der Scriptengine erwarten würde. Die dort genutzten Variablen sind nur zur Laufzeit des Scripts gültig und die Scripte werden auch nicht abgespeichert. Insofern gibt es dort nichts zu zählen (außer maximal die Variablen vom gerade laufenden Zählscript).

[OT]
dtp hat geschrieben:...beim Korinthenkacken sind...
Ist mir auch aufgefallen, wollte jedoch nicht schon wieder in Ungnade fallen. :-) Aber bestimmte Dinge sind manchmal auch durch regionalen Sprachgebrauch bedingt. Als Reingeschmeckter fällt mir hier im Schwäbischen auch so manche Skurrilität auf.
[/OT]

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

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von dtp » 29.07.2016, 09:47

Xel66 hat geschrieben:Als Reingeschmeckter fällt mir hier im Schwäbischen...
Ach, Du auch? ;)

Nun ja, die Schwaben behaupten ja schließlich auch von sich selbst, alles zu können außer Hochdeutsch. ;)
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von dtp » 29.07.2016, 09:49

blackhole hat geschrieben: Jetzt bitte noch einmal Du mit Vertrauen und Kontrolle. :mrgreen:
Wieso? Passt doch. 8)
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von joni-blue » 29.07.2016, 13:39

hi,

was heisst Deklarationen?

Code: Alles auswählen

durchsuchte Programme: 156
gefundene Skripte: 147
gefundene Deklarationen: 1641

gefundene Variabelnamen: 194

---Auswertung beendet---
Hallo Welt!
Reboot tut gut ! ! !

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von Cash » 29.07.2016, 13:57

steht hier schon:

string tmpA;
string tmpA;
string tmpA;
string tmoB;

sind 4 Deklarationen und 2 Variablen

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von joni-blue » 29.07.2016, 14:00

Danke


Gesendet von iPhone mit Tapatalk
Reboot tut gut ! ! !

Vyrus_0711
Beiträge: 171
Registriert: 28.07.2014, 22:02
Danksagung erhalten: 3 Mal

Re: "verwendete Skript-Variabeln zählen" - Skript

Beitrag von Vyrus_0711 » 30.07.2016, 19:04

Hallo Badenpower,

das Programm ist wirklich interessant und gibt einem versierten Homematic-Programmierer schnell einen Überblick.

Meine Auswertung sieht so aus:

durchsuchte Programme: 272
gefundene Skripte: 244
gefundene Deklarationen: 1215
gefundene Variabelnamen: 72

==> Da hab ich ja Luft nach oben!!
==> Vielleicht hätte ich mehr Systemvariablen verwenden sollen, anstatt sehr oft auf die gleiche Variable zurückzugreifen!
==> Frage an mich selbst: Hab ich eigentlich zu viele Skripte? (Momentan hat keiner mehr als ich, *kopfkratz*)


Ist es eigentlich schlimm, daß die Anzahl an Deklarationen überproportional größer ist als die Anzahl der Systemvariablen?
Oder muss/soll man nicht bei jedem Programm, welches die selben Systemvariablen aus anderen Programmen verwendet, diese jedesmal neu deklarieren?
Diesen Ansatz könnte man soweit spinnen, daß bei jedem Reboot ein Programm mit der Deklaration aller Systemvariablen gestartet wird und bei den einzelnen Programmen auf diese Deklaration verzichtet wird?


Gruß

Axel
Proxmox-VE für Raspberrymatic, ioBroker, CCU-Historian, InfluxDB2 und Grafana
Zusätzliche Middleware: Mediola NEO
152 x Geräte , 614 Kanäle, 227 x Programme , 188 x Skripte , 61 x Systemvariablen ,
... und kein Ende in Sicht!

Gesperrt

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