Autor Thema: Neue Version von HTTPMOD mit neuen Features zum Testen  (Gelesen 256049 mal)

Offline blueberry63

  • Sr. Member
  • ****
  • Beiträge: 741
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1215 am: 18 Dezember 2022, 11:16:52 »
Hallo Stefan,

auch bei mir funktioniert es jetzt und zwar wenn ich "bodyEncode=utf8" und "bodyDecode=none" (oder weglasse) setze.

Setze ich "bodyEncode=utf8" und "bodyDecode=utf8", wird das "ß" nicht richtig dargestellt, aber ich bekomme wenigstens die Daten geliefert.

Vielen Dank für die schnelle Umsetzung!

Gruß
Blueberry63

FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Offline Gisbert

  • Hero Member
  • *****
  • Beiträge: 2876
  • Das Ziel ist das Ziel !
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1216 am: 20 Dezember 2022, 09:57:11 »
Hallo Stefan,

ich möchte gerne Börsenindizes auslesen.
Ich hab das in der Vergangenheit immer wieder versucht, es lief dann eine zeitlang, bis sich wieder etwas an der aufgerufenen Seite geändert hat.

Ich wollte jetzt  einen neuen Versuch starten und die Daten von https://www.onvista.de/index auslesen.
Dazu habe ich folgendes definiert:
defmod myIndex HTTPMOD https://www.onvista.de/index 600
attr myIndex reading01Name DAX
attr myIndex reading01XPath-Strict /html/body/div[1]/div[2]/div/section/div[4]/div/div/div[1]/div/div[2]/div[1]/div[1]/data
Den Inhalt des Attribut reading01XPath-Strict habe ich aus der Seite kopiert, mit dem Addon xPath im Firefox.
Dannach gab es diese Meldung im logfile (nur die beiden ersten Zeilen, es geht dann ellenlang weiter):
2022.12.20 09:30:48.814 3: myIndex: error in find for XPathStrictNodeset:
not well-formed (invalid token) at line 1, column 47144, byte 47202:
Ein Reading wurde nicht erstellt.

Mein Ziel ist den Indexwert und die prozentuale Änderung verschiedener Börsenindices auszulesen.
Falls etwas Funktionierendes bei dieser oder einer anderen Seite bereits existiert, was ich nur zu kopieren brauche, dann nehme ich das sehr gerne.

Viele Grüße Gisbert
Aktuelles FHEM | HP ThinClient T610 | Debian11 | UniFi-Controller, AP, USG-3 | Homematic, VCCU, HMUART | ESP8266, Eigenbau | Gas-, Wasser-, Stromzähler | Sonoff | 1-Wire-Temperatursensoren | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | Heizungssteuerung komplett in FHEM

Offline fireball

  • Developer
  • Full Member
  • ****
  • Beiträge: 323
  • eher Dev-Rookie ;P
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1217 am: 22 Dezember 2022, 18:07:05 »
Hi,

kann man bei HTTPMOD auch zwei Werte für einen Set übergeben?!
Ich möchte gern einen Wert in der URL ersetzen und in den gesendeten Daten:

set03Data {"action" : $val}
set03Hint 0,1,2
set03Name Taster
set03URL  %Taster_URL%
replacement03Mode reading
replacement03Regex  %Taster_URL%
replacement03Value Taster_URL

Die Werte für action in set03Data kann ich ersetzen bzw übergeben.
Die URL sieht so aus und wird vorher gesetzt und dann genutzt: http://192.168.178.28/ocf/wlss97/shutter/1

Ich würde aber gern einfach zwei Werte an das Set senden und den Bereich "wlss97" ersetzen.
Weiß nicht ob das geht?!

VG
René

Offline blueberry63

  • Sr. Member
  • ****
  • Beiträge: 741
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1218 am: 02 Januar 2023, 18:21:19 »
Zitat
Es gibt ein neues Attribut bodyEncode

Ich habe heute ein Update in FHEM gemacht. Kann es sein, dass "bodyEncode" noch nicht "released" wurde?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Offline StefanStrobel

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1866
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1219 am: 12 Januar 2023, 18:41:57 »
Hallo,

die neue Version mit bodyEncode ist jetzt eingecheckt.

Gruss
   Stefan

Online OdfFhem

  • Hero Member
  • *****
  • Beiträge: 1362
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1220 am: 13 Januar 2023, 07:25:19 »
@StefanStrobel

