Frage zum statistics-Modul und dem Speichern von Max-Werten

Begonnen von josburg, 12 April 2016, 22:06:30

Vorheriges Thema - Nächstes Thema

josburg

Hallo,

ich habe einen Außen-Termometer, mit welchem ich in FHEM die Temperatur ermittle.
Dies funktioniert auch problemlos - anbei die Infos zum Device:

Internals:
   BUSY       0
   DEF        http://23.97.212.128:8080/api/v1/dashboard 600
   GetSeq     0
   HTTPHEADER
   Interval   600
   LASTSEND   1460491100.16188
   MainURL    http://23.97.212.128:8080/api/v1/dashboard
   NAME       SENSOR_HUETTE
   NR         34
   STATE      10.8 Grad, Feuchtigkeit 77.0 %
   TRIGGERTIME 1460491700.16077
   TRIGGERTIME_FMT 2016-04-12 22:08:20
   TYPE       HTTPMOD
   addr       http://23.97.212.128:8080
   buf        HTTP/1.1 200 OK

Cache-Control: no-cache

Pragma: no-cache

Content-Length: 54738

Content-Type: application/json; charset=utf-8

Expires: -1

Server: Microsoft-IIS/8.5

X-AspNet-Version: 4.0.30319

X-Powered-By: ASP.NET

Date: Tue, 12 Apr 2016 19:58:24 GMT

Connection: close



{

  "success": true,

  "primarydomain": "www.data199.com",

  "phoneid": "032330673013",

  "result": {

    "devices": [

      {

        "deviceid": "035C76E15103",

        "devicetypeid": 3,

        "name": "Außentemperatur Hütte ",

        "lang": "de",

        "lastseen": 1460490958,

        "lowbattery": false,

        "alertwasactive": false,

        "oldestmeasurementt": 47932,

        "oldestalertt": 48036,

        "cloninginprocess": false,

        "settings": {

          "ts1loalarm": 4.0,

          "ts1loalarmactive": true,

          "ts1hialarm": 40.0,

          "ts1hialarmactive": false,

          "hloalarm": 20.0,

          "hloalarmactive": false,

          "hhialarm": 60.0,

          "hhialarmactive": false,

          "wg": 0.0

        },

        "measurements": [

          {

            "idx": 1006946,

            "ts": 1460490950,

            "tx": 2219,

            "c": 1460490958,

            "t1": 10.8,

            "h": 77.0

          },

......
          {

            "idx": 941927,

            "ts": 1457081923,

            "tx": 10542,

            "c": 1457081972,

            "t1": 4.0,

            "h": 71.0,

            "t1lo": false,

            "t1lose": false,

            "t1loee": true,

            "t1los": 4.0

          },

          {

            "idx": 940980,

            "ts": 1457024830,

            "tx": 10407,

            "c": 1457024882,

            "t1": 3.9,

            "h": 80.0,

            "t1lo": true,

            "t1lose": true,

            "t1loee": false,

            "t1los": 4.0

          }

        ]

      }

    ]

  }

}
   code       200
   conn
   data       devicetoken=c469a2c5-2f82464f-a73969cc-e1e3bf15-2eb7db2b-2b2cc4fb-a87fd82a-f596ab77&vendorid=3D3BCADD-79C6-4AEE-9F8B-73C83C047122&phoneid=032330673013&version=1.21&build=248&executable=Mobile Alerts&bundle=de.synertronixx.remotemonitor&lang=de&timezoneoffset=60&timeampm=false&usecelsius=true&usemm=true&speedunit=1&timestamp=1453237425&requesttoken=07436acf2dce9a096aef931736865952&deviceids=035C76E15103,&measurementfroms=,0,0,0,0,0,&measurementcounts=,50,50,50,50,50,
   displayurl http://23.97.212.128:8080/api/v1/dashboard
   header     Content-Type: application/x-www-form-urlencoded
   host       23.97.212.128
   httpheader HTTP/1.1 200 OK

Cache-Control: no-cache

Pragma: no-cache

Content-Length: 54738

Content-Type: application/json; charset=utf-8

Expires: -1

Server: Microsoft-IIS/8.5

X-AspNet-Version: 4.0.30319

X-Powered-By: ASP.NET

