Hi,
gibt es eine Möglichkeit, per Shellskript (bash, sh) z.B. von einem Raspi aus den Inhalt einer lokalen Skriptvariablen der CCU2 ausulesen?
Oder kann man alternativ das ganze Shellskript ziehen, um es dann auf dem Raspi nach einem String durchsuchen zu lassen?
Hintergrund: ich möchte gerne die in meinen zPNS-xx hinterlegten Zugriffsdaten für die Push-Dienste für meinen DoorPi nutzen, ohne sie dort noch mal explizit ablegen zu müssen. Zudem möchte ich die Daten auch nicht in einer Systemvariablen auf der CCU2 speichern.
Gruß,
Thorsten
Lokale Skriptvariable per Shellskript auslesen
Moderator: Co-Administratoren
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Lokale Skriptvariable per Shellskript auslesen
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.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 14165
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1500 Mal
Re: Lokale Skriptvariable per Shellskript auslesen
Ich glaube nicht, dass die Scriptvariablen über den Webserver abfragbar sind, habe es aber auch noch nicht ausprobiert. Mein Lösungsansatz wäre aber, die benötigten Dateien im Webserverbereich der CCU als .conf o.ä. zu hinterlegen und von dort durch den DoorPi bei Bedarf abrufen zu lassen.
Gruß Xel66
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
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
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Lokale Skriptvariable per Shellskript auslesen
Hm. Dann müsste ich aber auch die zPNS-xx entsprechend umstellen, und das möchte ich ehrlich gesagt nicht.
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.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Lokale Skriptvariable per Shellskript auslesen
direkt vllt nicht, aber ich würds vllt so probieren
Wenn dein Script ohne Trigger aufgerufen wird, kannst du es ja über $src$ erfassen
nun baust in ein script ein, das es, wenn es manuell oder im boot aufgerufen wird, nix macht, sondern nurdie lokalen Scriptvariablen mit deinen defitionen füllt und dann wieder zurückkehrt.
wenn du es über in einem tcl script dann via regascript dann aufrufst, werden die lokalen scriptvariablen in einem array zurückgegeben. dieses array kannst du dann auswerten.
Ähnlich hab ichs auch in meinem Script Scheduler gemacht.
Grad mal probiert, klappt leider so nicht...
Gruss, Black
Wenn dein Script ohne Trigger aufgerufen wird, kannst du es ja über $src$ erfassen
nun baust in ein script ein, das es, wenn es manuell oder im boot aufgerufen wird, nix macht, sondern nurdie lokalen Scriptvariablen mit deinen defitionen füllt und dann wieder zurückkehrt.
wenn du es über in einem tcl script dann via regascript dann aufrufst, werden die lokalen scriptvariablen in einem array zurückgegeben. dieses array kannst du dann auswerten.
Ähnlich hab ichs auch in meinem Script Scheduler gemacht.
Grad mal probiert, klappt leider so nicht...
Gruss, 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
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
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Lokale Skriptvariable per Shellskript auslesen
Trotzdem danke. Wäre mir aber auch irgendwie zu "kompliziert".Black hat geschrieben: Grad mal probiert, klappt leider so nicht...
Ist es nicht so, dass auch lokale Skriptvariablen in der CCU zwischengespeichert werden, so dass sie von anderen CCU-Skripten auslesbar sind, sofern sie dort nicht neu deklariert wurden? Dann müsste man doch diese Skriptvariablen doch auch ausgelesen bekommen.
Mir würde es ja ansonsten auch schon helfen, wenn ich das gesamte Skript irgendwie mit dem Raspi auslesen könnte. Das Finden des entsprechenden Strings innerhalb des Skripts wäre dann die kleinste Herausforderung.
Bis dann,
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.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 14165
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1500 Mal
Re: Lokale Skriptvariable per Shellskript auslesen
Das heißt noch lange nicht, dass Du da via Webanfrage rankommst. Scriptvariablen überleben ja auch einen Neustart nicht und werden somit nicht mitgesichert. Darum dürften sie wohl nur ab der ersten Laufzeit des Scripts im RAM sein.dtp hat geschrieben:Dann müsste man doch diese Skriptvariablen doch auch ausgelesen bekommen.
Warum setzt Du nicht bei meinem Vorschlag an? Du hinterlegst im Verzeichnis /www/config/ eine Textdatei (z.B. doorpi.txt) mit den entsprechenden Zugangsdaten und fragst sie beim Scriptlauf auf dem DoorPi über http://IPDERCCU/www/config/dorrpi.txt ab. In diesem Verzeichnis sind diverse Dateien, die ich über diesen Weg abfragen kann. Somit sind die hinterlegten Daten zwar in Deinem Netz verfügbar, werden aber nicht unbedingt als Systemvariable im GUI der CCU dargestellt.dtp hat geschrieben:Mir würde es ja ansonsten auch schon helfen, wenn ich das gesamte Skript irgendwie mit dem Raspi auslesen könnte.
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
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
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Lokale Skriptvariable per Shellskript auslesen
Weil die zPNS-xx hier von einigen Usern verwendet werden und das Anlegen und Auslesen einer solchen txt-Datei dann doch etwas zu viel Aufwand bedeuten würde, zumal das ja für die Mehrheit keinerlei Benefit darstellen dürfte. Dein Vorschlag ist zwar gut, aber so leider nicht praktikabel. Da könnte ich die betreffenden Daten dann doch besser in eine oder mehrere Systemvariablen schreiben.Xel66 hat geschrieben: Warum setzt Du nicht bei meinem Vorschlag an?
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.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 14165
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1500 Mal
Re: Lokale Skriptvariable per Shellskript auslesen
OK, ich dachte es geht Dir primär darum, dass keine Zugangsdaten im einem IT-Gerät außerhalb Deines Wohnhauses hinterlegt werden und dass Du es deshalb von "extern" abfragen wolltest.dtp hat geschrieben:Weil die zPNS-xx hier von einigen Usern verwendet werden...
Grundsätzlich ist das Editieren von Konfigurationsdateien für bestimmte Addons (z.B. Webcam) auf der CCU auch "üblich" und wird so von vielen Usern gemacht. Ich gehe mal davon aus, dass entsprechende Konfigrurationsdaten auch mittels Script Initial in einer solchen Datei über die "Script ausführen"-Funktion hinterlegt werden könnten. Wer etwas Mächtiges wie das zPNS einsetzt, sollte auch zu dieser einmaligen Aktion in der Lage sein. Alternativ kann man es ja im Addon-Verzeichnis hinterlegen. Dieses wird durch ein Firmwareupdate nicht überschrieben und durch ein Backup mitgesichert.
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
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