Neue Version von HTTPMOD mit neuen Features zum Testen

Begonnen von StefanStrobel, 05 Dezember 2015, 08:31:32

Vorheriges Thema - Nächstes Thema

StefanStrobel

Hallo,

wenn Deine Modulversion nicht veraltet ist sollte folgendes gehen:

attr myDevice set01Name Test
attr myDevice set01TextArg 1
attr myDevice set01Local 1


danach geht

set myDevice Test hallo


Gruss
   Stefan

beaune

Du hast recht... war noch auf der Version von Post #1040. Mit der aktuellen gehts.

beaune

Noch ne Frage: Wenn man das so macht, dann wird zwar der Wert des Readinsg geschrieben, es wird aber kein Event erzeugt. Ich kann also nicht per notify auf dieses Command reagieren. Wie kann man das lösen? Muß man dann ein SetFollowGet machen? Aber dann müßte es ja auch ein get[0-9]*Local geben. was es ja nicht gibt. Oder gibt es andere Möglichkeiten?

ch.eick

Zitat von: beaune am 20 März 2021, 12:28:49
Noch ne Frage: Wenn man das so macht, dann wird zwar der Wert des Readinsg geschrieben, es wird aber kein Event erzeugt.
Hast Du eventuell ein event-on-*-reading gesetzt? Da müsstest Du das neue reading dann auch aufnehmen.

VG Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

beaune

Hi, hatte ich auch schon überlegt, aber nein, ich verwende event-on-... hier nicht. Meine Vermutung ist eher, dass da noch ein Bug in der Implementierung des Attributs setXXLocal vorliegt.

StefanStrobel

so ist / war es. Hab gerade eine neue Version eingecheckt, bei der auch für setXXLocal readings ein Event erzeugt wird. Ohne Event ist es nicht sinnvoll.
Die neue Version kommt ab morgen per update.

Gruss
   Stefan

beaune

Hab gerade probiert...läuft. Danke für die Korrektur.

mi.ke

Hallo,

ich vermisse in HTTPMOD das Internals "code".
Hier wurden früher die HTTP-ServerStatusCodes 200|404 etc. angezeigt.

Wie bekomm ich Seitenstatus nun ausgelesen bzw. könnte "code" wieder den Weg in die Internals finden ?

cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

StefanStrobel

Hallo mi.ke,

die Internals von den Httputils sind beim letzten größeren Update verschoben worden.
Siehe #957 https://forum.fhem.de/index.php/topic,45176.945.html

oder auch #1025

Das frühere internal code und alle anderen Internals, die von den Httputils gesetzt werden, sind aber weiterhin als $hash->{HttpUtils}{code} erreichbar.

Gruß
    Stefan

mi.ke

Zitat von: StefanStrobel am 22 März 2021, 17:49:48

Das frühere internal code und alle anderen Internals, die von den Httputils gesetzt werden, sind aber weiterhin als $hash->{HttpUtils}{code} erreichbar.


Hallo Stefan,
danke für Deine schnelle Antwort.
Aber ich muss gestehen "$hash->{HttpUtils}{code}" sagt mir leider gar nichts.
Wie und wo muss/kann ich dies verwenden? userReadings?
Kannst Du mir bitte nen Schubbs geben
cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

StefanStrobel

Sorry, das war wohl zu stark verkürzt.

Ein Internal ist ja ein Key im Device-Hash des Fhem-Geräts. Das Internal "code" war also intern als  $defs{httpmod_name}{code} zu erreichen oder eben über die Funktion InternalVal(httpmod_name, 'code', '');

Jetzt sind alle Einträge, die von den HttpUtils erzeugt wurden, in einem weiteren Hash, der über InternalVal(httpmod_name, 'HttpUtils', ''); oder $defs{httpmod_name}{HttpUtils} erreichbar ist drin.

Innerhalb von HTTPMOD verwende ich immer die Variable $hash als Pointer auf den aktuellen Geräte-Hash.
$hash->{HttpUtils}{code} ist also das gleiche wie $defs{httpmod_name}{HttpUtils}{code}

In Post 1025 wurde das schon mal mit Beispielen diskutiert.

Ich hoffe das hilft weiter.

Gruß
    Stefan

mi.ke

Dank Dir für die ausführliche Erklärung.
Die Abfragen funktionieren jetzt wieder wie zuvor.
Klasse, Dank Dir.
cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

uwirt

Ich kann mittels HTTPMOD die Adressen von Unterseiten einer Webseite mittels regex als readings (iso-1 bis -5) darstellen:


iso-1 20210610
iso-2 20211119
iso-3 20220516
iso-4 20221025
iso-5 20230505


Gibt es eine Möglichkeit diese Readings in der Definition einer weiteren HTTPMOD-Instanz zu verwenden:

define Eclipse HTTPMOD https://www.webseite.com//iso-1 86400
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya|EcoWitt

frank

du kannst auch unterschiedliche adressen/gets in einer instanz abrufen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

uwirt

#1064
Wie fügt man denn das Reading der URL an?


   
attr mydevice get01URL https://www.webseite.com/location?iso=$iso-1
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya|EcoWitt