Date: Tue, 12 Apr 2016 19:58:24 GMT
Connection: close
   hu_blocking 0
   hu_filecount 1
   ignoreredirects 0
   loglevel   4
   path       /api/v1/dashboard
   protocol   http
   redirects  0
   timeout    2
   url        http://23.97.212.128:8080/api/v1/dashboard
   QUEUE:
   Readings:
     2016-04-12 21:58:22   FEUCHTIGKEIT    77.0
     2016-04-12 21:58:22   TEMP            10.8
     2016-04-11 19:26:17   statTEMP        Hour: -1.0 Day: 7.3 Month: 3.8 Year: 7.6 (since: 2016-03-29 )
     2016-04-11 18:59:55   statTEMPLast    Hour: -0.6 Day: 0.2 Month: 3.8 Year: - (since: 2016-03-29 )
     2016-04-11 18:59:55   statTEMPSpecialPeriod -0.6 (0.hours)
   Request:
     data       devicetoken=c469a2c5-2f82464f-a73969cc-e1e3bf15-2eb7db2b-2b2cc4fb-a87fd82a-f596ab77&vendorid=3D3BCADD-79C6-4AEE-9F8B-73C83C047122&phoneid=032330673013&version=1.21&build=248&executable=Mobile Alerts&bundle=de.synertronixx.remotemonitor&lang=de&timezoneoffset=60&timeampm=false&usecelsius=true&usemm=true&speedunit=1&timestamp=1453237425&requesttoken=07436acf2dce9a096aef931736865952&deviceids=035C76E15103,&measurementfroms=,0,0,0,0,0,&measurementcounts=,50,50,50,50,50,
     header     Content-Type: application/x-www-form-urlencoded
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://23.97.212.128:8080/api/v1/dashboard
   Helper:
     _98_statistics AussenTempHuette_Statistik
   Sslargs:
Attributes:
   icon       temp_outside
   reading01Name TEMP
   reading01Regex "t1": ([\-\d\.]+)
   reading02Name FEUCHTIGKEIT
   reading02Regex "h": (\d?\d.\d)
   requestData devicetoken=c469a2c5-2f82464f-a73969cc-e1e3bf15-2eb7db2b-2b2cc4fb-a87fd82a-f596ab77&vendorid=3D3BCADD-79C6-4AEE-9F8B-73C83C047122&phoneid=032330673013&version=1.21&build=248&executable=Mobile Alerts&bundle=de.synertronixx.remotemonitor&lang=de&timezoneoffset=60&timeampm=false&usecelsius=true&usemm=true&speedunit=1&timestamp=1453237425&requesttoken=07436acf2dce9a096aef931736865952&deviceids=035C76E15103,&measurementfroms=,0,0,0,0,0,&measurementcounts=,50,50,50,50,50,
   requestHeader1 Content-Type: application/x-www-form-urlencoded
   room       Temperatur und Luftfeuchtigkeit,all
   stateFormat {sprintf("%.1f Grad, Feuchtigkeit %.1f %%", ReadingsVal($name,"TEMP",0), ReadingsVal($name,"FEUCHTIGKEIT",0))}
   userattr   event-on-change-reading icon reading01Name reading01Regex reading02Name reading02Regex requestData requestHeader1 stateFormat



