[gelöst] - "HTTP POST" Werte in externem Gerät setzen.

Begonnen von Frank_Huber, 22 Mai 2017, 16:11:05

Vorheriges Thema - Nächstes Thema

Frank_Huber

Hi,

Ich würde gerne Werte in meinem Heizkessel setzen. Dies geht nach folgender Seite wohl per HTTP-POST.
https://homematic-forum.de/forum/viewtopic.php?f=43&t=22058&p=185613&hilit=ETA#p185613

Wie müsste ich so etwas denn in FHEM umsetzen?
Bin leider in Linux nen Amateur und als Programmierer ne Niete. :-)

Eine beschreibung der gesamten API als pdf hängt an.

Danke & Grüße
Frank

andies

Das Modul heißt HTTPMOD und ist im Wiki relativ gut dokumentiert. Leider ist das aber eine eierlegende Wollmilchsau (das sollte ein Kompliment sein!) und daher kann es nicht nur viel, sondern muss auch entsprechend komplex eingerichtet werden. Also das wird etwas Zeit kosten.


Gesendet von iPad mit Tapatalk Pro
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

mit HTTPMOD hole ich werte von dem Gerät ab.
Soweit ich weis kann ich damit aber keine Werte setzen.

Vielleicht gibt es ja hier jemanden der etwas ähnliches macht und mich in ne Richtung schieben kann.

/Frank

jojoja

Hallo Frank,

ums hier zu ergänzen, wir haben vorhin zur selben Zeit im anderen Thread geschrieben :D

Probiers mal mit GetFileFromURL: https://wiki.fhem.de/wiki/HttpUtils
und in data müsste dann der POST rein.

Gruß Johannes

PS: Codeschnipsel ist das falsche Unterforum, sieht Hinweis in der Übersicht :D
FHEM 6.0 @ IntelNUC6CAYH;  Unifi USG, Switch, AP AC Pro; HM-MOD-UART;  Sonos Play 1 & 3, One, Beam; Philips Hue

Frank_Huber

Danke, verschoben.

muss mich da mal einlesen und experimentieren.
Das kann ich aber erst machen wenn ich zuhause bin.
Wer weis was mein Heizkessel sonst macht...

/Frank

andies

PS Eventuell solltest Du Dir auch Burp anschauen um zu sehen, wie genau das geschrieben wird (Format, Adresse etc.).


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

viegener

Nur zur Info - HTTPMOD hat auch die Möglichkeiten set-Befehle zu definieren - einfach mal in der Commandref schauen

ZitatConfiguration to define a set command and send data to a device
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Frank_Huber

Es gibt bestimmt viele Wege nach Rom. Man muss sie nur umsetzen können. Habt ihr evtl Beispiele für die Lösungswege?

Gesendet von meinem S3_32 mit Tapatalk


viegener

Im fhemwiki gibt es ein Beispiel bei dem JSON per set.command gesendet wird, das müsste sich einfach auf das XML-Format umsetzen lassen:

https://wiki.fhem.de/wiki/HTTPMOD#Advanced_configuration_to_define_a_set_command_and_send_data_to_a_device
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

andies

Wenn du sonst mit einem Formular werte setzt, lohnt es sich wahrscheinlich, das Wertesetzrn mit Burp aufzuzeichnen und dann mit HTTPMOD und get (via POST) zu kopieren. Ich versuche das gerade mit meinem Speedport. Zumindest einloggen kann ich schon.


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

andies, nein kein Formular zum tragen...

viegener, das schaut nach nem Lösungsweg aus, danke!

Gesendet von meinem S3_32 mit Tapatalk


Frank_Huber

Zitat von: jojoja am 22 Mai 2017, 16:21:49
Probiers mal mit GetFileFromURL: https://wiki.fhem.de/wiki/HttpUtils
und in data müsste dann der POST rein.

soebena usprobiert. wenn ich in der FHEM Kommandozeile GetFileFromURL (http://192.168.12.82:8080, 5, POST /user/var/112/10021/0/0/12112 HTTP/1.1 Content-Type: application/x-www-form-urlencoded value=1803, 0, 4) eigebe bekomme ich als Fehler.
Unknown command GetFileFromURL(http://192.168.12.82:8080,, try help.

Werd mich jetzt mal am HTTPMOD versuchen und wieder berichten.

KernSani

GetFileFromUrl ist eine perl Funktion, du musst das Ganze also in geschweifte Klammern packen.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Frank_Huber

#13
Ich werd hier noch zum Hirsch!

Nach einigen Fehlversuchen hab ich so jetzt erfolgreich die Entaschungs-Taste drücken können:
{GetFileFromURL("http://192.168.12.82:8080/user/var/40/10021/0/0/12112",5,"value=1803",0,4)}

Damit bin ich schon einen Riesen Schritt weiter! :)

andies

#14
Hast Du schon mal HTTPMOD probiert?

defmod Heizkessel HTTPMOD none 0
attr Heizkessel userattr get1Data get1Name set1URL
attr Heizkessel get1Name Entaschung
attr Heizkessel get1URL http://192.168.12.82:8080/user/var/40/10021/0/0/12112
attr Heizkessel get1Data value=1803
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann