FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ComputerZOO am 29 April 2024, 12:59:40

Titel: Senden von HTTP-Requests (Ikea FREKVENS X-Clock / Y-Clock)
Beitrag von: ComputerZOO am 29 April 2024, 12:59:40
Hallo mal wieder,
ich stehe gerade etwas auf dem Schlauch. Ich habe einen Ikea FREKVENS und OBEGRÄNSAD mit einem ESP-8266 ausgestattet was auch einwandfrei funktioniert. Die MQTT-Integration beschränkt sich leider auf die Anzeige von zwei Zeilen Text über zwei frei zu definierende Topics (funktioniert ebenfalls mit FHEM). Ich kann allerdings per Browseraufruf wie z.B.:
http://[IP]/display?action=poweron = einschalten,
http://[IP]/display?action=poweroff = ausschalten, oder
http://[IP]/display?brightness=5&action=savebrightness = Helligkeit regeln.
die Geräte ansteuern.

Nun zu meiner Frage: Wie kann ich das in FHEM mit einem Device realisieren? Ich denke das sollte irgendwie mit HTTPMOD möglich sein dass ich dann z.b. mit set [DEVICE] on den entsprechenden http://[IP]/display?action=poweron - Befehl absetzen kann.
Titel: Aw: Senden von HTTP-Requests (Ikea FREKVENS X-Clock / Y-Clock)
Beitrag von: betateilchen am 29 April 2024, 14:00:05
Zitat von: ComputerZOO am 29 April 2024, 12:59:40Ich denke das sollte irgendwie mit HTTPMOD möglich sein dass ich dann z.b. mit set [DEVICE] on den entsprechenden http://[IP]/display?action=poweron - Befehl absetzen kann.

Ja. Und warum machst Du das dann nicht so? Das ist doch - sogar mit Beispiel! - in der commandref zu HTTPMOD (https://commandref.fhem.de/#HTTPMOD) gut beschrieben?

Configuration to define a set command and send data to a device

When a set option is defined by attributes, the module will use the value given to the set command
and translate it into an HTTP-Request that sends the value to the device.
Titel: Aw: Senden von HTTP-Requests (Ikea FREKVENS X-Clock / Y-Clock)
Beitrag von: ComputerZOO am 29 April 2024, 15:20:45
GUESS WHAT!? - Soweit war ich auch schon...

Mein Problem ist dass ich die "set01xxx"-Attribute nicht funktionsfähig konfiguriert bekomme.


UPDATE:
Nach langem "Googeln" habe ich eine halbwegs brauchbare Lösung gefunden:

defmod ws.httpmod.xyclock HTTPMOD none 0
attr ws.httpmod.xyclock event-on-change-reading .*
attr ws.httpmod.xyclock eventMap /power on:on/power off:off/
attr ws.httpmod.xyclock set01IMap poweroff:off, poweron:on
attr ws.httpmod.xyclock set01Name power
attr ws.httpmod.xyclock set01URL http://[IP]/display?action=$val
attr ws.httpmod.xyclock webCmd on:off