Wetter vorlesen lassen mit deutschen Wetterservern?

  • 162 Antworten
  • Letztes Antwortdatum
Hallo @obelix76,
Würde gerne dein Script benutzen aber als noob kenn ich mich nicht aus was ich damit machen soll.
Es war fein wenn der Wecker läutete das Wetter zu hören überhaupt beim Nachtdienst. Kannst du vielleicht
eine step by step Anleitung für nicht Profis schreiben? Was man alles braucht etc.
Danke und schöne Festtage
MfG. Gerry

Gesendet von meinem ASUS Transformer Pad TF300T mit Tapatalk 2
 
wann und wie du die Abfrage (und das Vorlesen) auslöst, mußt du dir selbst definieren. Ich hab es bei mir so gelöst, daß es morgens (zwischen 6 und 9 Uhr) auslöst, wenn das Mobifon aus der Dockingstation gezogen wird (USB-Power: aus).

Das PHP-Script an sich, was die ganzen Datenabrufe und -aufbereitungen macht, muß auf einem Webspace mit PHP-Funktionalität (PHP 5 mit aktivierter SimpleXML-Extension) gehostet sein. Hat man keinen Webspace mit diesen Möglichkeiten, kann man den Link zu dem von mir gehosteten Script nutzen, siehe weiter vorn. Dabei muß man aber damit leben, daß mein Rechner auch mal aus sein kann und daß ich in den Logs des Webservers sehen könnte, welche IP-Adresse von welcher (ungefähren) Geokoordinate den Abruf gemacht hat.

So. Und weil morgen Weihnachten ist, hänge ich mal meinen Wetterabruf-/Vorlesetask zum "Abschreiben"/Importieren hier an (auch wenn die Informationen im Thread schon vorhanden sind und nur weiter vorn nachgelesen werden müßten ;)). Nach dem runterladen die Dateierweiterung .txt entfernen - mußte ich anhängen, da die Forensoftware keinen Dateianhang mit der Endung .xml erlaubte.


Noch ein paar erklärende Worte zu dem Task... Die IF-Bedingung am Anfang macht foglendes: Falls ich mein Mobi doch noch mal andocke in der eigentlichen Zeit wo ein Vorlesen ausgelöst werden könnte, und wieder abziehe, bevor 6h vergangen sind, wird die komplette Abfrage übersprungen. Mir ist da ad hoc nix besseres eingefallen.

In der Aktion #2 - HTTP-GET - kann man dann die Abfrage konfigurieren, wie ich bei dem Script weiter vorn beschrieben habe. Ich lasse mir über den Parameter "full" alle Daten vorlesen, und mittels "noumlaut" veranlasse ich das PHP-Script, alle Umlaute und Sonderzeichen umzuschreiben (da meine Samsung TTS-Stimme irgendwie Umlaute nicht abkann). Das muß man ausprobieren, was besser klingt. Die Google TTS-Stimme klingt wiederum besser, wenn man "noumlaut" wegläßt, und damit also Umlaute im String hat.

Stellt sich noch die Frage, warum ich das Variablen umrechnen (Aktionen #9 - 12) mache. Mich störte die führende Null die meine TTS-Stimme immer mit vorgelesen hat ("es ist null-sechs uhr fünfunddreißig"). Da ich keinen besseren Weg wußte, gerade nur die "0" loszuwerden, konvertiere ich den Teilstring nach Binär und zurück nach Dezimal. Dabei wird aus String ein int und die führende Null (und nur die) ist weg. :)


Wenn man jetzt die Wetteransage automatisieren möchte... Als Profil für das automatische Ansagen könnte man folgendes basteln:

Kontext: Power beide
Kontext: Von 6:00 bis 9:00 Uhr
*Ausgangstask*: Wetteransage

Wie man das mit einem Wecker koppelt, weiß ich jetzt nicht. Eventuell kann man bestimmte Ereignisse im Kontext dahingehend hernehmen. Da hilft nur selbst probieren.
 

Anhänge

  • wetter.xml.txt
    3,3 KB · Aufrufe: 492
  • Danke
Reaktionen: Rea und gerry27
Hallo,
vielen Dank für Eure Mühe und Zeit.
Ein Frohes Fest und schöne Feiertage.
Danke.
Mfg.Gerry
 
@obelix76 ja ich wollte noch bisschen basteln..ist aber nichts besonderes..wenn ich deinen benutzen darf ist auch super :)
Frohe Weihnachten an alle!!!!

