Werte in Fhem bekommen HTML ( Wetterstation )

Begonnen von ChrisW, 20 März 2018, 16:21:59

Vorheriges Thema - Nächstes Thema

ChrisW

#15
Na alles besser als so :) Ne halt am besten Deutsch. Am besten wäre da es ja nur 24 Stunde ist
MM-DD HH:MM
Schaue gerade das wird doch in fhem auch gehen um ein Reading zu Formatieren das wäre ja keien regex sache oder?

Edit: Oder muss ich dafür echt über die myUtils.pm etwas basteln?
Raspberry PI3 mit allem möglichen.

frank

ich würde erst einmal auf die aktuellen attribute umstellen. also von readingsName/readingsRegex auf readingXXName/readingXXRegex. xx sind zahlen, zb 01.

dann kannst du zb mit einem zusätzlichen attr readingXXOExpr den zuvor erhaltenen timestamp entsprechend formatieren.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

ChrisW

okay nun verstehe ich noch weniger. Er erfasst ja alle Werte hier mal ein list:


Internals:
   .getList   
   .setList   
   .updateRequestHash 1
   BUSY       0
   CFGFN     
   DEF        http://www.wetter-waldniel.de/all-sensors.txt 300
   Interval   300
   LASTSEND   1521639451.69135
   MainURL    http://www.wetter-waldniel.de/all-sensors.txt
   ModuleVersion 3.4.2 - 10.2.2018
   NAME       wetter_waldniel
   NR         31446
   STATE      ???
   TRIGGERTIME 1521639751.68708
   TRIGGERTIME_FMT 2018-03-21 14:42:31
   TYPE       HTTPMOD
   addr       http://www.wetter-waldniel.de:80
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       
   displayurl http://www.wetter-waldniel.de/all-sensors.txt
   header     
   host       www.wetter-waldniel.de
   httpheader HTTP/1.1 200 OK
Date: Wed, 21 Mar 2018 13:37:32 GMT
Server: Apache
Last-Modified: Wed, 21 Mar 2018 13:36:04 GMT
ETag: "28204-567ec45c47900-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 27495
Connection: close
Content-Type: text/plain; charset=iso-8859-1
   httpversion 1.0
   hu_blocking 0
   hu_filecount 110
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /all-sensors.txt
   protocol   http
   redirects  0
   timeout    2
   url        http://www.wetter-waldniel.de/all-sensors.txt
   value      0
   .attraggr:
   .attrminint:
   .readingParseList:
     _windboe
     _windboe_date
   QUEUE:
   READINGS:
     2018-03-21 14:37:33   windboe         43.9
     2018-03-21 14:37:33   windboe_date    20180320154342
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://www.wetter-waldniel.de/all-sensors.txt
     value      0
   defptr:
     readingBase:
       windboe    reading
       windboe_date reading
     readingNum:
       windboe    _windboe
       windboe_date _windboe_date
     readingOutdated:
     requestReadings:
       update:
         windboe    reading _windboe
         windboe_date reading _windboe_date
   sslargs:
Attributes:
   readingsName_windboe windboe
   readingsName_windboe_date windboe_date
   readingsRegex_windboe last24h_wind0_gustspeedmax_kmh ([\d\.]+)
   readingsRegex_windboe_date last24h_wind0_gustspeedmax_time ([\d\.]+)
   room       Wettervorhersage
   userattr   readingsName_windboe readingsName_windboe_date readingsRegex_windboe readingsRegex_windboe_date
Raspberry PI3 mit allem möglichen.

frank

ich dachte, du wolltest den timestamp formatieren: 20180320154342.

