Globale Variable finden, aber wie?

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
BitMac
Beiträge: 186
Registriert: 27.11.2015, 09:51
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

Globale Variable finden, aber wie?

Beitrag von BitMac » 01.06.2021, 09:50

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

Matsch
Beiträge: 5427
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 734 Mal

Re: Globale Variable finden, aber wie?

Beitrag von Matsch » 01.06.2021, 09:54

Ganz einfach: ProgrammeDrucken
Danach im neuen Browserfenster die Suchfunktion nach dem Name benutzen.

Benutzeravatar
jmaus
Beiträge: 9846
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Globale Variable finden, aber wie?

Beitrag von jmaus » 01.06.2021, 11:28

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.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

BitMac
Beiträge: 186
Registriert: 27.11.2015, 09:51
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

Re: Globale Variable finden, aber wie?

Beitrag von BitMac » 15.06.2021, 22:47

Danke für die ausführlichen Erklärungen.
Werde das mit dem Drucken-Addon testen. Scheint mir am einfachsten.

Antworten

Zurück zu „RaspberryMatic“