Hallo zusammen,
mein lokaler Switch kann über einen kleinen Webbrowser seine POE-Eingänge ein- und ausschalten. Den Status kann ich schon prima mit HTTPMOD auslesen:
defmod SWITCH3 HTTPMOD http://192.168.178.101/ 300
attr SWITCH3 get01Poll 1
attr SWITCH3 get01PollDelay 300
attr SWITCH3 get01URL http://192.168.178.101/PortSettingRpm.htm
attr SWITCH3 get02Name SystemInfoRpm
attr SWITCH3 reading91Name Port1_Status
attr SWITCH3 reading91OMap 0:Link Down, 1:Auto, 2:10Half, 3:10Full, 4:100Half, 5:100Full, 6:1000Full
attr SWITCH3 reading91Regex link_status\:\n?\"?\[([0-9]).*,0,0\]\"?\n?
Um nun den Statusauch willentlich zu setzen...
switch3-Screenshot.PNG
So klappt es leider noch nicht:
attr SWITCH3 set01Data {"set" :{"portid" :"1", "state" :"$val" }}
attr SWITCH3 set01Hint 0,1
attr SWITCH3 set01Name Port1_State
attr SWITCH3 set01URL http://192.168.178.101/PortSettingRpm.htm
attr SWITCH3 setHeader1 Content-Type: application/json
Der Zugriff via URL klappt:
MicrosoftTeams-image.png
Ziel im FHEM:
switch3-Screenshot2.PNG
Danke für jeden Hinweis und Grüße
Hallo,
mit
attr SWITCH3 set01Data {"set" :{"portid" :"1", "state" :"$val" }}
übergibst Du die Daten im Body.
In Deinem Screenshot hängst Du sie aber als GET-Parameter an die URL an.
Das kannst Du per HTTPMOD auch machen. Siehe Replacements.
Gruss
Stefan
Hey, danke für die Antwort. Ja, ich hatte es dann via GET gelöst und die ursprüngliche Frage oben umgeschrieben, falls doch noch jemand auf der Suche nach einer Lösung sein sollte.
set01IMap 0:Disable, 1:Enable
set01Name Port1_Status
set01URL http://192.168.178.101/port_setting.cgi?portid=1&state=$val&speed=5&apply=Apply
switch3.PNG
Die Übergabe im Body hat der Switch nicht haben wollen.
Grüße!