-- hier werden: wetterdaten von website geholt, datum und uhrzeit life umgerechnet, begrüßungstexte geschrieben, alle texte in aiif gewandelt und geschrieben, die aiff in itunes playlist importiert, der lautsprecher ausgewählt, lautstärke vorbesetzung für fade in / fade out (für texte und musik unterschiedliche fade-dauer / lautstärke möglich) vorbesetzt, und dann die aiff (auf internen und/oder externe lautsprecher -selektierbar-) ausgegeben. danach wird die gewandelte aiif datei aus itunes gelöscht, damit immer der aktuelle text / wetter angesagt wird. -- wetter daten von website holen tell application "Safari" to open location "http://www.wetter.net/cgi-bin/wetter-net3/wetter-stadt.pl?NAME=59757" -- das delay wird gebraucht, um die wetterdaten aufzumachen und anzulesen, je nach dfü kann auch kürzer werden delay 20 -- hier können verschiedene web-site-wettertexte eingelesen werden set theSource to "" tell application "Safari" to set theSource to the text of document 1 set AppleScript's text item delimiters to {"Wettervorhersage für heute"} set theText to text item 2 of theSource set AppleScript's text item delimiters to {"Wetterbericht der nächsten Tage"} set myText to text item 1 of theText set AppleScript's text item delimiters to {""} set mytrimtext to ((characters 2 thru -5 of myText) as string) tell application "Safari" to quit -- datum uhrzeit life umsetzen (suboptimal, da sekunden mit angesagt werden) -- delay 3 on getTimeInHoursAndMinutes() -- Get the "hour" set timeStr to time string of (current date) set Pos to offset of ":" in timeStr set theHour to characters 1 thru (Pos - 1) of timeStr as string set timeStr to characters (Pos + 1) through end of timeStr as string -- Get the "minute" set Pos to offset of ":" in timeStr set theMin to characters 1 thru (Pos - 1) of timeStr as string set timeStr to characters (Pos + 1) through end of timeStr as string --Get "AM or PM" set Pos to off set of " " in timeStr set theSfx to characters (Pos + 1) through end of timeStr as string return (theHour & ":" & theMin & " " & theSfx) as string end getTimeInHoursAndMinutes -- datum life umsetzen set d to current date set derTag to text -2 thru -1 of ("0" & d's day) set Monat to word 3 of ((current date) as text) set Jahr to ((year of d) as text) set dasDatum to derTag & "." & Monat & "." & Jahr -- freie texte und wettertexte zusammenbringen set textToWrite1 to (",du wirst gleich duschen wollen., dadurch steigt die luftfeuchtigkeit, und die spielgel beschlagen, ich werde das dachfenster 30% öffnen während du duscht, erschrecke nicht.") set textToWrite2 to (",wenn du erlaubst, starte ich jetzt das radio") set textToWrite to ("guten morgen, heute ist, " & dasDatum & " " & getTimeInHoursAndMinutes() & " ,ich schaue mal nach dem wetter, ein momentchen, dann sage ich es dir an. " & mytrimtext & textToWrite1 & textToWrite2) -- texe txt in aiff audio wandeln, say (textToWrite) saving to ("/Users/wilfriedkneer/Documents/Homebridge/Bad/wetteransage.aiff") -- pfade auf die erstellte aiff setzen set file_path to ("/Users/wilfriedkneer/Documents/Homebridge/Bad/wetteransage.aiff") set the folderPath to "/Users/wilfriedkneer/Documents/Homebridge/Bad" set the filePath to "/wetteransage.aiff" set the fullPath to folderPath & filePath set thePath to alias "Macintosh HD:Users:wilfriedkneer:Documents:Homebridge:Bad:wetteransage.aiff" -- lautsprecher einschalten, somit ist ein homebridgeschalter nicht zwingend notwendig set theURL to "http://192.168.x.xxx/YamahaExtendedControl/v1/main/setPower?power=on" do shell script "curl " & quoted form of theURL -- itunes auf externen lautsprecher stellen, lautstärke vorbesetzen oder-wie hier- fade-in/fade-out, aiff file in itunes playlist importieren und abspielen -- lautstärke fade in -dauer- gibt die fade-in-dauer -targetvolume die endlautstärke an (1) für die texte (2) für musik set targetVolume1 to 30 set dauer1 to 0.1 set targetVolume2 to 30 set dauer2 to 0.3 tell application "iTunes" -- ausgabetext fade in tell application "iTunes" set BadezimmerSpeaker to (first AirPlay device whose name = "Badezimmer") add thePath to playlist "Homebridge" play track "wetteransage" of playlist "Homebridge" set savedVolume to the sound volume repeat with i from 0 to targetVolume1 by 1 set the sound volume to i delay (dauer1) end repeat set savedVolume to 0 play playlist "Antenne Bayern Oldies" set savedVolume to the sound volume repeat with i from 0 to targetVolume2 by 1 set the sound volume to i delay (dauer2) end repeat end tell end tell --kein fade out der musik, die bleibt ja an, bis von extern gestoppt wird. für fade-out die zeile in repeat with i from targetVolume(1oder2) to 0 by -1 umschreiben --ansagetext aus itunes löschen, achtung so werden alle tracks der playlist homebridge gelöscht tell application "iTunes" delete tracks of user playlist "Homebridge" end tell