Bug: datalogger.tpl xml export mit nur 1 record



  • Guten Tag allerseits

    Setup:
    querx THP 1.2
    FW 4.4.29.2
    Aufzeichnung der Daten: alle 5min

    Wenn ich mit http://192.88.99.2/tpl/document.cgi?tpl/j/datalogger.tpl&format=xml&start=1639057800&step=300 eine Abfrage starte mit einer Timestamp die weniger als 5 Minuten in der Vergangenheit liegt, bekomme ich folgende Antwort. Statt eines einzelnen <record> sind 2 vorhanden, der 2. enhält jedoch keine gültigen Daten. Mein kürzlich vorgestelltes Python-Script hat daran keine Freude 🙂

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE querx PUBLIC "-//egnite//DTD Querx 1.0//EN"
     "http://www.egnite.de/dtds/querx.dtd">
    <querx version="1.0">
    <hostname>AEQsnsmtgthp</hostname>
    <ip></ip>
    <port>80</port>
    <date_gmt>Thu, 09 Dec 2021 13:54:27</date_gmt>
    <date_local>Thu, 09 Dec 2021 14:54:27</date_local>
    <contact></contact>
    <location></location>
    <sensors>
     <sensor id="sensor_1" name="Temperatur" unit="&deg;C"></sensor>
     <sensor id="sensor_2" name="rel_Luftfeuchte" unit="%RH"></sensor>
     <sensor id="sensor_3" name="Luftdruck" unit="hPa"></sensor>
    </sensors>
    <data>
     
     <record timestamp="1639057800" date="09.12.2021" time="14:50:00">
      <entry sensorid="sensor_1" name="minimum" value="23.9"/>
      <entry sensorid="sensor_1" name="average" value="24.0"/>
      <entry sensorid="sensor_1" name="maximum" value="24.0"/>
      <entry sensorid="sensor_2" name="minimum" value="34"/>
      <entry sensorid="sensor_2" name="average" value="35"/>
      <entry sensorid="sensor_2" name="maximum" value="35"/>
      <entry sensorid="sensor_3" name="minimum" value="961.3"/>
      <entry sensorid="sensor_3" name="average" value="961.4"/>
      <entry sensorid="sensor_3" name="maximum" value="961.4"/>
     </record>
     
     <record timestamp="" date="" time="">
      <entry sensorid="sensor_1" name="minimum" value=""/>
      <entry sensorid="sensor_1" name="average" value=""/>
      <entry sensorid="sensor_1" name="maximum" value=""/>
      <entry sensorid="sensor_2" name="minimum" value=""/>
      <entry sensorid="sensor_2" name="average" value=""/>
      <entry sensorid="sensor_2" name="maximum" value=""/>
      <entry sensorid="sensor_3" name="minimum" value=""/>
      <entry sensorid="sensor_3" name="average" value=""/>
      <entry sensorid="sensor_3" name="maximum" value=""/>
     </record>
     
    </data>
    </querx>
    

  • Administrators

    Hallo Marco,
    wir werden das in einer zukünftigen Version korrigieren. In der Zwischenzeit könnte man im Python-Script überprüfen, ob das timestamp-Attribut leer ist.



  • @tim Danke für das Aufnehmen der Meldung.
    Mein Script werde ich eventuell anpassen (das ist wie du schreibst wirklich kein grosser Aufwand). Allerdings ist dies sowieso eher ein Grenzfall, in welchem sowieso keine Daten in die Datenbank zu schreiben sind und daher die Fehlermeldung höchstens ein kosmetisches Problem ist.

    Mie Erwähnung des Python-Programmes war eher als Hinweis gedacht, wie ich diesen Bug überhaupt entdeckt habe.


Log in to reply