Bislang in Zeile #510
        elsif ($aName =~ /((get|set)[0-9]*)?[Rr]eplacement([0-9]*)Value/) {
mit dem neuen Stand in Zeile #513
        elsif ($aName =~ /((get|set)[0-9]*)?[Rr]eplacement([0-9]*)Value/) {

Die davon abhängige Zeile #515 (im neuem Stand)
            if (AttrVal($name, "replacement${2}Mode", "text") eq "expression") {
verursacht wohl den in https://forum.fhem.de/index.php/topic,131104.msg1256255.html#msg1256255 geschilderten Fall.

Vermutlich würde die Verwendung von $3 statt $2 in der abhängigen Zeile schon reichen ...
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline StefanStrobel

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1866
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1221 am: 14 Januar 2023, 12:32:44 »
geändert und eingecheckt.

Gruss
   Stefan
Zustimmung Zustimmung x 1 Liste anzeigen

Offline Rampler

  • Sr. Member
  • ****
  • Beiträge: 811
  • Experience is what causes you to make new mistakes
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1222 am: 14 Januar 2023, 15:09:12 »
@Stefan,
bezugnehmend auf #1220 vom OdfFhem habe ich die neue 98_HTTPMOD.pm getestet.

Ich habe jetzt auch noch die Zeile 514

von:   
Log3 $name, 5, "$name: validating attr $name $aName $aVal, check for replacement${2}Mode";
nach:
Log3 $name, 5, "$name: validating attr $name $aName $aVal, check for replacement${3}Mode";
geändert. Jetzt passt alles .., zumindest gibts keine Fehlermeldungen mehr.

Gruß Klaus

3 HMUART (2 via ESP8266), 1 DUOFERN, 9 ESP8266, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18876
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1223 am: 14 Januar 2023, 15:30:14 »
geändert und eingecheckt.

Gruss
   Stefan

Eingecheckt ohne zu testen? Cool...  8)
-----------------------
Mach es möglichst simpel und mach es richtig,
dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline fremitus

  • New Member
  • *
  • Beiträge: 18
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1224 am: 24 Januar 2023, 18:23:38 »
Hallo zusammen,

ich bräuchte mal Hilfe...meine Suche hier im Forum brachte leider immer nur Teilergebnisse, wobei ich definitiv nicht der Erste bin, der danach fragt.

Ich möchte über Tankerkönig die aktuellen Preise abfragen, was auch tadellos funktioniert. Das ganze soll dynamisch erfolgen, sprich im Bulli. Meine installation funktioniert schon für die Blitzer und Wetter Module.

Die GPS Daten liegen als Readings vor (ueber ein Customreading), ich kann diese somit direkt einlesen. Trotz mehrfachen Lesens der commandref zu httpmod komme ich nicht weiter. Ich habe folgendes definiert:
https://creativecommons.tankerkoenig.de/json/list.php?lat=$val&lng=$val&rad=4&sort=price&type=diesel&apikey=xxxxx
Die beiden &val möchte ich über set01Data [gps:koordinaten]=$val& füllen...hier mal der Wert für Latitude. Wobei [gps:koordinaten] die gps Daten liefert.

Wie von mir befürchtet geht die Abfrage ohne die Werte raus.

HandleSendQueue sends update with timeout 2 to https://creativecommons.tankerkoenig.de/json/list.php?lat=&lng=&rad=4&sort=price&type=diesel&apikey=xxxxxxxx, No Data, No Header
Kann ich einfach ein Customreading an dieser Stelle benutzen?

Gruss Peer
« Letzte Änderung: 24 Januar 2023, 22:00:25 von fremitus »

Online OdfFhem

  • Hero Member
  • *****
  • Beiträge: 1362
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1225 am: 24 Januar 2023, 18:30:09 »
@fremitus

Angenommen, der apikey ist echt, würde ich diesen anonymisieren ...

Offline fremitus

  • New Member
  • *
  • Beiträge: 18
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1226 am: 24 Januar 2023, 21:55:18 »
ja Mist ... beim zweiten copy habe das übersehen .... danke!

Offline fremitus

  • New Member
  • *
  • Beiträge: 18
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #1227 am: 25 Januar 2023, 02:38:27 »
wie immer, wenn man schreibt...habe es gefunden und gefixed, da war ich ja erstmal völlig falsch unterwegs.....

Mit replacement klappt es wunderbar:

defmod tanke HTTPMOD https://creativecommons.tankerkoenig.de/json/list.php?lat=%vala%&lng=%valo%&rad=4&sort=price&type=diesel&apikey=xxxxxxx 900
attr tanke extractAllJSON 1
attr tanke replacement01Mode reading
attr tanke replacement01Regex %vala%
attr tanke replacement01Value gps:gpslat
attr tanke replacement02Mode reading
attr tanke replacement02Regex %valo%
attr tanke replacement02Value gps:gpslon

Gruss Peer