Anmerkung zu Beitrag "HTTP API"

Begonnen von OdfFhem, 31 Juli 2022, 09:45:21

Vorheriges Thema - Nächstes Thema

OdfFhem

Eigentlich geht es um diesen Beitrag im "FHEM Development"-Bereich: https://forum.fhem.de/index.php/topic,128374.0.html

Da man zu diesem Beitrag im "FHEM Development"-Bereich (als Nicht-Developer) leider keine Antwort schreiben kann, starte ich mal hier einen Versuch.

Ich bin heute eher zufällig auf diesen Beitrag aufmerksam geworden und bin ein wenig überrascht:
- FHEM selbst stellt eine große Palette von Befehlen für die Nutzung in der FHEMWEB-Kommandozeile bereit
- dazu gehören u.a. set, get, list, setreading und deletereading ... sind (vermutlich) weithin bekannt
- erwartungsgemäß stehen diese Befehle auch heute schon für die Nutzung durch "einfache" http-Anfragen zur Verfügung

Im Grunde hat man also scheinbar mit HTTPAPI zwar ein weiteres Modul, aber (noch) keine neue Funktionalität bekommen (das Attribut habe ich jetzt mal nicht näher betrachtet) - es ist also eher eine andere Art der Übermittlung der Komponenten für eine Befehlsausführung. Im Innern werden diese dann in gebräuchliche FHEM-Notation übersetzt.

Auffällig dabei ist u.a.:
- nicht selten notwendige Parameter für z.B. set/get können (noch) nicht (als Parameter) übergeben werden
- will man mehr als ein Reading abfragen, endet dies in vielen Anfragen
- neben Readings gibt es auch noch Internals bzw. Attribute
- reine FHEM-Fehler werden nicht als error= durchgereicht
- ...

@klaus.schauer
Dieser Beitrag ist natürlich nicht böse gemeint.
Mir ist aber noch nicht wirklich klar, warum man für derartige Anwendungsfälle ein weiteres, offizielles Modul benötigt.



Mal schauen, ob es Antworten,Anmerkungen,Fragen,o.ä. gibt ...

betateilchen

Zitat von: OdfFhem am 31 Juli 2022, 09:45:21
Mal schauen, ob es Antworten,Anmerkungen,Fragen,o.ä. gibt ...


  • Du bist einfach zu ungeduldig. Mit irgendwas muss man ja als Entwickler mal anfangen. Insbesondere, wenn man als Entwickler vor einer bestimmten Aufgabe steht, die man gerne lösen möchte, kommt man im ersten Wurf eines neuen Moduls durchaus an den Punkt, an dem eben nur diese Anforderungen umgesetzt sind. Wenn ich mir die "Entstehungsgeschichte" des neuen Moduls anschaut, deutet vieles darauf hin, dass genau das die zugrundliegende Situation war. Das bedeutet aber nicht, dass das Modul sich nicht weiterentwickelt und nach und nach weitere Funktionalitäten dazukommen. Als User sollte man sich immer darüber im Klaren sein, dass jeder Entwickler seine Beiträge zur Weiterentwicklung von FHEM freiwillig und im Rahmen der ihm zur Verfügung stehenden (Frei-)Zeit erbringt.
  • Warum hast Du Deinen Thread zu HTTPAPI eigentlich nicht im korrekten Unterforum gestellt? Mit einer Anfängerfrage hat das doch NULL zu tun.

Zitat von: OdfFhem am 31 Juli 2022, 09:45:21
Dieser Beitrag ist natürlich nicht böse gemeint.

Dein Beitrag deutet für mich auf eine falsche Erwartungshaltung seitens eines Anwenders gegenüber der FHEM Community hin.
Kennst Du die Redensart mit "dem kleinen Finger" und "der ganzen Hand"?
Sehr schade.

Übrigens: ich finde das neue Modul prima!
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Borkk

Moin zusammen,

Völlig wertfreier Kommentar meinerseits.
Mit FHEMWEB und der WebAPI Funktion habe ich ohne große Mühe realisiert, dass man von "aussen" (via Reverse Proxy) per HTTPS FHEM Devices schalten kann, bzw. readings setzen kann. Ich schreibe  darüber beispielsweise Messdaten von meinem FHEM, in einen FHEM Dummy eines Freundes.

Der Aufruf sieht z.B. so aus:

https://<user>:<password>@<URL>/fhem?cmd=set%20<fhem_device>%20on

Als einfacher FHEM Notify:

