use URI::Escape

Begonnen von szallah, 14 Januar 2015, 01:47:00

Vorheriges Thema - Nächstes Thema

szallah

Hi,

eine Änderung, die ich nach jedem Update an der fhem.pl vornehme:
use URI::Escape;

Hintergrund: Ich hab einen extra Webserver mit Websockets usw. um ein eigenes Frontend für meine Homematic-basierte Alarmanlage bereit zu stellen. FHEM ist bei mir also im Endeffekt nur die Schnittstelle zwischen der Hardware (Tür-Kontakten) und meinem Webinterface.
FHEM sendet bei den Türkontakten notifies die so aussehen:
define http_aufruf_tuerEingang notify tuerEingang { GetHttpFile("1.2.3.4:8000", "/setstate?dev=1&msg=".(uri_escape($EVENT))) }
Der Server weiß, wie er mit der msg umgehen muss. Nur geht der teil hinten eben nur, wenn URI Escape vorhanden ist.

Ich kann's zwar selbst immer wieder rein schreiben, aber ich denke, dass andere ggf. auch Gefallen an den Möglichkeiten finden könnten, die diese Art von http-Aufrufen bietet. Und der Aufwand für diesen "Wunsch" ist ja auch nicht sehr hoch. :)

Gruß

rapster

Also bei mir ist uri_escape() verfügbar auch ohne dass ich es explizit einbinde? (Evtl. wird es ja bereits durch ein anderes Fhem-Modul geladen)

Aber auch wenns nicht so wäre, warum bindest du das Modul nicht einfach über deine myUtils ein?

szallah

Da ich FHEM derzeit für nichts anderes als das benutze, sind auch keine anderen Module usw. eingebunden. Ich wüsste im Moment nicht mal, wie ich das anstellen müsste mangels Erfahrung mit FHEM. Die Library direkt einzubinden war für mich der einfachste Weg ohne mich in die Möglichkeiten von FHEM einzulesen.
Und für meinen Zweck ist's eben wirklich nur diese eine Library die fehlt, um schon alles machen zu können was ich will. Dafür dann gleich noch irgendwelche Module laden, die ich a) nicht brauche und b) ggf. sogar das Konstrukt fehleranfälliger machen, finde ich irgendwie "overkill". Zumal es ja für die zum Kern gehörenden notifications eine nützliche Erweiterung ist.

Als "Neuling" hinsichtlich FHEM kann ich natürlich nicht beurteilen, wie sinnvoll mein Wunsch tatsächlich ist. Aber für mich als Web-Entwickler gehört solche Basis-Funktionalitäten eben direkt in den Kern. :)

rapster


justme1968

oder ein

  define myInit notify global:INITIALIZED {use URI:Escape}

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968