warum HTTP::Request ?

Begonnen von justme1968, 23 Januar 2019, 16:10:03

Vorheriges Thema - Nächstes Thema

justme1968

gibt es einen grund warum es module gibt die HTTP::Request verwenden statt der HttpUtils?

was fehlt in den HttpUtils?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CoolTux

Hallo Andre,

Vielleicht sollte man erwähnen welche Module es sind dann fühlen sich die Verantwortlichen vielleicht besser angesprochen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

Siehe Anhang.

Kommt vermutlich daher, dass ein Modulautor ein anderes Modul mit ähnlichen Anforderungen als "Vorlage" nimmt und dann für seine Zwecke anpasst. So wird Unfug von Modulgeneration zu Modulgeneration weitervererbt.

Davon abgesehen:

Mögen tu ich die HttpUtils auch nicht. Manche perl Module (z.B. HTTP::Request) sind in ihrer Funktionsweise definitiv viel einfacher zu verstehen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

#3
ich bin nur zufällig über einen thread gestolpert bei dem HTTP::Request im fehlerfall scheinbar ganz fhem zum beenden bringt.

das die ist leider in einigen externen perl modulen ein problem. auch der fhem dns client der das blockieren bei internet ausfall verhindert funktioniert nur mit HttpUtils.

wenn man sich in die arbeitsweise von HttpUtils eingedacht hat ist es sehr einfach zu verwenden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CoolTux

Na wie gut das ich nach gefragt habe. UWZ habe ich geerbt. Werde das die Tage umbauen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KölnSolar

Controlpoint.pm ist ja "quasi" eine externe Lib(upnp). Da wird sich ein Umbau vermutlich nicht sinnvoll durchführen lassen.
Wird verwendet in SONOS, DLNARenderer, DLNAClient(ist eh deprecated).
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

justme1968

SONOS verwenden einen extra prozess. bringt als fhem zumindest nicht zum abstürzen.

für die reine discovery von upnp geräten wird es demnächst das hier: https://forum.fhem.de/index.php/topic,67368.msg880001.html#msg880001 geben. das hat auch noch den Vorteil das es nicht blockiert.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

KölnSolar

nur discovery wird aber nicht reichen. DLNARenderer und SONOS verwenden die Lib ja als kompletten DLNA-Controlpoint.  :'(
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

justme1968

discovery (vor allem nicht blockierend) ist aber ein anfang und der teil der mit HttpUtils nicht geht. das steuern an sich sollte dann mit HttpUtils gehen.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus M.

Also spätestens bei POST Requests mit User Agent Credentials, MIME Types und File Upload werden irgendwann die HttpUtils Beispiele rar, an denen man sich auch nur ansatzweise orientieren kann ;)
Ich kann aber beruhigt sagen, dass keine der Fundstellen in meinen SVN Modulen aktiver Code ist.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Markus Bloch

Zitat von: Markus M. am 23 Januar 2019, 18:52:47
Also spätestens bei POST Requests mit User Agent Credentials, MIME Types und File Upload werden irgendwann die HttpUtils Beispiele rar,

Sowas geht an sich alles mit HttpUtils. Da geht es eher darum zu wissen, welche Header wie gesetzt sein müssen und wie der HTTP Body aussehen muss. Wenn man das weis, ist das genauso gut mit HttpUtils umsetzbar.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)