Der ursprüngliche Beitrag von 15:38 Uhr wurde um 17:28 Uhr ergänzt:

"noumlaut" hat mir nur gefehlt....supi.. jetzt klingt das schon viel besser!!:))
@gerry27 bei mir ist die uhr und wetteransage jedesmal wenn wecker klingelt.
 
Der Task aus Post 13 scheint nicht mehr zu funktionieren. Hat da jemand was aktuelleres laufen, das er bitte zum Download anbieten kann? Vielen Dank.

EDIT: Wusste nicht, das der Anhang aus #62 auch ein Task ist. Damit funktioniert es. Mal sehen, ob man die Ausgabe des Datums etwas besser hinbekommt.

sblock.de - Galaxy Note 2 & 10.1 - Tapatalk 2
 
Zuletzt bearbeitet von einem Moderator:
Ich würde gerne den Task aus Post #62 dahingehend ändern, das automatisch die aktuelle Position für den Wetterbericht genommen wird. Wie muss ich da die Variable die die aktuelle Position enthält aufsplitten und wie in die Abfrage integrieren?

sblock.de - Galaxy Note 2 & 10.1 - Tapatalk HD
 
also mein Anhang in Post #62 hat %LOCN drin und splittet diese auch auf. %LOCN ist die etwas ungenauere netzwerkbasierte Positionsbestimmung. Ich fand sie eigentlich hinreichend genau für den aktuellen Zweck.

wie die GPS-basierte Systemvariable heißt, kann ich ad hoc nicht sagen, es könnte nur %LOC sein. In dem Fall aus %LOCN in der split-Anweisung %LOC sowie aus %LOCN1 %LOC1 und %LOCN2 %LOC2 in der http-Abfrage machen.

Aber wie gesagt, eigentlich ist %LOCN hinreichend genau...

--
Gesendet von meinem GT-I9100G mit Tapatalk 2
 
Hallo ihr,
erstmal vielen dank, dass ihr euch so viel Mühe mit diesem Task gemacht habt. Ich bin neu hier und bräuchte auch bitte gleich eure Hilfe.
Tasker kann die oben angehangene xml datei nicht öffnen, weiß jemand woran das liegen könnte? Die dateiendung .txt wurde schon entfernt...
 
Hi.
Wenn du denn task von Obelix meinst dann musst du die Datei in "wetter.tsk.xml" umbenennen. Dann in tasker oben auf "task" klicken und importieren wählen. Viel Spaß. ;)
 
Wie kann ich "Das Wetter von" aus der Aussage entfernen? hab schon mit verschiedenen Teiler probiert und es geht nicht
 
wenn ich mich recht erinnere (hab grad kein Gerät greifbar, auf dem ich es noch mal fix installieren kann), hatte ich den von http-get zurückgelieferten String bei "DESCRIPTION: " als Trenner teilen lassen, damit man den Copyright-Hinweis "Wetterdaten zur Verfügung gestellt von Yahoo! Weather." los wird.

Damit war dann nur noch die reine Ansage, beginnend mit "Das Wetter von..." im Resultat. Du müßtest jetzt diesen Resultatstring dann ein weiteres mal teilen lassen, und zwar am ersten auftretenden ":" und dann das Ergebnis dieser Teilung vorlesen lassen.
 
hallo,

erstmal vielen dank für den geilen task und das php script!!
ich lasse mir das wetter vorlesen wenn mein wecker klingelt! die parameter in der url sind natürlich super praktisch, weil mich doch nicht alles interessiert!
das ganze hab ich bei mir auf dem webspace liegen!

