Hallo,
ich verwende HTTPMOD um Daten von meiner Solaranlage zu importieren. Die Daten werden jede Minute abgerufen. Leider habe ich keine Möglichkeit gefunden das Datum der Readings zu beeinflussen - der Last-Modified Header (der korrekt gesetzt wird), wird wohl (automatisch?) nicht beachtet. Ich habe den korrekten Zeitpunkt als "timestamp"-Reading.
Habe ich etwas übersehen, oder gibt es gar keine Möglichkeit bei HTTPMOD die Uhrzeit zu beeinflussen?
			
			
			
				Hi,
vielleicht habe ich die Frage nicht so ganz richtig verstanden... Kannst du mal zeigen (ein list des devices) was passiert und was du gerne erreichen würdest?
			
			
			
				(list unten)
JSON:
{"timestamp":"2017-05-12 16:43:18","kollektor":54.5,"ruecklauf":45.3,"wasserspeicher":68.5,"vorlauf_pumpe":46.4,"vorlauf_speicher":47.7,"pumpe":"off"} 
HTTP Header:
Last-Modified: Fri, 12 May 2017 16:43:18 GMT
Date: Fri, 12 May 2017 16:43:18 GMT
Readings:
     2017-05-12 16:44:47   kollektor       54.5 
     2017-05-12 16:44:47   pumpe           off 
     2017-05-12 16:44:47   ruecklauf       45.3 
     2017-05-12 16:44:47   timestamp       2017-05-12 16:43:18 
     2017-05-12 16:44:47   vorlauf_pumpe   46.4 
     2017-05-12 16:44:47   vorlauf_speicher 47.7 
     2017-05-12 16:44:47   wasserspeicher  68.5 
Die Uhrzeit der Reading ist 16:44:47 - die Daten sind aber in wirklichkeit von 16:43:18. Ich hätte gerne, dass das Reading die richtige Uhrzeit hat. 
Variante 1 wäre: HTTPMOD beachtet Date bzw. Last-Modified-Header.
Variante 2 wäre: Uhrzeit der Reading kommt auch aus dem JSON (in dem Fall "timestamp").
Im Optimalfall würde dann auch kein neues Reading erzeugt, wenn sich die Uhrzeit nicht ändert.
Im Normalfall ist der kleine Zeitunterschied natürlich egal, manchmal kommen aber keine neuen Daten. FHEM denkt dann weiterhin die alten Daten wären aktuell.
Internals: 
   BUSY       0 
   DEF        https://xxx/current.php 60 
   Interval   60 
   JSONEnabled 1 
   LASTSEND   1494600287.93916 
   MainURL    https://xxx/current.php 
   ModuleVersion 3.3.11 - 8.5.2017 
   NAME       Solaranlage 
   NR         111 
   STATE      Kollektor: 54.5 ° C, Speicher: 68.5 ° C, Pumpe: off 
   TRIGGERTIME 1494600347.93904 
   TRIGGERTIME_FMT 2017-05-12 16:45:47 
   TYPE       HTTPMOD 
   addr       https://xxx:443 
   buf        HTTP/1.1 200 OK
 
Server: nginx
 
Content-Type: text/html; charset=UTF-8
 
Connection: close
 
X-Powered-By: PHP/7.1.4
 
Last-Modified: Fri, 12 May 2017 16:43:18 GMT
 
Date: Fri, 12 May 2017 16:43:18 GMT
 
Strict-Transport-Security: max-age=31536000
 
 
{"timestamp":"2017-05-12 16:43:18","kollektor":54.5,"ruecklauf":45.3,"wasserspeicher":68.5,"vorlauf_pumpe":46.4,"vorlauf_speicher":47.7,"pumpe":"off"} 
   code       200 
   conn 
   data 
   displayurl https://xxx/current.php 
   header 
   host       xxx 
   httpheader HTTP/1.1 200 OK
 
Server: nginx
 
Content-Type: text/html; charset=UTF-8
 
Connection: close
 
X-Powered-By: PHP/7.1.4
 
Last-Modified: Fri, 12 May 2017 16:43:18 GMT
 
Date: Fri, 12 May 2017 16:43:18 GMT
 
