Smart Home 2.0 url Problem

Fragen zur Nutzung, Features, usw..
okaegi
Beiträge: 2266
Registriert: Fr Mär 08, 2019 1:57 pm

Re: Smart Home 2.0 url Problem

Beitrag von okaegi »

Was du dann machen kannst, selber eine Url auf dem Raspi machen die den User Id Password aufruf absetzt und dann die neue Url im Smarthome parametrisieren die dann keine Parameter mehr im Aufruf hat.
Da brauchst du allerdings schreibzugriff auf den Raspi. Kannst natürlich auch sonst irgendeinen Server nehmen, der bei dir läuft.
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
d-dl
Beiträge: 39
Registriert: Mi Sep 16, 2020 3:02 pm

Re: Smart Home 2.0 url Problem

Beitrag von d-dl »

Hallo,

evtl. kann mir jemand Tipps zum escapen/encoden von URLs mit '#' geben.

Meine URL für die Smarthome 2.0 Leistungs-URL lautet http://<server>/shelly.0.SHPLG-S#123456D#1.Relay0.Power

Ersetze ich # mit %23, dann lässt sich die Seite gar nicht erst speichern (ohne Javascript-Fehlermeldung, ohne Netzwerk-Call, aber der Speicherbutton bleibt ausgegraut stehen).

Wenn ich die URL mit "#" speichere, dann schmiert das Script ab

Code: Alles auswählen

2022-02-28 16:50:09: (1) Geschirr rel: 1 oncnt/time: 0/0 Status: 10 akt: 100 Z Hw: 0
urllib.error.HTTPError: HTTP Error 500: Internal Server Error
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
  File "/usr/lib/python3.5/urllib/request.py", line 590, in http_error_default
    result = func(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
    return self._call_chain(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 510, in error
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.5/urllib/request.py", line 582, in http_response
    response = meth(req, response)
  File "/usr/lib/python3.5/urllib/request.py", line 472, in open
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
    aktpowerfl = float(urllib.request.urlopen(urlrep, timeout=5).read().decode("utf-8"))
  File "/var/www/html/openWB/modules/smarthome/http/watt.py", line 34, in <module>
Traceback (most recent call last):
Bevor ich die Werte über ein zusätzliches Skript in eine nettere URL ändere, hat vielleicht jemand hier eine Idee?
Danke!
LutzB
Beiträge: 3560
Registriert: Di Feb 25, 2020 9:23 am

Re: Smart Home 2.0 url Problem

Beitrag von LutzB »

Ersetze das # mal durch %%23.
d-dl
Beiträge: 39
Registriert: Mi Sep 16, 2020 3:02 pm

Re: Smart Home 2.0 url Problem

Beitrag von d-dl »

LutzB hat geschrieben: Mo Feb 28, 2022 6:00 pm Ersetze das # mal durch %%23.
Ha! Das war's, danke dir :)
multi
Beiträge: 7
Registriert: Fr Mär 26, 2021 11:54 am

Re: Smart Home 2.0 url Problem

Beitrag von multi »

Ich habe ein ähnliches Problem. Meine Einschalt url lautet http://192.168.178.45/cm?cmnd=Power%20On

Ich habe ein zusätzliches % Zeichen eingefügt, trotzdem wird nicht geschaltet. Die Parameter sehen gut aus, im Log steht auch, dass geschaltet werden soll.

Im Status log sieht die url so aus

2022-12-14 10:46:13,519 INFO (1) Slbase überlesen device_einschalturl http://192.168.178.45/cm?cmnd=Power%%20On

Sollte da nicht ein % Zeichen wegfallen?

Danke!
Antworten