HTTPMOD keine Verbindung

Begonnen von iCure, 24 Oktober 2014, 18:08:06

Vorheriges Thema - Nächstes Thema

iCure

Guten Tag zusammen,

folgendes Problem:

derzeit versuche ich anhand der HTTPMOD auf meinem Windows 7 System Werte aus diversen Internetseiten zu erhalten. Leider bekomme ich im Log immer folgende Fehlerrückmeldung:


2014.10.24 17:59:36 4: HTTPMOD: GetUpdate called, hash = HASH(0x3c5be74), name = Shell
2014.10.24 17:59:36 4: HttpUtils url=http://www.clever-tanken.de/tankstelle_details/4871
2014.10.24 17:59:36 3: HTTPMOD got error in callback: connect: Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden.
2014.10.24 17:59:36 4: HTTPMOD: GetUpdate called, hash = HASH(0x3c5f024), name = Total
2014.10.24 17:59:36 4: HttpUtils url=http://www.clever-tanken.de/tankstelle_details/4870
2014.10.24 17:59:36 3: HTTPMOD got error in callback: connect: Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden.
2014.10.24 17:59:36 4: HTTPMOD: GetUpdate called, hash = HASH(0x3c60a94), name = Aral
2014.10.24 17:59:36 4: HttpUtils url=http://www.clever-tanken.de/tankstelle_details/4869
2014.10.24 17:59:36 3: HTTPMOD got error in callback: connect: Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden.


Wäre super wenn mir jemand einen Ansatz zur Fehlerbehebung geben könnte.
Anbindung zum Web usw. besteht, anhand von bspw. "Pushover" kann ich Nachrichten versenden.
Ist evtl. irgend ein Modul von nöten??

Grüße� werden.

iCure

Kommt schon männer, dafür muss es doch eine Erklärung geben.

iCure

Eventuell jemand einen Ansatz zur Lösung? Kommt der Socketfehler, weil die Webseite nicht erreichbar ist (Port o.ä.) oder aber durch einen falschen Aufruf etwa in Perl?
Bitte helft mir :(

iCure

Sollte es jemand schaffen bis zum Sonntag mein Problem zu lösen offeriere ich 10€ via Paypal. Evtl. steigt hierdurch die Bereitschaft

Hauswart

Ich antworte nicht wegen des Geldes.
Aber die Standardtests hast du durchgeführt? Ping? Telnet auf URL + port 80? Hast du ne spezielle Firewall im Einsatz?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Hollo

Druck (in Form von Pushen im 2-Tages-Turnus) erhöht nicht die Antwortwahrscheinlichkeit, und eine Prämie erst recht nicht.

Aber zu Deiner Frage...

Neben der Fehlermedlung wäre Dein Code mal interessant.
Die aufgerufenen Seiten liefern ja reichlich zurück, aus denen Du irgendwie die relevanten Daten herausfiltern musst.
Dann würde ich das zunächst mal für 1 Tanke probieren bis es fehlerfrei läuft.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

iCure

Erstmal danke für die Rückmeldungen.

Eine spezielle Firewall habe ich nicht. Windows Firewall zum test deaktiviert. Ich sitze allerdings hinter einer Fritz!box. Pings sowie telnet anforderungen funktionieren an den entsprechenden Server. Erreichbarkeit sollte also gegeben sein. Erreiche meinen Server auch von extern.

Nun habe ich sämtliche HTTPMOD's gelöscht bis auf eine Tankstelle. Funktioniert trotzdem nicht.

#########################################################
###          Tankstellen - Langen             ####
#########################################################


define Shell HTTPMOD http://www.clever-tanken.de/tankstelle_details/4871 600
attr Shell group Spritpreise
attr Shell icon tanken
attr Shell readingsName_SuperE5 SuperE5
attr Shell readingsRegex_SuperE5 <div class="fuel_type">Super E5[^0-9]+([0-9\.]+)
attr Shell room Spritpreise
attr Shell stateFormat Liter_SuperE5: SuperE5
attr Shell timeout 5


#########################################################
###            Filelog                 ####
#########################################################

define FileLog_Spritpreise FileLog ./log/spritpreise-langen-%Y-%m.log (Shell):(SuperE5).*
attr FileLog_Spritpreise alias Log Spritpreise
attr FileLog_Spritpreise group Logfile
attr FileLog_Spritpreise logtype text
attr FileLog_Spritpreise room Spritpreise


#########################################################
###            ReadingsGroup                 ####
#########################################################

define Spritpreise readingsGroup (Shell):(SuperE5).*
attr Spritpreise group Spritpreisuebersicht
attr Spritpreise notime 1
attr Spritpreise room Spritpreise
attr Spritpreise style style="font-size:16px"
attr Spritpreise valueFormat {'%.2f €'}
attr Spritpreise valueStyle {Werte($READING,$VALUE)}

#########################################################
###            Plot                   ####
#########################################################

define SVG_FileLog_Spritpreise_1 SVG FileLog_Spritpreise:SVG_FileLog_Spritpreise_1:CURRENT
attr SVG_FileLog_Spritpreise_1 group Spritpreisverlauf
attr SVG_FileLog_Spritpreise_1 room Spritpreise


Script kommt aus dem entsprechenden Spritthread.

Evtl. werde ich ein weiteres FHEM System auf einem anderen PC zum testen installieren müssen, evtl sogar in einem anderen Haushalt.. Bin für weitere Hilfe dankbar.

Hollo

Der Code hilft auf jeden Fall schon mal weiter. Wenn ich den bei mir reinnehme, bekomme ich auch eine Antwort.
Dementsprechend muss/sollte das Problem noch woanders sein, denn die Definition scheint ja vollkommen richtig zu sein.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

iCure

Danke bis dahin. Ich weiss trotz allem keinen weiteren Ansatz. Das HTTPMOD Modul habe ich bereits gelöscht und neu eingefügt, keine besserung. Port technisch sollte meiner meinung nach alles passen, da ich den clever-tanken server erreiche. Ich werde später wohl mal perl neu installieren... evtl lief dort etwas falsch mit der Rechteverteilung o.ä..

Weitere Lösungsansetze nehme ich dankbar an!

iCure

Nach Tagelangem Studieren von Perl und der Funktion einzelner Module, Neuinstallationen, Öffnen sämtlicher Ports usw. habe ich herausgefunden, dass es unter Win32 kein nonblocking request gibt. HTTPMOD benutzt allerdings dieses verfahren. Ich hatte allerdings Perl für 32-bit verwendet. Bin nun auf eine alternative für 64bit umgestiegen und siehe da. Alle Seiten werden wie gewünscht ausgelesen.

Grüße