Autor Thema: Wetterbericht über Lautsprecher ausgeben lassen  (Gelesen 435 mal)

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1836
Wetterbericht über Lautsprecher ausgeben lassen
« am: 31 Mai 2020, 00:30:34 »
Ich lasse mir jeden Morgen das Wetter in einer möglichst kurzen Form über einen Lautsprecher ausgeben. Getriggert wird es bei mir über einen Bewegunsgmelder, der anspricht, sobald ich früh das Schlafzimmer verlasse.

Zuerst einmal auf die folgende Seite gehen und dort nach seinem Wohnort suchen und diese Seite aufrufen. Die Url muss in das folgende Device kopiert werden:

https://www.wetter.de

defmod WETTER_WETTER_DE HTTPMOD https://www.wetter.de/deutschland/wetter-<ortsname>-<nummer>/wetterbericht-aktuell.html 1800
attr WETTER_WETTER_DE userattr reading01Name reading01Regex
attr WETTER_WETTER_DE enableControlSet 1
attr WETTER_WETTER_DE enforceGoodReadingNames 1
attr WETTER_WETTER_DE handleRedirects 1
attr WETTER_WETTER_DE reading01Name today
attr WETTER_WETTER_DE reading01Regex <div class="forecast-day">\s+(.*?)\s*<\/div>
attr WETTER_WETTER_DE room WETTER
attr WETTER_WETTER_DE useSetExtensions 1
attr WETTER_WETTER_DE userReadings today_fix:today.* \
{ \
  use HTML::Entities;;\
  use utf8;;\
  use Encode qw(encode_utf8 decode_utf8);;\
  my $val = (ReadingsVal("$name","today","Fehler"));;\
  $val = decode_utf8($val);;\
  decode_entities($val);;\
  $val =~ s/[^\d]*°/ Grad Celsius/g;;\
  $val =~ s/[^\d]*km\/h/ kmh/g;;\
  $val =~ s/[^\d]*%/ Prozent/g;;\
  $val =~ s/l\/m²/ Liter pro Quadratmeter/g;;\
  $val =~ s/\(|\)//g;;\
  $val =~ s/gefühlt\:/ und gefühlt/g;;\
  $val =~ s/(\d+),(\d+)/$1 Komma $2/g;;\
  return encode_utf8($val);;\
}

Jetzt hat man schon mal die Weter Informationen in wenigen Sätzen zusammen gefasst und in einer Form, die z.B. mit Google in ein mp3 umgewandelt und ausgegeben werden kann. Die Informationen sehen in etwa so aus:

Es werden Höchsttemperaturen von 21 Grad Celsius und gefühlt 20 Grad Celsius und mäßiger Wind 19 kmh aus Nordnordost mit frischen Böen 35 kmh erwartet. Es kommt zu Niederschlagsmengen von 0 Liter pro Quadratmeter, die Niederschlagswahrscheinlichkeit beträgt 5 Prozent, die Sonne scheint 9 Stunden.
Das ist kurz und prägnant, also genau das, was man am frühen Morgen maximal aufnehmen kann.

Jetzt benötigt man noch einen Trigger bzw. die Weitergabe an ein Ausgabedevice. Ich verwende hier ein TTS Device, man kann aber auch ein beliebiges speak von diversen Multiroom Lautsprechern oder ähnliches verwenden. Der Trigger (bei mir ist es der Bewegungssensor) lässt sich ebenfalls leicht anpassen.

defmod di_WETTER_ANSAGEN DOIF ([?06:30-10:00] && ([MOTION_WOHNZIMMER:state] eq "motion" && [?$SELF:B_ANSAGE] ne "done"))\
(\
  set TTS tts :axe.mp3:, set TTS tts Guten Morgen. [WETTER_WETTER_DE:today_fix], setreading $SELF B_ANSAGE done\
)\
DOELSEIF ([06:29])\
(\
  setreading $SELF B_ANSAGE wait\
)
attr di_WETTER_ANSAGEN do always
« Letzte Änderung: 31 Mai 2020, 00:32:54 von mumpitzstuff »
Gefällt mir Gefällt mir x 2 Liste anzeigen

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 7950
  • NIVEAu ist keine Creme...
Antw:Wetterbericht über Lautsprecher ausgeben lassen
« Antwort #1 am: 31 Mai 2020, 02:36:12 »
Geiles Teil! :)

Ausprobiert: geht, super...

Vielen Dank!!

Gruß, Joachim

P.S.: gut erst mal auf dem Testsystem noch ohne Sprache aber den kopierten Text (auf's Hauptsystem) hat Alexa schon mal gesprochen :)  Jetzt muss ich mir nur noch überlegen WANN ich mir das "zurufen" lasse(n will) und dann nat. auf's Hauptsystem damit...
FHEM PI3B+ Buster: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, KODI, alexa-fhem, ...
FHEM PI2 Stretch: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM PI3 Buster (Test)
FHEM PI3 Stretch (Test)

Offline fiedel

  • Hero Member
  • *****
  • Beiträge: 1778
Antw:Wetterbericht über Lautsprecher ausgeben lassen
« Antwort #2 am: 31 Mai 2020, 09:26:52 »
Sowas gab es hier vor Jahr(zehnt)en schon mal und ich hab das seitdem zuverlässig am Laufen.
FeatureLevel: 5.9 auf Dreamplug ; Deb. 7 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: S300TH|HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423