deine namensgebung ist deprecated, sollte auch im log erscheinen:
Zitat(The old syntax attr readingsNameX and attr readingsRegexX is still supported but the new one with attr readingXName and attr readingXRegex should be preferred.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

ChrisW

also im Log habe ich nichts das funktioniert auch super. Was genau meinst du den damit ? Müssen die unterschiedliche Namen haben? Hast du dazu was aus dem Wiki vielleicht damit ich das besser verstehe?
Raspberry PI3 mit allem möglichen.

frank

das zitat ist aus dem wiki.
was verstehst du daran nicht?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

ph1959de

Zitat von: ChrisW am 21 März 2018, 15:27:30
also im Log habe ich nichts das funktioniert auch super. Was genau meinst du den damit ? Müssen die unterschiedliche Namen haben? Hast du dazu was aus dem Wiki vielleicht damit ich das besser verstehe?
Siehe "Device specific help" (also commandref):

unter Set-Commands das upgradeAttributes inklusive Erläuterungen.
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

ChrisW

so nun besser?


Internals:
   .getList   
   .setList   
   .triggerUsed 1
   .updateReadingList 1
   .updateRequestHash 1
   BUSY       0
   CFGFN     
   DEF        http://www.wetter-waldniel.de/all-sensors.txt 300
   Interval   300
   LASTSEND   1521708079.05697
   MainURL    http://www.wetter-waldniel.de/all-sensors.txt
   ModuleVersion 3.4.2 - 10.2.2018
   NAME       wetter_waldniel
   NR         31446
   STATE      ???
   TRIGGERTIME 1521708379.05479
   TRIGGERTIME_FMT 2018-03-22 09:46:19
   TYPE       HTTPMOD
   addr       http://www.wetter-waldniel.de:80
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       
   displayurl http://www.wetter-waldniel.de/all-sensors.txt
   header     
   host       www.wetter-waldniel.de
   httpheader HTTP/1.1 200 OK
Date: Thu, 22 Mar 2018 08:41:20 GMT
Server: Apache
Last-Modified: Thu, 22 Mar 2018 08:40:04 GMT
Accept-Ranges: none
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 27001
Connection: close
Content-Type: text/plain; charset=iso-8859-1
   httpversion 1.0
   hu_blocking 0
   hu_filecount 128
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /all-sensors.txt
   protocol   http
   redirects  0
   timeout    2
   url        http://www.wetter-waldniel.de/all-sensors.txt
   value      0
   .attraggr:
   .attrminint:
   .readingParseList:
     _windboe
     _windboe_date
   QUEUE:
   READINGS:
     2018-03-22 09:41:21   windboe         32.4
     2018-03-22 09:41:21   windboe_date    20180322083919
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://www.wetter-waldniel.de/all-sensors.txt
     value      0
   defptr:
     readingBase:
       windboe    reading
       windboe_date reading
     readingNum:
       windboe    _windboe
       windboe_date _windboe_date
     readingOutdated:
     requestReadings:
       update:
         windboe    reading _windboe
         windboe_date reading _windboe_date
   sslargs:
Attributes:
   readings01Name_windboe windboe
   readings01Regex_windboe last24h_wind0_gustspeedmax_kmh ([\d\.]+)
   readings02Name_windboe_date windboe_date
   readings02Regex_windboe_date last24h_wind0_gustspeedmax_time ([\d\.]+)
   room       Wettervorhersage
   userattr   readings01Name_windboe readings02Name_windboe_date readings01Regex_windboe readings02Regex_windboe_date
Raspberry PI3 mit allem möglichen.

frank

nein, aber so als bsp für die zweite gruppe:
attr wetter_waldniel reading02Name windboe_date
attr wetter_waldniel reading02Regex last24h_wind0_gustspeedmax_time ([\d\.]+)


dazu dann die timestamp formatierung "MM-DD HH:MM"

attr wetter_waldniel reading02OExpr ($val=~m/^(/d/d/d/d)(/d/d)(/d/d)(/d/d)(/d/d)(/d/d)$/)?($2."-".$3." ".$4.":".$5):$val
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

ChrisW

ach nun verstehe ich das auch wie es gewollt ist :) DANKE
Jedoch:
ERROR:
Invalid Expression ($val=~m/^(/d/d/d/d)(/d/d)(/d/d)(/d/d)(/d/d)(/d/d)$/)?($2."-".$3." ".$4.":".$5):$val
Raspberry PI3 mit allem möglichen.

frank

oh shit, mach mal aus allen "/d" => "\d".
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

ChrisW

vielen Dank funktioniert aber so was macht man doch nicht im Kopf oder ? Gibt es da irgendwo einen Generator dafür ? Um verschiedene Ausgaben hinzubekommen ?
Raspberry PI3 mit allem möglichen.

frank

#27
im ersten teil wird das reading in 6 gruppen zerlegt, die über variablen ($1-$6) nutzbar werden. und danach wieder entsprechend zusammengebaut mit den gruppen $2-$5 plus zusätzlichen zeichen (in der klammer nach dem fragezeichen). das kannst du beliebig umstellen/erweitern.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html