Hallo Forum,
ich habe seit neustem Steckdosen die über einfache HTTP get request geschaltet werden können. Leider scheitere ich gerade daran diese in FHEM einzubinden. Ich finde einfach keine simple Methode, ein Gerät zu erstellen, welches einfach nur ein HTTP get absetzt.
Versucht habe ich es mit HTTPMOD
Zitat
define testDevice HTTPMOD none
attr testDevice userattr set01Name set01URL
attr testDevice set01Name power
attr testDevice set01URL http://ip/power?cmd=$val
Tue ich nun folgendes
Zitat
set testDevice power 1
erhalte ich nur "No set implemented for testDevice"
Ich muss zugeben, dass ich mich vorher noch nie mit HTTPMOD auseinandergesetzt habe und mich die Dokumentation ziemlich verwirrt, da es seitenweise nur um das Abrufen von Werten geht. Eine Funktion die ich hier überhaupt nicht benötige. Die obigen Befehle habe ich so einfach aus dem einzige Abschnitt über set commands entnommen. Aber sie funktionieren so einfach nicht ...
Bin ich nur zu blöd die Doku zu verstehen oder kann HTTPMOD diese einfache Aufgabe wirklich nicht bewältigen? Wenn ja was wäre die Alternative?
Vielen Dank für eure Hilfe :)
Es gibt einen kompakten Abschitt zu set in der commandref zu HTTPMOD.
Jetzt ist die Frage, was du für die Dokumentation hälst. Es ist NICHT das WIKI.
lists von Devices sind immer sinnvoll, damit der Helfende benötigte Infos durchsuchen kann.
Genau den genannten Abschnitt aus der commandref habe ich kopiert und nur die optionalen Werte hint, min, max, header und data weggelassen, da ich ja einen GET und keinen POST request möchte.
Trotzdem funktioniert "set testDevice power 1" nicht. Ich bekomme nur den Fehler "No set implemented for testDevice" zurück.
Also irgendwas muss ich irgendetwas wichtiges übersehen haben. Oder das Beispiel in der commandref funktioniert nicht, wovon ich jetzt mal nicht ausgehen möchte.
Das Device, das dabei entsteht sieht folgendermaßen aus
Internals:
CFGFN
DEF none
Interval 300
NAME testDevice
NR 115116
STATE ???
TYPE HTTPMOD
timeout 2
url none
Attributes:
set01Name power
set01URL http://ip/power?cmd=$val
userattr set01Name set01URL