Gerne möchte ich mit dem statistic-Modul (siehe CommandRef http://fhem.de/commandref_DE.html#statistics) die Maximal-Temperatur innerhalb der letzten 24 Stunden festhalten.
Hierzu habe ich folgendes Device definiert:

define AussenTempHuette_Statistik statistics SENSOR_HUETTE
attr AussenTempHuette_Statistik room Statistik
attr AussenTempHuette_Statistik singularReadings SENSOR_HUETTE:MAX_AUSSEN_TEMP_HUETTE:Max:24h


In FHEM werden die Readings unter "SENSOR_HUETTE" nicht angelegt.
Wenn ich ein "list" auf das Device AussenTempHuette_Statistik erstelle

Internals:
   CFGFN
   DEF        SENSOR_HUETTE
   DEV_REGEXP SENSOR_HUETTE
   NAME       AussenTempHuette_Statistik
   NR         412
   NTFY_ORDER 10-AussenTempHuette_Statistik
   PREFIX     stat
   STATE      Waiting for notifications
   TYPE       statistics
   Readings:
     2016-04-11 20:29:59   monitoredDevicesUnsupported SENSOR_HUETTE#HTTPMOD
     2016-04-12 21:59:55   nextPeriodChangeCalc 2016-04-12 22:59:55
   Fhem:
     modulVersion $Date: 2015-12-03 18:21:21 +0100 (Thu, 03 Dec 2015) $
Attributes:
   room       Statistik
   singularReadings SENSOR_HUETTE:MAX_AUSSEN_TEMP_HUETTE:Max:24h

erscheint der Fehler
monitoredDevicesUnsupported SENSOR_HUETTE#HTTPMOD

Kann mir jemand helfen?
Was mache ich falsch?

Viele Grüße
Jens

josburg

Hallo, ich benötige noch Hilfe. Komme alleine nicht weiter und probiere schon ewig rum.

Kennt sich jemand mit dem statistics Modul aus?
Kann ich noch bessere Info's für die Analyse bereitstellen?

Vielen Dank für eure Unterstützung.

Viele Grüße Jens


Gesendet von iPhone mit Tapatalk

josburg

Hallo, ich verzweifel so langsam... Nachdem ich nun schon x-mal ein Device zum statistics angelegt habe, erhalte ich immer noch die Fehlermeldung.

Nochmal was ich mache:
Anlegen des Device

define AussenMaxTempHuette_Statistik statistics SENSOR_HUETTE


Der SENSOR_HUETTE besteht auch und liefert mir per HTTPMOD Temperaturdaten.

Als Fehler erscheint direkt nach dem anlegen des statistics Device die Fehlermeldung im Readings-Abschnitt

monitoredDevicesUnsupported
SENSOR_HUETTE#HTTPMOD
2016-04-15 07:15:43


Kann mir vielleicht doch bitte noch jmd weiterhelfen ?

Vielen Dank.

Viele Grüße Jens


Gesendet von iPhone mit Tapatalk

tupol

monitoredDevicesUnsupported heißt das statistics keine Readings findet, die es auswerten kann. Diese müssen von Dir vermutlich erst definiert werden.

Der "Befehlsumfang" von statistics ist in der commandref beschrieben. Ein 24h-Attribut kommt dort nicht vor.

josburg

Hallo,

super, mit Deiner Hilfe habe ich es geschafft und habe die Statistiken so definiert:

define Statistik statistics SENSOR_REGENSENSOR|SENSOR_HUETTE
attr Statistik deltaReadings REGENMENGE
attr Statistik singularReadings SENSOR_REGENSENSOR:REGENMENGE:Delta:2h
attr Statistik specialPeriod SENSOR_REGENSENSOR:REGENMENGE:Hour:01:06:12:24:48:72
attr Statistik minAvgMaxReadings TEMP


Leider habe ich jetzt ein Folgeproblem beim Verarbeiten der Max.Temp.
in den Readings wird u.a. folgendes angezeigt:
statTEMPDay Min: 11.0 Avg: 11.3 Max: 11.9 (since: 2016-04-16_21:22:26 ) 2016-04-16 23:03:54

Jetzt möchte ich die Maximal-Temperatur in einem DOIF verwenden.
Klar ist, ich komme nur per RegEx an den Wert "11.9"

Der korrekte RegEx-Ausdruck für den String "Min: 11.0 Avg: 11.3 Max: 11.9" sollte sein:
.*?Max: (-?\d+(\.\d+)?)

Wenn ich den RegEx im DOIF einfüge, erscheint folgende Fehlermeldung:
DOIF: unknown expression format: (-?\d+(\.\d+)?)"

Anbei mal das DOIF, welches ich speichern möchte:

([21:00-21:10] and [SENSOR_HUETTE:TEMP] > 12.0 and [statTEMPDay:".*?Max: (-?\d+(\.\d+)?)"] > 18.0) (set SCHALTER_ZISTERNE on-for-timer 600) DOELSE ()


Was soll das DOIF machen:
Zwischen 21:00 und 21:10 Uhr soll die Zisternenpumpe für die Gartenbewässerung einschalten, wenn die aktuelle Außentemperatur > 14 Grad ist und die Tageshöchsttemperatur > 18 Grad war.

Wie gesagt, irgendwie macht dieses hier [statTEMPDay:".*?Max: (-?\d+(\.\d+)?)"] das Problem.

Könnte bitte nochmals jemand unterstützen?

Vielen Dank.

Viele Grüße
Jens

tupol

Habe leider keine Ahnung von DOIF.
Schau Dir bitte nochmal die commandref zu singularReadings an, vielleicht hilft's.