Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Moderator: Co-Administratoren

Frosch
Beiträge: 155
Registriert: 09.02.2020, 00:27
Hat sich bedankt: 37 Mal
Danksagung erhalten: 4 Mal

Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Frosch » 29.03.2020, 03:12

Hallo,

wenn ich einen Wert in eine Systemvariable intern mit einem Script schreibe, dann sind Umlaute kein Problem. Wenn ich aber über die URL z.B. mit wget von extern einen Wert in die Systemvariable schreiben will, z.B.

Code: Alles auswählen

http://ccu:8181/test.exe?x=dom.GetObject('Temperatur Küche').State(6.0)
dann funktioniert das nur mit Variablen die keinen Umlaut in Namen haben. Leerzeichen sind kein Problem.
Ich habe auch schon versucht die Umlaute zu codieren, wie in URLs oder auch mit HTML Entitäten, aber alles ohne Erfolg.

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Black » 29.03.2020, 09:55

joah, an dem Uncodier Genöle hatte ich in den Anfangszeiten, als ich den SDV programmiert hatte, auch graue Haare dran bekommen.

wobei das noch recht easy ist, Antworten der rega und des XMLRPC unterscheiden sich da stellenweise auch noch.

ich hab mal in meine programmzeilen geschaut, in Freepascal heisst die Methode zwar anders, aber du brauchst das UriEncode für die deutschen sonderzeichen in get oder post commandos

Mit

Code: Alles auswählen

http://ccu:8181/test.exe?x=dom.GetObject('Temperatur K%FCche').State(6.0)
sollte dein wget jedenfalls funktionieren (tats bei mir im Browser zumindest)

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

Benutzeravatar
Psi
Beiträge: 512
Registriert: 09.08.2018, 19:58
Wohnort: Nürnberg
Hat sich bedankt: 27 Mal
Danksagung erhalten: 90 Mal

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Psi » 29.03.2020, 12:40

Du kannst auf einer beliebigen Webseite die JavaScript console aufrufen (dev Tools, meist Taste F12) und hier einfach encodeURIComponent("Sonderzeichen" ) nutzen.

https://developer.mozilla.org/de/docs/W ... IComponent

Vllt funktioniert das?

Frosch
Beiträge: 155
Registriert: 09.02.2020, 00:27
Hat sich bedankt: 37 Mal
Danksagung erhalten: 4 Mal

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Frosch » 29.03.2020, 23:09

Black hat geschrieben:
29.03.2020, 09:55
Mit

Code: Alles auswählen

http://ccu:8181/test.exe?x=dom.GetObject('Temperatur K%FCche').State(6.0)
sollte dein wget jedenfalls funktionieren (tats bei mir im Browser zumindest)

Black
Der Browser spuckt bei mir 400 Bad Request aus

Frosch
Beiträge: 155
Registriert: 09.02.2020, 00:27
Hat sich bedankt: 37 Mal
Danksagung erhalten: 4 Mal

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Frosch » 29.03.2020, 23:15

Psi hat geschrieben:
29.03.2020, 12:40
Du kannst auf einer beliebigen Webseite die JavaScript console aufrufen (dev Tools, meist Taste F12) und hier einfach encodeURIComponent("Sonderzeichen" ) nutzen.

https://developer.mozilla.org/de/docs/W ... IComponent

Vllt funktioniert das?
Ja, es gibt auch im Web solche Converter, aber diese Zeichen funktionieren nicht. Für "ü" wäre das %C3%BC, aber wie gesagt, das funktioniert leider nicht.

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Black » 29.03.2020, 23:25

gue frage... ich habe eine Sysvar name "S1ä"

bei mir bringt die Zeile

Code: Alles auswählen

http://192.168.2.19:8181/test.exe?x=dom.GetObject(%22S1%E4%22).State()
das:
Uri.JPG

IP haste richtig eingesetzt bei dir ?

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

Frosch
Beiträge: 155
Registriert: 09.02.2020, 00:27
Hat sich bedankt: 37 Mal
Danksagung erhalten: 4 Mal

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Frosch » 29.03.2020, 23:34

Ja die IP stimmt bzw. ich nutze den Hostnamen ccu3, aber das ist ja egal.
Ich hab jetzt auch mal auf dieser Seite alle Codierungen ausprobiert
https://www.urlencoder.org/
aber klappt einfach nicht.

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Black » 29.03.2020, 23:42

ok... wie sind deine firewalleinstellungen der ccu ? remote api port blockiert ?
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

Frosch
Beiträge: 155
Registriert: 09.02.2020, 00:27
Hat sich bedankt: 37 Mal
Danksagung erhalten: 4 Mal

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Frosch » 29.03.2020, 23:46

Black hat geschrieben:
29.03.2020, 23:42
ok... wie sind deine firewalleinstellungen der ccu ? remote api port blockiert ?
Die sind auf "Eingeschränkt", allerdings ist die IP des Rechners den ich nutze freigegeben.

Es kann aber auch nicht die Firewall sein, weil es bei Systemvariablen ohne Umlaute einwandfrei funktioniert.

Frosch
Beiträge: 155
Registriert: 09.02.2020, 00:27
Hat sich bedankt: 37 Mal
Danksagung erhalten: 4 Mal

Re: Umlaute in Systemvariablen per HTTP Request http://ccu:8181/test.exe?...

Beitrag von Frosch » 29.03.2020, 23:48

Hab die Firewall jetzt trotzdem mal testhalber auf Vollzugriff gestellt, aber hat nicht geholfen. Wie gesagt, ohne Umlaute funktioniert es ja.

Ich nutze RaspberryMatic auf einem Pi4. Weiß nicht ob es da Unterschiede geben könnte.

Antworten

Zurück zu „Sonstige Steuerungen und Visualisierungen“