Ansagen Ausentemperatur Sonos DOIF

Begonnen von andre07, 05 Oktober 2015, 12:16:13

Vorheriges Thema - Nächstes Thema

andre07

Hallo
Möchte mir gern die Aussentemperatur per DOIF ansagen lassen.
Das ganze hatte ich schon mit einen notify gelöst.
Mit DOIF will es nicht so richtig funktionieren

Hier mein erster Versuch code:
define wetteransage DOIF ([+[1]:01]) ({fhem("set Sonos_Schlafzimmer Speak 80 de Aktuelle Aussentemperatur ist [(wettersation_sensor:temperature:d)] Grad.")})
so geht es jedenfalls nicht
Bei meiner Zeitansage habe ich das Problem das er mir die zweite Stelle nach den komma nicht ansagt
define zeitansage DOIF ([+[3]:10]) ({fhem("set Sonos_Schlafzimmer Speak 80 de Es ist jetzt $hour Uhr $min")})
Kann mir bitte jemand helfen das zu lösen

Andre

marvin78

Die erste Frage lautet: Warum das Rad neu erfinden, wenn es doch schon funktioniert? Man muss nicht alles auf DOIF umbauen. notfy ist ganz sicher nicht deprecated.

Die zweite Frage ist: Warum Perl Code? Ich denke das geht alles mit einfachen FHEM Befehlen innerhalb des DOIFs.

Loredo

define wetteransage DOIF ([+[1]:01]) (set Sonos_Schlafzimmer Speak 80 de Aktuelle Aussentemperatur ist [wettersation_sensor:temperature:d] Grad.)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

inesa394

würde mich auch interissieren mit der sprachausgabe

andre07

Danke Loredo funktioniert :)
wie muss ich das mit der Zeitansage schreiben
damit mir die Uhrzeit korrekt angesagt wird
mit notify habe ich das so gelößt
my $uhransage = sprintf("%02d:%02d Uhr",$hour,$min)
nur weiß ich nicht wie ich das in einen DOIF einbaue

Andre

Damian

Zitat von: andre07 am 06 Oktober 2015, 22:15:00
Danke Loredo funktioniert :)
wie muss ich das mit der Zeitansage schreiben
damit mir die Uhrzeit korrekt angesagt wird
mit notify habe ich das so gelößt
my $uhransage = sprintf("%02d:%02d Uhr",$hour,$min)
nur weiß ich nicht wie ich das in einen DOIF einbaue

Andre

Im Prinzip genauso (über WEB-Editor eingegeben):

...({my $uhransage = sprintf("%02d:%02d Uhr",$hour,$min);;fhem("set test_1 $uhransage")})

ist zwar nicht die elegante Lösung, aber es funktioniert. Der notify-User kennt sowieso nichts anderes ;)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

andre07

ok Danke Damian werd,s gleich mal testen :)