Seite 1 von 1

Globale Variable finden, aber wie?

Verfasst: 01.06.2021, 09:50
von BitMac
Ich habe beim "Aufräumen" eine globale Variable gefunden, wo ich nicht mehr weiß, wo sie hingehört und ob sie noch benötigt wird.
(Da rächt sich mal wieder unzureichende Dokumentation).
Wenn man sie über "Klickibunti" verwendet hat, kann man sie ja leicht über dieVerknüpfung finden.
Aber wie kann man eine Variable finden, die eventuell in irgendeinem Script steckt?
Wo sind eigentlich die Scripte gespeichert?
Mir schwebt vor, über SSH ins entsprechende Verzeichnis zu gehen und dann einfach alle Scripte durchsuchen zu lassen.
Geht so wahrscheinlich nicht, oder?

Gruß
Andreas

Re: Globale Variable finden, aber wie?

Verfasst: 01.06.2021, 09:54
von Matsch
Ganz einfach: ProgrammeDrucken
Danach im neuen Browserfenster die Suchfunktion nach dem Name benutzen.

Re: Globale Variable finden, aber wie?

Verfasst: 01.06.2021, 11:28
von jmaus
BitMac hat geschrieben:
01.06.2021, 09:50
Aber wie kann man eine Variable finden, die eventuell in irgendeinem Script steckt?
Mit Bordmitteln geht das nicht. Dazu kannst du wie angemerkt nur den Umweg über das ProgrammeDrucken Add-on gehen um dann in der Ausgabe dessen nach dem zu suchen was du in den Skripten finden willst.
BitMac hat geschrieben:
01.06.2021, 09:50
Wo sind eigentlich die Scripte gespeichert?
Mir schwebt vor, über SSH ins entsprechende Verzeichnis zu gehen und dann einfach alle Scripte durchsuchen zu lassen.
Geht so wahrscheinlich nicht, oder?
Die sind in der zugrundeliegenden Datenbank von ReGaHss (homematic.regadom) hinterlegt und existieren nicht als einzelne Dateien oder ähnliches. Du kannst (wenn überhaupt) nur ein "grep" über die regadom datei machen wenn du nach etwas suchst. Aber ja nicht auf die Idee kommen mit irgendeinem Editor oder sonstwas in der regadom datei direkt rumzueditieren. Das wird! schiefgehen.

P.S: Und übrigens - weil du "Globale Variable" und Skript geschrieben hast. Die ReGaHss bzw. die Skriptsprache kennt keinerlei Unterscheidung in lokale und global Variablen. Es gibt dort lediglich "Systemvariablen" die du in der WebUI anlegen lassen kannst und wie normale Objekte dann via dom.GetObject() nutzen kannst und dann gibt es die "Skriptvariablen" die du in einem Skript definieren kannst "string XXX = 'blah'" und diese sind leider immer global über die gesamte Laufzeit der ReGaHss. Aber jetzt blos nicht auf die Idee kommen in einem Skript eine Variable eines anderen Skriptes zu nutzen oder gar nur auszulesen. Auch das wird über kurz oder lang schiefgehen. Sämtliche Informationen die man über Skripte austauschen will müssen über "Systemvariablen" der WebUI ausgetauscht werden.

Re: Globale Variable finden, aber wie?

Verfasst: 15.06.2021, 22:47
von BitMac
Danke für die ausführlichen Erklärungen.
Werde das mit dem Drucken-Addon testen. Scheint mir am einfachsten.