eigentlich funktioniert das ganze auch super, nur nach der wetteransage kriege ich noch irgendwelchen kauderwelsch vorgelesen! ich konnte leider noch nicht rausfinden wieso!

ich hoffe ihr könnt mir ein tipp geben wo ich nach dem fehler suchen kann!

danke
 
hmmm...
erster Schritt zur Fehlereingrenzung:
nimm mal die URL, die im Task bei HTTP-Get abgerufen wird und laß die mal durch einen Browser rauschen. Händisch dazu die Ortsvariablen mit was sinnvollem ersetzen.

Wenn da "nur" die Texte der Wetteransage kommen - gut. Dann liegt der Fehler im Vorlesetask.
Kommt allerdings in der Ausgabe vom PHP-Script im Browser noch weiterer Output nach den Wetterdaten, ist es vielleicht eine Fehlermeldung oder was in der Art. Dann ist irgendwas mit dem PHP-Script im Argen. Da dürfte dann vermutlich die Fehlermeldung oder was immer da noch angezeigt wird, weiterhelfen.
 
hi, wenn ich das script im browser aufrufe bekomme ich noch folgende warnung angehangen (die werden wohl vorgelesen)

Warning: fopen(wetterzugriff.txt): failed to open stream: Permission denied in /www/htdocs/w011325e/tasker/weather.php on line 42

Warning: fwrite() expects parameter 1 to be resource, boolean given in /www/htdocs/w011325e/tasker/weather.php on line 43

Warning: fclose() expects parameter 1 to be resource, boolean given in /www/htdocs/w011325e/tasker/weather.php on line 44

es handelt sich um folgende funktion im script:
function logdata($weather, $lati, $longi){
$data = date("Ymd.His").";".$_SERVER["REMOTE_ADDR"].";$lati;$longi";
foreach ($weather as $dataobject){
$data.= ";".$dataobject;
}
$data.="\n";
$filename = "wetterzugriff.txt";
$file = fopen($filename, "a");
fwrite($file, $data);
fclose($file);
}

zeile 42-44 sind die letzten 3 über der geschlossenen geschweiften klammer!

btw: ein kleiner fehler ist bei der ausgabe noch drin: "Fuer heute wird heine Hoechsttemperatur von 11 sowie eine Tiefsttemperatur von 7 Grad erwartet." im script steht allerdings "eine", wie kann das sein?
 
Zuletzt bearbeitet von einem Moderator:
jupp... das ist die Logdatei, die er schreiben will - kann man im Script deaktivieren/konfigurieren.

ziemlich am Anfang des Scripts hats eine Variable namens "logging", die Zeile müßte im default eigentlich
Code:
$logging = "off"
lauten.
Ansonsten erwartet das PHP-script eine Datei
Code:
wetterzugriff.txt
im Verzeichnis des Scripts (glaub ich - das ist ein Jahr her, wo ich das gecodet hab :)), die Schreibrechte für den Webserver/PHP-user haben muß. Dann werden bei jedem Zugriff auf das Script mit gültigen Ortsparametern die jeweiligen Wetterdaten in diese Logdatei geschrieben.

Ich hatte das an sich nur für mich zum testen drin, und wohl vergessen rauszunehmen. ;) Deswegen hab ich das auch nicht dokumentiert.
 
danke für die schnelle hilfe! mit deaktiviertem logging sind auch die warnungen weg! hast du mein edit gesehen :) ?
 
hm, das fehlerhafte Vorlesen kann ich mir nicht erklären, weil einfach nur der String über die TTS-Stimme rausgejagt wird...

Kommt dieser Fehler auch, wenn du das Script im Browser abrufst? Ich tippe nämlich eher darauf, daß da die TTS-Stimme irgendwelchen Unfug treibt. ;)
 

Ähnliche Themen

S
Antworten
9
Aufrufe
327
holms
holms
H
Antworten
0
Aufrufe
263
Horgul123
H
M
Antworten
27
Aufrufe
1.073
MeinNickname
MeinNickname
Zurück
Oben Unten