Marker von Extern über http Befehle setzen?

Antworten
Pino72
Beiträge: 38
Registriert: Mo 19. Dez 2016, 13:03

Di 16. Mai 2017, 21:28

Hi,

ich würde gerne Marker von außerhalb über einen http Befehl (get oder so) setzen können. Geht das überhaupt? Wäre super, dann lässt sich FHEM noch besser mit dem LM "verbinden". Wie lautet denn der Befehl dazu? Über den Quelltext habe ich leider nichts finden können was Marker angeht.....und so geht es leider nicht: 192.168.178.248/control?key=2

Danke
Benutzeravatar
BooosesThaSnipper
Beiträge: 323
Registriert: Mi 24. Feb 2016, 15:10

Di 16. Mai 2017, 22:03

Du musst eine Szene anlegen in der du einen Marker an bzw auschaltest.

Die Szene ist dann der Key, so wie du oben schon versucht hast. In dem Fall wäre es Szene zwei.
Pino72
Beiträge: 38
Registriert: Mo 19. Dez 2016, 13:03

Di 16. Mai 2017, 22:34

Ok Stimmt, also eine leere Szene die nur einen Marker setztim LM anlegen.

der FHEM Befehl wäre dann für Szene 2 so?

GetFileFromURL('http://192.168.178.248/control?key=2') (geht habe ich eben getestet!)

oder eher

GetFileFromURL('http://192.168.178.248/?scene=2') ? (Geht auch :-))

VORSICHT!: Beispiel 1 geht ohne das ? nach dem /, Beispiel 2 muss das ? rein sonst geht es nicht.

Befehl in FHEM dann:

set Marker_Alarm:on { GetFileFromURL('http://192.168.178.248/control?key=2') }
Benutzeravatar
jbmedia
Administrator
Beiträge: 4447
Registriert: Mi 17. Feb 2016, 13:42

Do 18. Mai 2017, 10:24

Das /control am Ende der URL dient dazu, die Datenmenge zu reduzieren, die von der GET-Funktion zurückgeliefert wird. Hinter /control verbirgt sich eine kleine Textdatei im Webspace des Light-Managers, welche lediglich das Wort OK enthält. Es werden also nur 2 Bytes plus ein wenig Overhead zurückgeliefert. Ohne /control liefert die GET-Funktion die index.htm zurück, welche einige KB groß ist.

In der Praxis macht es keinen großen Unterschied, da die Zeitdauer für die Übermittlung in beiden Fällen in Millisekundenbereich liegt. Würde man viele GETs hintereinander senden, dann würde man sicherlich einen Unterschied in der Geschwindigkeit spüren. Die elegantere Lösung ist daher mit /control am Ende.

Zum Toggeln von Markern gibt es übrigens eine eigene Funktion, nämlich togglemkr=n, wobei n die Nummer des Markers im Bereich von 1-32 ist. Man braucht hierbei also keine Szene anzulegen. Die Funktion wird im Web-Interface für das Toggeln von Markern auf Berührung genutzt. togglemkr muss allerdings per POST geschickt werden.
Wir wünschen viel Spaß mit den Produkten und einen erfolgreichen Tag! Ihr jbmedia Team :)

Pino72
Beiträge: 38
Registriert: Mo 19. Dez 2016, 13:03

Mo 12. Jun 2017, 22:06

Vielen Dank für den Hinweis mit "control", hatte mich schon gewundert wo der DAtenwust im Log von FHEM herkam :roll:

Das mit den Markern ist auch ne feine Sache, da spart man sich die Szenen.
Antworten