Server in FHEM für REST-Zugriff für Infos "von außen" (Setzen von dummy)

Begonnen von c2j2, 24 September 2018, 08:54:14

Vorheriges Thema - Nächstes Thema

c2j2

Moin,

ich habe eine App im Auto, die die Zustände des Autos (Ort, Ladezustand [Elektroauto!]) per REST auf einen Server hochladen kann.

Die folgende Doku beschreibt das einfache Protokoll:

ZitatThe following data is sent to the Server in REST format (URL?parm1&parm2&parm3...). The server must respond with
"status:0" or a non zero status if an error is detected.

• user=xxx User ID
• pass=xxx Password
• DevBat=xx Device Battery %
• Gids=xxx
• Lat=xxx.xxxxx
• Long=xxx.xxxx
• Elv=xxx Elevation in meters
40
• Seq=xx Sequence number of transfer
• Trip=xx Trip number
• Odo=xxx Odometer in km
• SOC=xx.xx State of Charge
• AHr=xx.xxxx Current AHr capacity
• BatTemp=xx.x Average Battery Temperature
• Amb=xx.x Ambient Temperature
• Wpr=xx Front Wiper Status (FB)
• PlugState=x Plug State (EL)
• ChrgMode=x Charge Mode (EM)
• ChrgPwr=xxxx Charge Power in watts
• VIN=xxxxxxxxxxxxxxxx

Das dürfte an sich trivial sein - aber wie bindet man das am besten in FHEM ein, damit ich diese Werte zur Weiterverarbeitung habe?

Wahrscheinlich - wenn FHEM keine Server-Fähigkeiten dafür hat - muß ich ein Mini-Server-Skript installieren, das die URL parsed und das an FHEM übergibt.

So oder so wäre ich für Tip(p)s dankbar.

c2j2


Prof. Dr. Peter Henning

Zitatwenn FHEM keine Server-Fähigkeiten dafür hat
Aber doch.
http://<FHEM-IP>:<FHEM:PORT>/fhem?XHR=1&fwcsrf=<CSRF-Token>&cmd.<name>=set%20$<name>%20<parameter>

LG

pah

reibuehl

Das entscheidende im Originalpost war nicht das "Server-Fähigkeiten" sonder das "dafür" :-)

FHEM spricht sein eigenes Protokoll, kann aber meines Wissens nach nicht einfach so an beliebige andere Protokolle wie das im ersten Post beschriebene angepasst werden. Der Client steht hier ja schon fest und @c2j2 hat auf das verwendete Protokoll vermutlich auch keinen Einfluss, so dass er es nicht auf die set Kommando Syntax von FHEM umschreiben kann.
Reiner.

betateilchen

Zitat von: reibuehl am 25 September 2018, 08:56:44
FHEM spricht sein eigenes Protokoll, kann aber meines Wissens nach nicht einfach so an beliebige andere Protokolle wie das im ersten Post beschriebene angepasst werden.

Im ersten Post wird nirgends ein Protokoll beschrieben. Es geht um REST und das ist in den allermeisten Fällen (auch hier) nix weiter als ein Webservice, der auf http bzw. https basiert. Sofern im Auto die URL des empfangenden Servers konfigurierbar ist, sollte sich die Übertragung auch relativ einfach in FHEM umsetzen lassen und das Parsen der Parameter kann dann innerhalb von FHEM erfolgen.

Zitat von: reibuehl am 25 September 2018, 08:56:44
FHEM spricht sein eigenes Protokoll

sogar deren mehrere (http,telnet,mqtt...). Aber ich wusste bis eben nicht, dass diese Protokolle FHEM-spezifisch und/oder proprietär sind...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

peterk_de

Das HTTPSRV macht genau, was du brauchst, und legt dir die Parameter des Requests direkt als Reading an (musst aber als Attribut angeben, welche Parameter erlaubt sind)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

betateilchen

Genau deshalb schrieb ich ja...

Zitat von: betateilchen am 25 September 2018, 14:15:18
Sofern im Auto die URL des empfangenden Servers konfigurierbar ist, sollte sich die Übertragung auch relativ einfach in FHEM umsetzen lassen und das Parsen der Parameter kann dann innerhalb von FHEM erfolgen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Prof. Dr. Peter Henning

ZitatFHEM spricht sein eigenes Protokoll
Das ist sicher für viele neu, mich eingeschlossen. ;D ;D

LG

pah