Benötige Hilfe bei HTTPMOD

Begonnen von eppi, 26 Januar 2021, 18:24:09

Vorheriges Thema - Nächstes Thema

eppi

Hallo zusammen
Ich benötige Hilfe für eine HTTPMOD Anfrage und das Schalten des Smart Switch. Der Switch verfügt über eine REST-API welche hier beschrieben ist:
https://homeapp-faq.swisscom.ch/hc/de/articles/360017493300--M%C3%B6chten-Sie-den-Switch-via-REST-API-steuern-

Was habe ich bereits herausgefunden:
Eine Relay abfrage kann ich mittels CURL machen:
curl -H GET http://192.168.2.76/report

Die Antwort lautet:

{
        "relay": true
}

Einschalten kann ich das Relay wie folgt:
curl http://192.168.2.76/relay?state=1

und ausschalten mit:
curl http://192.168.2.76/relay?state=0


Könnte mir jemand helfen, ein HTTPMOD zu schreiben, damit ich diesen schalten und den Status des Relay auslesen kann?
Danke vielmals und viele Grüsse Eppi

betateilchen

Dazu braucht es doch kein HTTPMOD, das geht im einfachsten Fall über einen cmdalias.


defmod alias_switchOn  cmdalias switchOn  AS {GetFileFromURL('http://192.168.2.76/relay?state=1')  }
defmod alias_switchOff cmdalias switchOff AS {GetFileFromURL('http://192.168.2.76/relay?state=0')  }


Danach kannst Du mit switchOn bzw. switchOff den Schalter an- und ausschalten.
Testen kannst Du die neu erzeugten Befehle einfach in der FHEM Befehlszeile.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

eppi

Guten Morgen
Danke für die Hilfe. Leider funktioniert das nicht, der Switch schaltet weder ein noch aus; im FHEMLog ist auch nichts ersichtlich was auf einen Fehler hindeutet. Wichtig zu erwähnen ist mir noch, dass wenn ich im Browser die URL http://192.168.2.76/relay?state=1 eingebe, der Switch ebenfalls nicht schaltet. Gelesen habe ich, dass dies ev wegen CORS des Switch sein kann. Bis anhin funktioniert das Schalten nur wenn ich in der Console curl http://192.168.2.76/relay?state=1 eingebe...
Danke vielmals und viele Grüsse Eppi