Netzwerkzugriff auf fhem ohne telnet

Begonnen von DarkVolli, 25 Oktober 2015, 09:43:05

Vorheriges Thema - Nächstes Thema

DarkVolli

Ich möchte aus einem C oder Python Programm heraus auf FHEM zugreifen um den Status eines Sensors abzufragen bzw. einen Aktor schalten. Über das telnet Interface ist ja auch standardmäßig möglich. Gibt es dazu eine weitere Möglichkeit? Z.B: ein Modul das das Senden/Empfangen einfach über ip:port ohne weiteres Protokoll erlaubt?

drhirn

Ich weiß jetzt nicht, was genau du meinst. Du wirst immer ein Protokoll brauchen.
HTTP wär aber noch eine Möglichkeit.

DarkVolli

Ohne Kommunikationsprotokoll  wäre z.B. das ich einen Socket (ip und port des fhem Server) öffne und dann z.B. "set LampenName on" auf den Socket schreibe, dieser Befehl wird dann ausgeführt.

Zum Thema HTTP: gibt es denn über das Webinterface hinaus eine http-Schnittstelle über die kommuniziert werden kann? Im wiki und commandref habe ich dazu nichts gefunden...

drhirn

Hab ich auch schon gesucht und nichts gefunden ;)

Generell wird da aber eh über XHR kommuniziert, das erkennt man mit den Entwicklertools des jeweiligen Browsers.
Ein Lampenbefehl sieht z.B. so aus: http://<url>/fhem?cmd=set LampenName on&XHR=1

Irgendwo habe ich auch mal etwas über ein node.js Modul gelesen. Ich find das aber leider auf die Schnelle nicht mehr.

Ich hoffe aber, andere können dir da genauere Details liefern. Interessiert mich nämlich auch brennend.

herrmannj

Zitat von: DarkVolli am 25 Oktober 2015, 11:11:39
Ohne Kommunikationsprotokoll  wäre z.B. das ich einen Socket (ip und port des fhem Server) öffne und dann z.B. "set LampenName on" auf den Socket schreibe, dieser Befehl wird dann ausgeführt.

Das ist dich genau die Beschreibung des telnet interface. Was spricht denn dagegen ?

vg
joerg

DarkVolli

#5
Zitat von: herrmannj am 25 Oktober 2015, 11:34:59
Das ist dich genau die Beschreibung des telnet interface. Was spricht denn dagegen ?
Naja, eigentlich nichts - ich wollte nur wissen ob das auch ohne Telnetprotokoll möglich ist...

Aber Dank drhirn kenne ich ja jetzt das "XHR=1", das vereinfacht das Coden erheblich ;)