Wetterbericht über Lautsprecher ausgeben lassen

Begonnen von mumpitzstuff, 31 Mai 2020, 00:30:34

Vorheriges Thema - Nächstes Thema

mumpitzstuff

defmod WETTER_WETTER_COM HTTPMOD https://www.wetter.com/deutschland/ditzingen/DE0002156.html 1800
attr WETTER_WETTER_COM userattr reading01Name reading01RegOpt reading01Regex reading02Name reading02RegOpt reading02Regex reading03Name reading03RegOpt reading03Regex reading04Name reading04Regex
attr WETTER_WETTER_COM enableControlSet 1
attr WETTER_WETTER_COM enforceGoodReadingNames 1
attr WETTER_WETTER_COM handleRedirects 1
attr WETTER_WETTER_COM reading01Name today
attr WETTER_WETTER_COM reading01Regex <p class="json-ld-answer">\s*(.*?)\s*<\/p>
attr WETTER_WETTER_COM reading02Name sonne
attr WETTER_WETTER_COM reading02Regex <span class="text--gray">\s*(.*?)\s*<\/span>
attr WETTER_WETTER_COM reading03Name regen
attr WETTER_WETTER_COM reading03RegOpt g
attr WETTER_WETTER_COM reading03Regex <div class="table-cell">\s*?<span class="">\s*(.*?)\s*<\/span>\s*?<\/div>
attr WETTER_WETTER_COM reading04Name regenwarnung
attr WETTER_WETTER_COM reading04Regex <div id="nowcast-text".*?>\s*(.*?)\s*<\/div>
attr WETTER_WETTER_COM room WETTER
attr WETTER_WETTER_COM useSetExtensions 1
attr WETTER_WETTER_COM userReadings today_fix\
{\
  my $val = ReadingsVal("$name","today","Fehler");;\
  $val .= ' '.ReadingsVal("$name","sonne","").'.';;\
  $val .= ' '.ReadingsVal("$name","regenwarnung","").'.';;\
  $val .= ' Die Regenwahrscheinlichkeit beträgt Morgens '.ReadingsVal("$name","regen-1","").',';;\
  $val .= ' Mittags '.ReadingsVal("$name","regen-2","").',';;\
  $val .= ' Abends '.ReadingsVal("$name","regen-3","");;\
  $val .= ' und Nachts '.ReadingsVal("$name","regen-4","").'.';;\
  $val =~ s/ ;//g;;\
  $val =~ s/<[^>]+>//g;;\
  $val =~ s/[^\d]*°C?/ Grad Celsius/g;;\
  $val =~ s/[^\d]*km\/h/ kmh/g;;\
  $val =~ s/[^\d]*%/ Prozent/g;;\
  $val =~ s/(\d+).(\d+)/$1 Komma $2/g;;\
  return $val;;\
}


Versucht es mal damit.

crusader

#16
Zitat von: Invers am 11 Juli 2020, 18:46:11
Cool. Habe ich übernommen.
Leider kommt da ein Fehler:

Zumeist geringer Niederschlag in wechselnder Intensität bis ca. <span class="[ text--blue-dark ]">19:10 Uhr</span>

Was für'n Dreckswetter bei Euch.
Versuchs mal mit diesem userreading:


rainnowcast_fix
{
  my $val = ReadingsVal("$name","rainnowcast","Fehler");
  $val =~ s/<span class=".*?">//g;
  $val =~ s/<\/span>//g;
  $val =~ s/Uhr//g;
  $val =~ s/ca\./ungefähr/g;
  return $val;
}

Invers

Cool, scheint zu laufen. Ich danke euch beiden. Freue mich, dass es funktioniert. Dann kann man auch mnit dem Sauwetter leben.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2