NEWS
Hilfe parser auslesen Wind aus .txt
-
Passend zum Sturm wollt ich mal aus einer Wetterstation ein paar Werte auslesen.
Das ganze habe ich im Fhem schon aber mit dem parser Adapter schaffe ich das irgendwie nicht.
Kann mir wer helfen ?
Code von FHEM:define wetter_waldniel HTTPMOD http://www.wetter-waldniel.de/all-sensors.txt 300 attr wetter_waldniel userattr reading01Name reading01Regex reading02Name reading02OExpr reading02Regex attr wetter_waldniel reading01Name windboe attr wetter_waldniel reading01Regex last24h_wind0_gustspeedmax_kmh ([\d\.]+) attr wetter_waldniel reading02Name windboe_date 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 attr wetter_waldniel reading02Regex last24h_wind0_gustspeedmax_time ([\d\.]+) attr wetter_waldniel room Wettervorhersage
Edit:
last24h_wind0_gustspeedmax_kmh ([\d.]+) das klappt aber das mit der Zeit nicht. Wie kann man das direkt umrechnen ?? -
@ChrisXY
Da ist doch schon ein Regex drin.Wie lautet denn der Quelltext der Wetterstation?
-
hi,
ja ich habe regex Übernommen diese Werte bekomme ich auch rein
Aber die Zeit der letzten Böhe ist : 20200209132853
Wie bekomme ich die Zeitangabe direkt umgewandelt ?
In fhem geht das so: reading02OExpr ($val=~m/^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/)?($2."-".$3." ".$4.":".$5):$valGeht das im parser auch direkt oder muss ich das per Blockly machen?
-
@ChrisXY ich kann dir ohne Quelltext nicht helfen
-
@Homoran hä ? steht doch da oder was meinst du?
http://www.wetter-waldniel.de/all-sensors.txtDamit lade ich die Geschwindigkeit :
last24h_wind0_gustspeedmax_kmh ([\d.]+)Und hier die zeit der letzten böhe:
last24h_wind0_gustspeedmax_time ([\d.]+)Das ist eine txt hab den Wert ja nun auch im iobroker aber diese Zahl die da setht ist wohl keine richtige Unixzeit .. da ich den Wert mal im Inetrnet eingegeben habe bei einem Umrechner .. Deswegen die hoffnung das ich das vielleicht wie in fhem direkt im regex umrechnen kann also im parser Adapter.
-
@ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:
steht doch da
Hab ich bis jetzt keinen Link gesehen
dann nimm mal:
last24h_wind0_speedmax_time\s+(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\n
Datum und Uhrzeit wird zerlegt in Gruppen
-
@Homoran sagte in Hilfe parser auslesen Wind aus .txt:
@ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:
steht doch da
Hab ich bis jetzt keinen Link gesehen
dann nimm mal:
last24h_wind0_speedmax_time\s+(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\n
Datum und Uhrzeit wird zerlegt in Gruppen
@ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:
diese Zahl die da setht ist wohl keine richtige Unixzeit
Neee
Das ist einfach ein Timestamp -
@Homoran Danke scheint aber nicht zu klappen. Unter Objekte ist die Zahl dann nur Gelb aber immer noch als lange Zahl.
Habs aktuell per VIS gelöst und nehme die Zeit vom Objekt wenn es geändert wurde -
@ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:
Unter Objekte ist die Zahl dann nur Gelb aber immer noch als lange Zahl.
Was hast du denn gemacht?
Ich bin hier blind und kann nichts sehn was du tust.Du arbeitest doch mit dem Parser-Adapter oder?
Du musst für JEDE Gruppe ein (gleiches) RegEx anlegen und dann nur die nummer von 0-5 ändern -
Aus irgendeinem Grund geht es mit ioBroker-Parser tatsächlich nicht.
Man muss für jeden Teil des Timestamps doch einen eigenen RegEx machen. Dann geht es:
Sieht etwas komisch aus, weil die States alphabetisch sortiert werden
-
@Homoran gut das du es nochmal gepostet hast ich war schon am verzweifeln
Das ist aber eher unpraktisch. Daher lese ich nun einfach die Aktualisierungszeit aus wenn der Wert Windböhe gesetzt wird. -
ist aber kein Hexenwerk. du musst nur die Klammern verschieben, je nachdem welchen Teil des Timestamps du haben willst:
last24h_wind0_speedmax_time\s+\d\d\d\d\d\d\d\d\d\d\d\d(\d\d)
Hier Sekunden