Strict-Transport-Security: max-age=31536000 
   httpversion 1.0 
   hu_blocking 0 
   hu_filecount 532 
   hu_portSfx 
   ignoreredirects 0 
   loglevel   4 
   path       /current.php 
   protocol   https 
   redirects  0 
   timeout    2 
   url        https://xxx/current.php 
   value      0 
   Helper: 
     Dblog: 
       Kollektor: 
         Logdb: 
           TIME       1494600287.983 
           VALUE      54.5 
       Pumpe: 
         Logdb: 
           TIME       1494600287.983 
           VALUE      off 
       Ruecklauf: 
         Logdb: 
           TIME       1494600287.983 
           VALUE      45.3 
       Timestamp: 
         Logdb: 
           TIME       1494600287.983 
           VALUE      2017-05-12 16:43:18 
       Vorlauf_pumpe: 
         Logdb: 
           TIME       1494600287.983 
           VALUE      46.4 
       Vorlauf_speicher: 
         Logdb: 
           TIME       1494600287.983 
           VALUE      47.7 
       Wasserspeicher: 
         Logdb: 
           TIME       1494600287.983 
           VALUE      68.5 
   QUEUE: 
   Readings: 
     2017-05-12 16:44:47   kollektor       54.5 
     2017-05-12 16:44:47   pumpe           off 
     2017-05-12 16:44:47   ruecklauf       45.3 
     2017-05-12 16:44:47   timestamp       2017-05-12 16:43:18 
     2017-05-12 16:44:47   vorlauf_pumpe   46.4 
     2017-05-12 16:44:47   vorlauf_speicher 47.7 
     2017-05-12 16:44:47   wasserspeicher  68.5 
   Request: 
     data 
     header 
     ignoreredirects 0 
     retryCount 0 
     type       update 
     url        https://xxx/current.php 
     value      0 
   Defptr: 
     Readingbase: 
       kollektor  reading 
       pumpe      reading 
       ruecklauf  reading 
       timestamp  reading 
       vorlauf_pumpe reading 
       vorlauf_speicher reading 
       wasserspeicher reading 
     Readingnum: 
       kollektor 
       pumpe 
       ruecklauf 
       timestamp 
       vorlauf_pumpe 
       vorlauf_speicher 
       wasserspeicher 
     Readingoutdated: 
     Requestreadings: 
       Update: 
         kollektor  reading 
         pumpe      reading 
         ruecklauf  reading 
         timestamp  reading 
         vorlauf_pumpe reading 
         vorlauf_speicher reading 
         wasserspeicher reading 
   Sslargs: 
Attributes: 
   extractAllJSON 1 
   icon       sani_solar_temp 
   room       Aussen 
   stateFormat Kollektor: kollektor ° C, Speicher: wasserspeicher ° C, Pumpe: pumpe 
			
			
			
				2017-05-12 16:43:18 ist die Uhrzeit, wann deine Solaranlage gemessen hat.
16:44 ist die Uhrzeit, wann das Reading von FHEM aktualisiert worden ist, wann FHEM die HTTP Seite aufgerufen hat. Das ist normal: das Timestmap eines Readings, ist die Zeit, wann das Reading in FHEM aktualisiert worden ist.
Vielleicht kannst Du erklären, warum Du unbedingt das Timestand vom Reading genau gleich wie das Reading timestamp haben willst?
Gruß
			
			
			
				Ich weiß, dass so das normale Verhalten ist. Das Netatmo-Modul macht es aber auch anders und nimmt den Messzeitpunkt. 
Warum? 
ZitatIm Normalfall ist der kleine Zeitunterschied natürlich egal, manchmal kommen aber keine neuen Daten. FHEM denkt dann weiterhin die alten Daten wären aktuell.
Ist natürlich eher ein nice-to-have, klar. 
			
				Ich denke eine realistische Lösung ist, dass timestamp auch als reading kommt (du könntest dann ein event-on-change-reading darauf setzen). HTTPMOD ist ja ein sehr allgemeines Modul, da wird man kaum eine allgemeine Logik bez. des Timestamps einbauen können. 
Vielleicht kann jemand im "Sonstiges (https://forum.fhem.de/index.php/board,46.0.html)" Sub-Forum helfen, wo laut maintainer.txt (https://fhem.de/MAINTAINER.txt) HTTPMOD betreut wird. 
Über den Button ganz unten links kannst du verschieben.