FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: litronics am 12 November 2017, 21:22:09

Titel: httpmod filelog speichert nicht alle Werte?
Beitrag von: litronics am 12 November 2017, 21:22:09
Hallo zusammen,
ich habe ein Device mit httpmod und 16 Readings angelegt. Dazu gibt es ein Logfile, das pauschal alle Readings aufzeichnen soll.

Tatsächlich werden aber nur 8-9 Radings aufgezeichnet und wenn ich bei "Regexp parts" das Dropdown der Readings für das Device aufmache, bekomme ich auch nur 10 Werte angezeigt.

Gibt es da irgendeine Grenze die ich nicht kenne oder überlesen habe?
Titel: Antw:httpmod filelog speichert nicht alle Werte?
Beitrag von: rudolfkoenig am 13 November 2017, 09:24:40
Theoretisch kann man beim Erzeugen eines Readings angeben, ob es ein Event generieren soll, oder nicht, in der Praxis wird das aber selten verwendet, soweit ich es sehe, in 98_HTTPMOD.pm gar nicht. Eine andere Methode ist die Verwendung von event-on-*-update Attributen. Falls weder "Regexp parts" (was auf eventTypes zurueckgreift), noch FileLog die Daten speichert, dann ist die Wahrscheinlichkeit gross, dass es sich um die event-* Methode handelt.
Wenn nicht, dann bitte mehr Details: eventLog beim Abholen der Daten, nocht besser: etwas Nachstellbares.
Titel: Antw:httpmod filelog speichert nicht alle Werte?
Beitrag von: litronics am 14 November 2017, 21:08:34
Hier mal das Log, das ich zu httpmod bekommen habe:
2017.11.14 20:57:18 4: HEIZUNG: GetUpdate called (update)
2017.11.14 20:57:18 4: HEIZUNG: update timer modified: will call GetUpdate in 300.0 seconds at 2017-11-14 21:02:18
2017.11.14 20:57:18 4: HEIZUNG: AddToQueue adds update, initial queue len: 0
2017.11.14 20:57:18 5: HEIZUNG: AddToQueue adds type update to URL http://192.168.178.13/7734/7732/7822/8730/8760/8700/7750/T, no data, no headers, retry 0
2017.11.14 20:57:18 5: HEIZUNG: HandleSendQueue called, qlen = 1
2017.11.14 20:57:18 4: HEIZUNG: HandleSendQueue sends request type update to URL http://192.168.178.13/7734/7732/7822/8730/8760/8700/7750/T, No Data, No Header,
2017.11.14 20:57:20 4: HEIZUNG: Read callback: request type was update retry 0,
<table width=80% align=center><tr bgcolor=#f0f0f0><td width=20% align=center><a href='/K'>Heizungsfunktionen</a></td><td width=20% align=center><a href='/T'>DS18B20-Sensoren</a></td><td width=20% align=center><font color=#000000>DHT22-Sensoren</font></td><td width=20% align=center><a href='/DG'>Anzeige Logdatei</a></td></tr><tr bgcolor=#f0f0f0><td width=20% align=center><a href='/C'>Konfiguration</a></td><td width=20% align=center><a href='/O'>URL-Befehle</a></td><td width=20% align=center><a href='http://github.com/fredlcore/bsb_lan/blob/master/HOWTO_de.md' target='new'>HowTo</a></td><td width=20% align=center><a href='http://github.com/fredlcore/bsb_lan/blob/master/FAQ_de.md' target='_new'>FAQ</a></td>
2017.11.14 20:57:20 5: HEIZUNG: ExtractSid called, context reading, num
2017.11.14 20:57:20 4: HEIZUNG: CheckAuth decided no authentication required
2017.11.14 20:57:20 5: HEIZUNG: Read starts parsing response to update with defined readings: 0,1,10,11,12,13,14,15,2,3,4,5,6,7,8,9
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading FB_RL_sec with regex /temp\[4\]\: ([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 26.13
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading0-1 sets FB_RL_sec to 26.13
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading FB_VL_sec with regex /7734 .*:[ \t]+([-]?[\S\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 30.1
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading1-1 sets FB_VL_sec to 30.1
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading KE_RL with regex /temp\[0\]\: ([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 45.50
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading10-1 sets KE_RL to 45.50
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Pumpe_Kessel with regex /7150 .*:[ \t]+([-]?[\S\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Pumpe_Kessel did not match
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Pumpe_HZ with regex /8730 .*:[ \t]+([-]?[\S\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 255
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading12-1 sets Pumpe_HZ to 255
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Pumpe_FB with regex /8760 .*:[ \t]+([-]?[\S\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 255
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading13-1 sets Pumpe_FB to 255
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Aussentemperatur with regex /8700 .*:[ \t]+([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 1.3
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading14-1 sets Aussentemperatur to 1.3
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Trinkwasser with regex /7750 .*:[ \t]+([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 57.2
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading15-1 sets Trinkwasser to 57.2
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading FB_RL_pri with regex /temp\[2\]\: ([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 27.94
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading2-1 sets FB_RL_pri to 27.94
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading FB_VL_pri with regex /temp\[3\]\: ([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 28.31
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading3-1 sets FB_VL_pri to 28.31
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading HZ_RL with regex /temp\[1\]\: ([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 28.69
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading4-1 sets HZ_RL to 28.69
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading HZ_VL with regex /7732 .*:[ \t]+([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 41.3
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading5-1 sets HZ_VL to 41.3
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Puffer_oben with regex /7822 .*:[ \t]+([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 54.2
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading6-1 sets Puffer_oben to 54.2
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Puffer_mitte with regex /7150 .*:[ \t]+([-]?[\S\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Puffer_mitte did not match
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Puffer_unten with regex /7150 .*:[ \t]+([-]?[\S\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading Puffer_unten did not match
2017.11.14 20:57:20 5: HEIZUNG: ExtractReading KE_VL with regex /temp\[5\]\: ([-]?[\d\.]+)/...
2017.11.14 20:57:20 5: HEIZUNG: 1 capture group(s), matchlist = 29.38
2017.11.14 20:57:20 4: HEIZUNG: ExtractReading for reading9-1 sets KE_VL to 29.38
2017.11.14 20:57:20 4: HEIZUNG: Read response to update matched Reading(s) FB_RL_sec FB_VL_sec KE_RL Pumpe_HZ Pumpe_FB Aussentemperatur Trinkwasser FB_RL_pri FB_VL_pri HZ_RL HZ_VL Puffer_oben KE_VL
2017.11.14 20:57:20 4: HEIZUNG: Read response to update did not match Pumpe_Kessel Puffer_mitte Puffer_unten
2017.11.14 20:57:20 5: Starting notify loop for HEIZUNG, 7 event(s), first is FB_RL_sec: 26.13
2017.11.14 20:57:20 5: End notify loop for HEIZUNG
2017.11.14 20:57:20 5: HEIZUNG: HandleSendQueue called, qlen = 0


Wenn ich das so richtig verstehe, dann werden von den angelegten 16 Readings drei nicht gematched (was aktuell noch korrekt ist) und 13 werde korrekt gematched.

Dann werden "nur" 7 events in den notify loop geschrieben. Da stellt sich mir die Frage ob das nicht eher 13 events sein müssten?
Titel: Antw:httpmod filelog speichert nicht alle Werte?
Beitrag von: rudolfkoenig am 14 November 2017, 21:22:17
Fehlen noch die event-* Attribute.
Titel: Antw:httpmod filelog speichert nicht alle Werte?
Beitrag von: litronics am 15 November 2017, 21:19:51
Zitat von: rudolfkoenig am 14 November 2017, 21:22:17
Fehlen noch die event-* Attribute.

Wenn Du diese Definition meinst:

attr HEIZUNG event-on-change-reading .*

dann würde die schon existieren.

Titel: Antw:httpmod filelog speichert nicht alle Werte?
Beitrag von: rudolfkoenig am 16 November 2017, 09:52:43
Zitatattr HEIZUNG event-on-change-reading .*
Bedeutet, dass nur bei Wert-Aenderungen ein Event generiert wird.

Bist du sicher, dass deine vermissten Attribute geaendert wurden?
Zu lesen als: wenn ja, dann bitte mit eiem FHEM-Log nachweisen, damit ich event-on-change-reading debuggen kann.

P.S.: Ich finde event-on-* Attribute nur in den seltensten Faellen sinnvoll. Irgendwer scheint anderer Ansicht zu sein, jedenfalls beobachte ich das als Ursache bei vielen Anfaenger-Problemmeldungen.