api_button2:.* {
my $z1 = urlEncode(Value ("api_button2"));
{ HttpUtils_BlockingGet ({ url=> 'https://<user>:<password>@<URL>/fhem?cmd=set%20<fhem_device>%20'.$z1.'&XHR=1'})}
}


Aber ich bin gespannt was das neue Modul mehr kann oder es die API Sache einfacher macht.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

OdfFhem

Zitat von: betateilchen am 31 Juli 2022, 17:29:13
Du bist einfach zu ungeduldig.
Scheinbar nicht, da das Modul ja schon fertig ist.
Zitat von: klaus.schauer am 28 Juli 2022, 16:56:16Das Modul HTTPAPI ist jetzt fertig.



Zitat von: betateilchen am 31 Juli 2022, 17:29:13
Warum hast Du Deinen Thread zu HTTPAPI eigentlich nicht im korrekten Unterforum gestellt? Mit einer Anfängerfrage hat das doch NULL zu tun.
Wie bereits geschildert, kann man zum Thema direkt keine Antwort hinterlassen. Und - nicht ganz unerwartet - im dortigen Unterforum auch kein neues Thema starten.
Somit habe ich es notgedrungen (als neues Thema) in Anfängerfrage platziert ... ich verschiebe es aber natürlich auch gern an einen besseren Platz.

In meinen Augen ist die eigentliche Frage
ZitatGibt es schon eine allgemein verwendbare HTTP API in Fhem mit der man set- und get-Befehle der Devices ausführen und deren Readings abfragen könnte ...
aber ein Thema, dass eher einer Anfängerfrage gleicht ... beispielsweise https://forum.fhem.de/index.php/topic,43159.0.html



Zitat von: betateilchen am 31 Juli 2022, 17:29:13
Dein Beitrag deutet für mich auf eine falsche Erwartungshaltung seitens eines Anwenders gegenüber der FHEM Community hin.
Kennst Du die Redensart mit "dem kleinen Finger" und "der ganzen Hand"?
Sehr schade.
Das lasse ich dann mal unkommentiert ... wir wollen ja nicht vom eigentlichen Thema abweichen.



Zitat von: betateilchen am 31 Juli 2022, 17:29:13
Übrigens: ich finde das neue Modul prima!
Da ich FHEM intensiv nutze, finde ich Module grundsätzlich prima.
Welche Module ich dann tatsächlich nutze, hängt natürlich hauptsächlich vom benötigten Einsatzzweck ab.

betateilchen

Zitat von: OdfFhem am 01 August 2022, 20:50:42
Wie bereits geschildert, kann man zum Thema direkt keine Antwort hinterlassen. Und - nicht ganz unerwartet - im dortigen Unterforum auch kein neues Thema starten.
Somit habe ich es notgedrungen (als neues Thema) in Anfängerfrage platziert

Das ist keine Antwort auf meine Frage. "help httpapi" liefert als Ergebnis

Module: 02_HTTPAPI.pm Maintainer: klaus.schauer Forum: Automatisierung

und im Unterforum "Automatisierung" hättest Du sehr wohl den Thread platzieren können.
Siehe auch: https://forum.fhem.de/index.php/topic,13092.0.html

Den Rest Deines Geschwurbels lasse ICH jetzt mal unkommentiert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

OdfFhem

Zitat von: betateilchen am 01 August 2022, 21:20:21
Das ist keine Antwort auf meine Frage. "help httpapi" liefert als Ergebnis

Module: 02_HTTPAPI.pm Maintainer: klaus.schauer Forum: Automatisierung
Bei meinem Updatestand liefert "help httpapi": Module httpapi not found
(... im Zweifel hilft aber https://fhem.de/MAINTAINER.txt ...)

Beim kompletten Lesen von https://forum.fhem.de/index.php/topic,107904.0.html hatte ich mich auf die erste (passende) Möglichkeit "gestürzt".
Passend auf den ersten Blick, weil es um "HTTP API" und nicht allein um 02_HTTPAPI.pm ging.
Aber "Automatisierung" passt vermutlich wirklich besser ... also verschieben ...

Zitat von: betateilchen am 01 August 2022, 21:20:21
und im Unterforum "Automatisierung" hättest Du sehr wohl den Thread platzieren können.
Siehe auch: https://forum.fhem.de/index.php/topic,13092.0.html
Habe auch nie behauptet, dass ich im Unterforum "Automatisierung" keine Berechtigung hätte ...