Mach mal einen Screenshot vom "Senden"
Ankündigung
Einklappen
Keine Ankündigung bisher.
Webabfrage mit Firmware 2.4 macht Probleme
Einklappen
X
-
Das mit der nicht funktionierenden Webabfrage mit der 2.4er hatten wir hier doch schonmal, oder ?
Vielleicht können ja mal alle die eine Webabfrage haben, die unter 2.4 nicht geht und unter 2.32 geht, hier als htip posten.
Ich denke das dort evtl. ein Zeichen interpretiert wird, welches vorher nicht interpretiert wurde. Evtl. mal den ContentType der auszulesenden Seite mal bitte im Browser überprüfen. (UTF-8/ISO8859-1/...)
Kommentar
-
Die Antwort ist leider nicht komplett zu sehen aber ich würde vermuten:
Du läufst in den Timeout bei der Masse an Sensoren! (ob sich der Timeout - 2.3 10s - zur 2.4 geändert weiss ich aber nicht)
Aufteilen auf mehrere Abfragen, der 1-Wire ist langsam, sehr langsam. Das HA7Net ist nochmal langsamer, rechne pro Sensor mit ~1sek. Und damit dass in dieser Zeit keine anderen TCP/Webabfragen vom HS laufen können, weil diese nacheinander (serialisiert sehr zu meinem Leidwesen) abgearbeitet werden..
Deshalb bin ich nach anfänglicher Euphorie anno 2008 auch in diesem Fall schnell von dem HA7net abgekommen..
MakkiEIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
-> Bitte KEINE PNs!
Kommentar
-
Zitat von makki Beitrag anzeigenDu läufst in den Timeout bei der Masse an Sensoren! (ob sich der Timeout - 2.3 10s - zur 2.4 geändert weiss ich aber nicht)
Die ja (nicht zu verwechseln) das 2.4er Python verwendet, im Gegensatz zur Python Verision 2.2 bei der Firmware 2.32.
siehe 17.2. socket
Ich hatte schonmal einen Baustein gepostet, vielleicht gehts ja damit.
https://knx-user-forum.de/knx-eib-fo...ne-laenge.html
Ist zwar kein Feedback gekommen, aber ich weiß das ich ihn schon erfolgreich verwendet habe.
Kommentar
-
Erst einmal vielen danke für Eure Hilfe,
ohne dieses Forum wüsste ich heute noch nicht einmal was Webabfragen überhaupt sind. Von xxapi ganz zu schweigen
Also die Sensoren in meiner Webabfrage habe ich auch schon mal auf einen reduziert, doch hat leider auch nix genützt.
Gruß Sven!****
SVEN
Kommentar
-
Hallo Nils
Ich habe jetzt mal versucht die Abfrage in einen Logikbaustein zu packen und dabei Deine urllib verwendet.
Die Abfrage scheint soweit auch zu funktionieren, auf dem Debug Ausgang bekomme ich auch Daten. Nur bei der REGEX Suche habe ich noch Probleme.
Kannst Du bitte mal in den Baustein schauen was ich falsch mache.
Möchte nach VALUE=" hinter dem Eintrag Temperature_0 die Temperatur abnehmen bis zum nächsten ".
Ausserdem bin ich mir bei den pin Optioen der 5012 er Zeilen nicht sicher. Stimmt das so?
Danke und Gruss, Holger
Kommentar
-
Habs mal kurz überschlagen.
Der Regex muss ja nicht optional sein, sonder kann ruhig fehlschlagen wenn nix kommt. Ist ja nur ein Wert.
Code:5012|0|"EI"|"KNXUF_urllib(self)"|""|0|0|1|0 ## Abfrage 5012|0|"(EC[1] or EC[2]) and len(EN[1])>0"|"SN[1].open('http://'+EN[1]+'/1Wire/ReadDS18B20.html?DS18B20Request={'+EN[2]+','+EN[3]+'}',timeout=1)"|""|2|0|2|0 ## Regex 5012|0|"len(SN[2])>0"|"__import__('re').search(r'Temperature_0.*?VALUE[\x3D][\x22](?P<temp>.*?)[\x22]',SN[2])"|""|0|0|3|0 ## Abbruch bei Fehler 5012|1|"str(type(SN[3])).find('SRE_Match') == -1"|""|""|0|0|0|0 ## AUsgabe 5012|0|"SN[3]"|"SN[3].group('temp')"|""|1|0|0|0
Kommentar
-
Hallo Nils
Ja, und schon tut es.Gewusst wie...
Wenn man wie ich Phyton nicht als Muttersprache hat und zudem nicht mit REGEX aufgewachsen ist hat man halt so seine Defizite.
Zitat von NilsS Beitrag anzeigenWarum hattest du die Ausgang PINS in der Abfragezeile auf 2|0|3|0 gesetzt ?
Werde dieses lange Wochenende nutzen und die 2.4er FW nochmals auf meinen HS laden und testen ob die Abfrage mit diesem Baustein jetzt geht und wenn er hoffentlich funktioniert ihn auch hier posten.
Vielen Dank, Holger
Kommentar
-
Zitat von NilsS Beitrag anzeigenVielleicht können ja mal alle die eine Webabfrage haben, die unter 2.4 nicht geht und unter 2.32 geht, hier als htip posten.
so ne webabfrage, die jeder abrufen kann und nicht unter 2.4 läuft, hätte ich auch mal gerne. nicht an allem was nicht läuft, ist die 2.4 schuld.glück auf
günther
Kommentar
-
Sie kann aber daran Schuld sein (nicht zwangsläufig die Firmware, sondern das python)
PS: Ich hab gerade in der Testumgebung ne Dynamische Webabfrage am laufen
Ein Baustein der mit 2 diesr urllib webabfragen versehen ist und schon erfolgreich wetterdaten von google und yahoo geparst hat
Mal sehen ob ich das am WE schafe da mal eine Beta zu veröffentlichen.
Kommentar
-
Hallo Nils
Bin jetzt wieder auf FW 2.4 und es klappt mit dem urllib Baustien.
Es liegt difinitiv am Timeout des HA7Net
Setze ich bei der Abfrage timeout=1 denn sieht es so aus:
Code:[B]23.05.2010 12:14:11 (1)[/B] File "/hs/compile/hs_logik.py", line 170, in calc File "formula", line 0, in ? File "[10911_urllib_GoogleWeatherDemo]", line 92, in open timeout: timed out [5012L, 10019L, 0L, '(EC[1] or EC[2] or EC[4]) and len(EN[1])]0', "SN[1].open('http://'+EN[1]+'/1Wire/ReadDS18B20.html?DS18B20Request={'+EN[2]+','+EN[3]+'}',timeout=1)", '', 2L, 0L, 2L, 0L]
Was der Beste Wert für enTimeout ist muss ich noch ausprobieren.
Anbei mal der Beta Baustein für ale die über die Feiertage was Basteln möchten.
Fazit: Wenn auch kein Erklärbär, so doch Bärenstark
Danke für die Lib und das Beispiel mit Hiklfe dazu
Gruss, HolgerAngehängte Dateien
Kommentar
-
So, nun ist es soweit. Die Version 1.0 ist im Downloadbereich zu finden:
https://knx-user-forum.de/downloads.php?do=file&id=318
Gruss, Holger
Kommentar
Kommentar