FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Toto1973 am 11 März 2015, 12:31:05

Titel: Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 11 März 2015, 12:31:05
So, ich habe es geschafft :-)

UPDATE 30.01.2016: Den Code für den Gong habe ich nun komplett in die 99_MyUtils.pm verschoben!
Der MPLAYER blockiert beim abspielen des Gongs FHEM NICHT mehr!


Zuerst benötigt Ihr die mp3 Dateien. Diese kopiert Ihr bitte ins Verzeichnis /opt/fhem/Sound/.

Der folgende Code kommt in die 99_MyUtils.pm

sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Sommerzeit == 1) { $Stunden + 1 };
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($volume == "TEST") {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume 80 /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 00) {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume $volume /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 15) {system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 30) {system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 45) {system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
} }


ERKLÄRUNG:
Die IF-Anweisung konvertiert Zeitangabe nach 13 Uhr zu 12 Stunden. Also sprich, wenn es 13 Uhr ist, dann ist es für die SUB 1 Uhr. Ist es 17 Uhr, dann ist es für die SUB 5 Uhr.
Bei den mplayer Zeilen wird je nach Anzahl der Minuten der entsprechende Gong abgespielt!
Natürlich könnt Ihr die Sounds auch durch andere ersetzen. Dann müsst Ihr den Dateiname und gegebenenfalls das Verzeichnis hinter mplayer anpassen.

Zum testen könnt Ihr in FHEM einfach {WandUhr("TEST")} eingeben.
Um den Gong im Normalbetrieb zu starten, verwendet bitte den Befehl {WandUhr(LAUTSTÄRKE)}, wobei LAUTSTÄRKE einem Wert zwischen 0 und 100 entspricht.

Damit Ihr nun die Uhr auch abschalten könnt, benötigt Ihr noch diesen Dummy:
define Wanduhr_dummy dummy
attr Wanduhr_dummy setList on off

Setzt Ihr diesen nun auf on (set Wanduhr_dummy on), ertönt die Uhr im Stundentakt (bzw im 15 Minutentakt).

Um das Ganze nun als Uhrsimulation abspielen zu lassen, benötigt man noch eine DOIF-Anweisung.
define Wanduhr DOIF ([Wanduhr_dummy] eq "on" and [?10:00:00-21:59:59] and [+:15]) ({WandUhr(83)})
DOELSEIF ([Wanduhr_dummy] eq "on" and [?22:00:00-09:59:59] and [+:15]) ({WandUhr(75)})
attr Wanduhr do always


Wer den 15 Minuten Gong nicht möchte, der sollte den folgenden Code verwenden:
define Wanduhr DOIF ([Wanduhr_dummy] eq "on" and [?10:00:00-21:59:59] and [:00]) ({WandUhr(83)})
DOELSEIF ([Wanduhr_dummy] eq "on" and [?22:00:00-09:59:59] and [:00]) ({WandUhr(75)})
attr Wanduhr do always



Euch viel Spaß mit der Uhr :-)

UPDATE 03.10.2018

Da sich in Rasbian Strech der mplayer zu mpv geändert hat, habe ich den Code der WandUhr angepasst.
sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($volume == "TEST") {system ("mpv /opt/fhem/Sound/BigBen.mp3 --volume=50");system ("mpv /opt/fhem/Sound/BigBenStrikes.mp3 --volume=50 --loop=$Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 00) {system ("mpv /opt/fhem/Sound/BigBen.mp3 --volume=$volume");system ("mpv /opt/fhem/Sound/BigBenStrikes.mp3 --volume=$volume --loop=$Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 15) {system ("mpv /opt/fhem/Sound/BigBen_15.mp3 --volume=$volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 30) {system ("mpv /opt/fhem/Sound/BigBen_30.mp3 --volume=$volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 45) {system ("mpv /opt/fhem/Sound/BigBen_45.mp3 --volume=$volume < /dev/null >&0 2>&0 &")};
} }


Zum einbinden in FHEM einfach die komplette Sub-Routine in der 99_MyUtils.pm austauschen. Der Rest bleibt wie in der Anleitung!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Mitch am 11 März 2015, 12:38:25
So auf die Schnelle würde ich sagen ein at und $hour nutzen.
Du brauchst halt den Gong als mp3 und ein Device, welches dieses ausgeben kann.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: VB90 am 11 März 2015, 12:50:31
Die Idee finde ich cool.
Diese Art der Umsetzung hätte den Vorteil, das man für die Nacht quasi pausieren kann...

vb
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 11 März 2015, 13:17:37
Als Device für die Ausgabe würde natürlich der Raspberry Pi reichen. Daran habe ich einen Bluetooth Sender, der 2 Bluetooth Geräte gleichzeitig mit der Audiowiedergabe versorgen kann.
Über eine ELRO Funksteckdose würde ich dann einen Bluetooth-Lautsprecher einschalten um dort die Soundausgabe zu realisieren.

Ich muss mich da mal intensiv mit beschäftigen und herumbasteln. Sollte mir eine Umsetzung dieser Idee gelingen, werde ich diese natürlich gerne auch für andere zur Verfügung stellen.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Elektrolurch am 11 März 2015, 16:14:44
Ich habe einen FS20 SIG2 in Verwendung. Der steckt in einer Steckdose und ist mit einer Speicherkarte ausgestattet. Auf der sind die MP3s, die per set-Befehl aus fhem heraus abgespielt werden können.
Als Muster war auf der Speicherkarte schon u.a. eine Standuhr, die 9 x schlägt. Die läutet nun morgens und abends so aus Gag bei mir.

Mit dem SIG2 kann man bis zu 100 verschiedene Sounds abspielen und ich gebe über das Teil akustische Meldungen von fhem aus aus.

Elektrolurch
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 11 März 2015, 21:14:20
Das ist auch eine Möglichkeit!
Ich möchte das Ganze aber Softwareseitig umsetzen.
Mein einziges Problem ist es, eine Sub-Routine zu schreiben, die die aktuelle Stunde ausliest und dann eine MP3 Datei (mit Gong) über mplayer so oft abspielt, wie die aktuelle Stunde ist.
Wenn ich die habe, ist der Rest mit DOIF kein Problem mehr.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Mitch am 11 März 2015, 21:52:21
Ich würde den einfachen Weg gehen und 12 mp3s erstellen und die dann per at oder DOIF nutzen
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 11 März 2015, 22:36:45
Das wäre auch eine Möglichkeit!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 11 März 2015, 23:14:28
Wenn ich in FHEM {$hour} eingebe, bekomme ich die Stundenzahl angezeigt. Wie bekomme ich diese denn in ein dummy?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 12 März 2015, 17:57:34
So, wenn man sich auskennt, ist es ein Kinderspiel, so etwas zu programmieren.
Ich habe rumprobiert und gelesen usw.
Und was soll ich sagen?
Es funktioniert *freu*

Ich muss nun das ganze noch zusammen bauen. Danach gibt es den Code im ersten Beitrag :-)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 12 März 2015, 18:34:05
So eines muss man noch testen oder wenn es wer weis, noch besser:
würde das so jede Stunde zwischen 10 und 22 Uhr auslösen?
define Wanduhr DOIF ([09:00-21:00]) ({WandUhr()})
attr Wanduhr do always
attr Wanduhr wait 3600
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 14 März 2015, 09:21:54
So, es hat sich da eine richtig geniale Lösung gefunden, wie man den Gong stündlich ansprechen kann.
define Wanduhr DOIF ([?10:00-22:00) and [{sprintf("%02d:00",$hour+1)}]) ({WandUhr()})

Ich habe das erste Post angepasst!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 14 März 2015, 12:13:58
So, nun hat die Uhr auch einen Viertelstunden Gong.
Wer möchte, kann den Gong einfach mit Hilfe der DOIF erweitern. Alles dazu im ersten Post!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 18 März 2015, 07:02:57
Da hat sich ein Klammerfehler eingeschlichen:
define Wanduhr DOIF ([?10:00-22:00) and [{sprintf("%02d:00",$hour+1)}]) ({WandUhr()})

So müsste es heißen:
define Wanduhr DOIF ([?10:00-22:00] and [{sprintf("%02d:00",$hour+1)}]) ({WandUhr()})

Nach 22:00 also ] statt )


Dann noch:
BigBenStrikes.mp3 im Archiv nennt sich bigbenstrikes.mp3, muss im Code angepasst werden (oder die Datei umbenannt), da sie sonst nicht gefunden wird ;)

Für Linuxneulinge:
Umbenennen geht so:
mv bigbenstrikes.mp3 BigBenStrikes.mp3
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 18 März 2015, 20:22:51
Vielen Dank!
Da ist mir wohl beim packen der Dateien ein Fehler unterlaufen!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 18 März 2015, 20:23:06
Und evtl. ist es schlau, den mplayer mit dem Parameter
−really−quiet
aufzurufen.

Sonst werden die Logfileeinträge doch recht lang...

Dann könnte man noch mit & den mplayer in den Hintergrund schicken, so dass fhem wärend der Soundausgabe nicht blockiert und ungehindert weiter läuft (jedenfalls unter Linux und OSX. Unter Windows könnte es in die Hose gehen, müsste wer testen)


Zusammen sähe es dann beispielsweise so aus:
system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume 120 −really−quiet &")
* ist immer noch ungünstig, siehe PPS weiter unten ;)


Oder so:
([Wanduhr_dummy:state] eq "on" and [{sprintf("%02d:00",$hour+1)}]) ({WandUhr()})
DOELSEIF ([{sprintf("%02d:15",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume 90 −really−quiet &")})
DOELSEIF ([{sprintf("%02d:30",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume 90 −really−quiet &")})
DOELSEIF ([{sprintf("%02d:45",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume 90 −really−quiet &")})




PS:
Ich hab es noch nicht ausprobiert!


PPS:
Jetzt habe ich es selber mal probiert.
Folgende Verbesserung wäre noch sinnvoll:
sub WandUhr()
{
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = $Stunden + 12 };
if($Stunden <= 12) { $Stunde = $Stunden };
    system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume 120 /opt/fhem/Sound/BigBenStrikes.mp3 -volume 120 -loop $Stunde −really−quiet &");
}



Habe also die beiden mplayer Aufrufe zu einem einzigen gemacht.
Ansonsten würde das zuerst gestartete BigBen dafür sorgen, dass das BigBenStrikes nicht abgespielt wird.

Ob man das 1. -volume 120 braucht, weiß ich nicht. Zumindest schadet es augenscheinlich nicht. (Ich könnte mir vorstellen, dass es sonst Ärger mit einem Text2Speech geben könnte, bzw. dessen Lautstärke)

Das -loop wiederholt nur den 2ten Sound (wie gewünscht)
Das -really-quiet unterbindet alle Logfileeinträge (wirkt also auf die ganze "Playlist")
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 19 März 2015, 10:59:57
 8) Hallo
erhalte error reading does not exist: [Wanduhr_dummy:state]
Uhr kommt nicht zur erwarteten Uhrzeit ...
nur über manuelles  {WandUhr()}
MFG Harway
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 19 März 2015, 11:57:23
Du musst den Dummy anlegen:

define Wanduhr_dummy dummy

Dann kannst du mit set Wanduhr_dummy on die Uhr sozusagen einschalten.

Der Vorteil dieser Variante ist, dass du den Gong so zeitgesteuert an/ausschalten kannst. Kann bei der Nachtruhe von Vorteil sein.
Entweder mit at, oder mit einem DOIF. Oder natürlich händisch...

Ein DOIF Besipiel sähe so aus:
define Wanduhr_Zeitschalter DOIF ([05:55]) (set Wanduhr_dummy on) DOELSEIF ([23:05]) (set Wanduhr_dummy off)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 19 März 2015, 12:35:33
 :) ok hab ich gemacht erste Ansage kam ..

wenn das hier keine Bedeutung hat .. ist alles ok

Meldung:

Bogus entry Wanduhr_dummy without TYPE

mfg
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 19 März 2015, 16:44:00
Hallo!
Da ich ja in Sachen Perl noch Anfänger bin, war ich froh, dass ich das mit der Uhr überhaupt hinbekommen habe.
Deshalb vielen Dank für die Verbesserungen, welche ich gleich mal bei mir übernommen habe.

Wenn ich darf, übernehme ich die Verbesserungen in den ersten Post!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 19 März 2015, 19:25:22
Logisch darfst du.
Gemeinsam mehr erreichen :)


Die & Lösung hat noch einen Schönheitsfehler:
Es wird immer der Rückgabewert -1 gegeben, was für eine fehlerhafte Ausführung des Befehls steht. Auch wenn es rein kosmetischer Natur ist. Irgendwie ging die auch weg, ich weiß nur nicht, wie. Hatte was mit 0 zu tun.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 19 März 2015, 19:55:53
Das mit der -1 war von Anfang an da. Ich habe auch mal recherchiert aber nichts dazu gefunden
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: volschin am 19 März 2015, 20:47:47
Warum benutzt Du bei time nicht gleich %r und sparst dir die Umrechnung?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 21 März 2015, 15:05:49
Danke für den Tip!
Ich kenne mich bis jetzt noch gar nicht wirklich mit Perl aus. Deshalb war ich froh, das mit der Uhr überhaupt hin zu bekommen.
Da muss ich mich mal schlau machen, wie das benutzt werden kann.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 22 März 2015, 09:43:27
Habe mal einige Takte "So lang der alte Peter" gemacht.
Könnten die älteren Semester kennen als Pausenzeichen der ARD. Wer mal Bayern 3 im Radio gehört hat, kennt es auch.

Gibt 30 Minuten, 60 Minuten und Glockenschlag...
(meiner Frau ist das Gebimmel 15 und 45 zu viel ;) )


Edit:
Und noch eine Slow-Version angehängt, falls die aus dem Archiv zu schnell ist ;)

Edit 2:
Noch die MIDI Datei, dann könnt ihr selber damit machen was ihr wollt :)
Andere Takte für die 4tel Schläge nehmen, Tempo verändern, anderes Instrument etc...
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 25 März 2015, 11:58:56
Eine sehr schöne Melodie!
Gefällt mir.

Eine weitere Idee wäre ja auch, das man zu jeder vollen Stunde eine andere Melodie abspielen lässt. Das benötigt zwar etwas mehr Code, wäre aber bestimmt auch eine ganz nette "Spielerei".
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 25 März 2015, 18:10:03
Hm ja.
Dann sollte man aber gleich die Dateinamen als Variablen setzen. Dann kann man die einfach per at oder so zur gewünschten Zeit setzen, was meinst?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 29 März 2015, 15:27:38
ZitatAusserdem habe ich mal noch etwas wegen der Sommerzeit hinzugefügt. Allerdings kann ich das erst testen, wenn die Uhr auch umgestellt wird!

Also ich hab das nicht.
Es ging auch so wunderbar. Vermutlich stellt mein Debian selber die Zeit um, so dass hier ein händisches korrigieren unnötig ist.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 30 März 2015, 18:55:38
Also bei mir funktioniert die Uhr auch richtig. Aber ich habe die Sommerzeitanpassung mit drin.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: miggi am 06 April 2015, 03:35:16
ich wollte mal deinen Code bei mir übertragen, jedoch will ich dass mein Tablet diese Sounds abspielt,

daher verwende ich anstatt den
system ("mplayer ... Befehlen diese:

  fhem ("set androidTablet audioPlay http://192.168.178.26/sounds/BigBen.mp3");
  fhem ("set androidTablet audioPlay http://192.168.178.26/sounds/BigBenStrikes.mp3");


nun funktioniert das oben aber leider nicht ganz so toll, da immer nur die erste Datei abgespielt wird, wie hier schon beschrieben wurde.
Hat mir jemand eine Idee wie ich das trotzdem lösen könnte? Da ich leider nicht weiter komme :(

Das Tablet selber ist mit der WebView App eingebunden. Und das abspielen funktioniert ansonsten auch sehr gut, nur halt das mit den Stundenschlägen bekomme ich wie oben gesagt nicht hin.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 06 April 2015, 23:21:40
 8) wie setzt man diese Zeile für den Gong um
system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume 90 /opt/fhem/Sound/BigBenStrikes.mp3 -volume 90 -loop $Stunde −really−quiet &");

set Gong3 playTone 45   spielt BigBen
set Gong3 playTone 44   spielt BigBenStrikes

a. bekomme den loop nicht hin ..
b. wenn ein PlayTone auf einen weiteren folgt wird der erste abgebrochen - dazu muss dann
eine kleine Pause - die für das Abspielen reicht - hinein .. oder gibt es eine Paramater im Gong dafür?

Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 07 April 2015, 08:41:38
@Miggi
Das ist genau das Problem welches man direkt mit dem mplayer auch bekommt, wenn man ihn mit & in den Hintergrund schickt. Der Stundengong weiß nicht, dass schon ein mplayer läuft, daher geht das in die Hose.

Bei Benutzung des mplayers ist es easy, da hängt man die Dateien quasi einfach in der Kommandozeile aneinander.

Die Frage ist, wie man das in deinem Fall am elegantesten löst.

Vermutlich ist es am schlausten, wenn du 12 Audiodateien anlegst. Die nennst du dann 1.mp3 2.mp3 3.mp3 etc...
Dann kannst du die Variable $Stunde nehmen, um die richtige Datei abzuspielen.

Zitatfhem ("set androidTablet audioPlay http://192.168.178.26/sounds/$Stunde.mp3");

Hab es aber nicht probiert!

Wie du die mp3 Dateien erzeugen kannst:
http://wiki.ubuntuusers.de/mp3wrap
(Geht aber auch mit cat und ggfs einer Reperatur des Headers...)



@harway2007
Wenn ich ehrlich bin, verstehe ich dein Problem nicht?
Oder willst du die alte Peter Variante und bekommst es nicht hin?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 07 April 2015, 11:35:46
Ich hab mir noch mal die Sache mit der Fehlerausgabe bei den 15 Minuten-Gongs angesehen.
FHEM gibt generell bei jedem MPlayer-Aufruf, der direkt aus FHEM heraus aufgerufen wird, dieses -1 aus. Woran könnte das liegen?
Weil funktionieren tut es ja!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 07 April 2015, 13:13:57
Weil fhem schon weitermacht, bevor der Befehl erfolgreich ausgeführt worden ist.
Daher kann fhem gar nicht wissen, ob der Befehl fehlerfrei durchging. Deshalb die Fehlermeldung.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 07 April 2015, 23:17:37
Hey Toto1973,
deine DOIF Anweisung hat es in die Commandref vom DOIF geschaft :)

http://fhem.de/commandref_DE.html#DOIF



Glückwunsch :)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: miggi am 07 April 2015, 23:45:41
@Rince
Okey danke das hatte ich mir auch schon überlegt dachte aber ich frag hier erstmal nach ob es nicht eine andere Lösung für gibt.  Werde nochmal Bescheid geben,  wie bzw ob es geklappt hat!
Danke aufjedenfall!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 08 April 2015, 00:14:09
Das ist ja der Hammer!
Vor 6 Wochen wusste ich noch nicht mal, wie ich den FHEM auf einem Raspberry zum laufen bekommen...
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 08 April 2015, 15:05:31
 ??? es geht noch mal um den Lösungsvorschlag:
für die Anzahl der Stunden den Stundengong schlagen lassen:
ein Vorschlag war 12 mp3s zu erzeugen und dann
fhem ("set androidTablet audioPlay http://192.168.178.26/sounds/$Stunde.mp3");
(Hinweis: es wird $hour+1 in der Wanduhr benutzt wird)

ALSO ES WIRD SCHWIERIG:
der Gong benötigt vorne drei Stellen z.B. 050.mp3 051.mp3
kann man einfach vorher $Stunde = $"0" + $"5" + $hour  setzen hier bis Neun?
ergibt das 051 052 053 054 für $Stunde?
ab 10 dann $Stunde = $"0" + $"6" + ($hour=$hour-10)
(ergibt dann 060 061 062)
als Funktion ... und der Syntax? das es sich um Zahlen und Buchstaben handelt !

wäre es nicht einfacher einen Ton der in z.B. in Ton 044 steht x mal Abzuspielen mit einer Mini Pause zwischen
den einzelnen Ausgaben ?

DOELSEIF ([{sprintf("%02d:00:15",$hour+1)}] and [Wanduhr_dummy:state] eq "on") (set Gong3 playTone 044)
hier wird er einmal gespielt ...

da ich nicht weiss wie man eine Schleife mit eigener Variabel und Bedingungen macht ..
scheitere ich ..


Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 08 April 2015, 15:23:38
 ::) in C würde eine Schleife so aussehen:

int i;
for(i=0; i<$hour; i++) {
printf("jetzt GONGT es i mal bis der Wert von $hour erreicht ist", i+1);
}

...
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 08 April 2015, 19:24:46
ZitatALSO ES WIRD SCHWIERIG:
der Gong benötigt vorne drei Stellen z.B. 050.mp3 051.mp3
kann man einfach vorher $Stunde = $"0" + $"5" + $hour  setzen hier bis Neun?
ergibt das 051 052 053 054 für $Stunde?
ab 10 dann $Stunde = $"0" + $"6" + ($hour=$hour-10)
(ergibt dann 060 061 062)
als Funktion ... und der Syntax? das es sich um Zahlen und Buchstaben handelt !

wäre es nicht einfacher einen Ton der in z.B. in Ton 044 steht x mal Abzuspielen mit einer Mini Pause zwischen
den einzelnen Ausgaben ?

Ich versteh nix. Aber passiert öfter.

Warum soll da irgend etwa 3-Stelliges stehen?
Was du vorschlägst unten, x Wiederholungen zu erzeugen, macht doch das Skript aus dem ersten Posting.

Wenn du für jede Stunde 1 eigene MP3 willst, dann meine ich 1 MP3. Da wird dann nix mehr geloopt oder so, sondern die Melodie und die Gongschläge sind in 1 MP3 zusammengefasst. Ergo sind es 12 MP3 Dateien.

Da wir in $Stunde eh die Stunde haben, können wir die 12 MP3s einfach nach dem Wert in $Stunde benennen. 1.mp3, 2.mp3,... 12.mp3


Also erzeugen wir irgendwie (Cubase, Audacity, MusicMaker, cat) 12 individuelle MP3s, 1 für jede Stunde.


Dann hat jedes Geloope und jede Schleife keine Existenzberechtigung mehr. Das ist nötig, wenn Melodie und Glockenschlag nicht individuell abespielt werden können.

Solangean den mplayer hat, ist es ziemlich überflüssig :)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 09 April 2015, 00:16:07
ich bin ein Stück weiter ..
habe die Routine von  derron hier gefunden :

# playToneEx
# perl playTone Erweiterung zur Nutzung des Repeat Features
# params: 1=Device, 2=MP3 File Nr, 3=Count
# { playToneEx("Tuergong.1.MP3","54","3") }
# { playToneEx("Tuergong.1.MP3","54",30) }

sub playToneEx($$$) {
  my ($device, $tone, $repeat) = @_;
  my $repeatStr = "";
  if ($device && $tone) ......

jetzt muss ich nur noch wissen wie die $hour Zahl in die SubRoutine übergeben wird:

DOELSEIF ([{sprintf("%02d:00:15",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({playToneEx("Gong3","44","&hour")})

.. klappt leider nicht ...
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: miggi am 09 April 2015, 20:53:04
also bei mir funktioniert es jetzt auch mit dem Gong einwandfrei! Danke nochmal Rince.

Für die nächsten Lade ich noch die Gongs hoch. Muss ja nicht jeder nochmal machen müssen!

Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 11 April 2015, 01:19:26
 8) sehr nett von miggi .. DANKE
aber hinter meiner gesuchten Lösung für den Gong steckt das ich gerne
wissen möchte wie man eine Variable an eine SUB übergibt ..

wie übergebe ich also eine Variable - hier $hour oder $hour+1
an eine SUB wie diese hier:

([Wanduhr_dummy:state] eq "on" and [{sprintf("%02d:00",$hour+1)}]) ({WandUhr()})
DOELSEIF ([{sprintf("%02d:00:01",$hour+1)}] and [Wanduhr_dummy:state] eq "on") (set Gong3 playTone 45)
DOELSEIF ([{sprintf("%02d:00:15",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({playToneEx("Gong3","44",$hour)})

die rot markierte Stelle funktioniert so nicht ..
eine DOELSIF für die 12 mp3 Files wüsste ich auch nicht
zu schreiben ..



Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: DieterL am 12 April 2015, 12:29:37
inspiriert von diesem Eintrag hier hab ich auch eine Ansage der Uhrzeit über Sonos realisiert.
Im Anhang hab ich mal die dazughörigen MP3´s anghängt, evtl. kann die jemand gebrauchen. Hört sich nett an.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: miggi am 13 April 2015, 19:07:40
Zitat von: harway2007 am 11 April 2015, 01:19:26
([Wanduhr_dummy:state] eq "on" and [{sprintf("%02d:00",$hour+1)}]) ({WandUhr()})
DOELSEIF ([{sprintf("%02d:00:01",$hour+1)}] and [Wanduhr_dummy:state] eq "on") (set Gong3 playTone 45)
DOELSEIF ([{sprintf("%02d:00:15",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({playToneEx("Gong3","44",$hour)})

kannst du denn die Methode playToneEx hier vielleicht auch noch kurz beschreiben? Oder was hast du denn vor?
Du willst mit dem rot markierten doch den "Gong3" mit der Lautstärke 44 $hour mal abspielen richtig?
Mit
{playToneEx()} ruft man ja Methoden auf  (siehe {WandUhr()} ). Leider kann ich dir mit den Import- und Export Parametern nicht wirklich weiterhelfen, da für mich Perl noch ein wenig ein Rätsel ist in anderen Programmiersprachen hätte ich das auch locker hinbekommen, dann hätte ich auch nicht die 12 verschiedenen MP3's erstellt.

Edit:
Zitat von: harway2007 am 09 April 2015, 00:16:07
# playToneEx
# perl playTone Erweiterung zur Nutzung des Repeat Features
# params: 1=Device, 2=MP3 File Nr, 3=Count
# { playToneEx("Tuergong.1.MP3","54","3") }
# { playToneEx("Tuergong.1.MP3","54",30) }

sub playToneEx($$$) {
  my ($device, $tone, $repeat) = @_;
  my $repeatStr = "";
  if ($device && $tone) ......
okey hab das leider nicht gesehen sry.

Du kannst es mal so probieren, weiß aber nicht ob das so funktioniert, wie gesagt bin in Perl auch noch ein Neuling:
  sub produkt
        {
        my($faktor1,$faktor2)=@_;
        return($faktor1*faktor2);
        }

        print produkt(3,7); # 21

Müsste eigentlich funktionieren ( http://wiki.perl-community.de/Wissensbasis/SubroutinenParameterUndRueckgabewerte (http://wiki.perl-community.de/Wissensbasis/SubroutinenParameterUndRueckgabewerte) )
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 13 April 2015, 21:45:36
danke .. aber das versteh ich auch nicht
ich wollte doch nur einen Wert aus der SUB haben hier §Stunde
- darin sollte sich die Anzahl der Stunden befinden ..
der Aufruf sollte aus dieser SUB erfolgen

sub WandUhr()
{
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if($Sommerzeit == 1) { $Stunden + 1 };
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

return $Stunde
 
}
in Orange mein Versuch ..

dann einsetzen in den Aufruf

DOELSEIF ([{sprintf("%02d:00:15",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({playToneEx("Gong3","44",$Stunde)})

die Funktion macht folgendes : auf dem Hardwaremodul GONG (Name Gong3) den Song Nummer "44" x-mal abspielen ($Stunde)
bei 6 Uhr eben 6 mal ..
im Song 44 steckt der MP3 Ton von dem Stundenschlag vom Westminster

nochmals zur Kontrolle die Funktion mit einer Zahl an der Stelle §Stunde - funktioniert prima !
DOELSEIF ([{sprintf("%02d:00:15",$hour+1)}] and [Wanduhr_dummy:state] eq "on") ({playToneEx("Gong3","44",6)})


Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Rince am 16 April 2015, 20:42:06
Das return $irgendwas klappt nicht.
Entweder du schreibst das innerhalb der sub in einen Dummy (quasi ein fhem$, der Dummy), oder du ziehst das DOIF in die sub rein. Ob das aber geht, weiß ich nicht. Im Prinzip dürfte nichts dagegen sprechen.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 17 April 2015, 09:22:30
 :o pardon wie würde das dann aussehen..
welchen Code schlägst du vor ..
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 22 April 2015, 10:57:30
Hallo!
Da ich mit der Lautstärke zwischen Radio und dem Gong "Probleme" habe, habe ich mir eine Lautstärken Anpassung gebastelt.
Der Gong wird ja mit einer fest eingestellten Lautstärke abgespielt. Läuft nun SRadio, dann wird die Wiedergabe leiser. Und um die Lautstärke wieder auf den alten wert zu setzten, habe ich mir dieses DOIF gebastelt:
define SRadio_play DOIF ([SRadio:state] eq "playing" and [10:00 - 23:00] and [:01] or [:16] or [:31] or [:46]) (set SRadio VOLUME [Dum_Volume_D])
Der Dummy Dum_Volume_D steuert bei mir über Slider die Lautstärke von SRadio.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: mfeske am 01 August 2015, 09:18:25
Hallo DieterL,

vielen Dank für die Zeitansage. harway2007 Ich vermute Du hast einen FM Funkgong mit MP3 Wiedergabe. Ich würde auch gerne eine Wanduhr mit Zeitansage basteln. Bist Du in der Angelegenheit weiter gekommen? Das Problem ist ja das die MP3 dreistellig hinterlegt sind und die MP3 Nummer nicht immer der Zeit entsprechen (wenn zum Beispiel schon von anderen belegt).

Um 1 müsste zum Beispiel ein set gong_MP3 playTone 123 erfolgen und um 2 Uhr ein set gong_MP3 playTone 124 . Bekommt man das zum Beispiel über ein einfaches DOIF hin? Ich habe das trotz dem Hinweis von rince nicht in der doif commandref gefunden.

Wo ist den $hour überhaupt hinterlegt?

Gruß
Micha

Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: harway2007 am 01 August 2015, 10:02:29
Hallo - nein das Problem ist noch nicht gelöst..
siehe bitte mal die Einträge vom 9.4 und 11.4
es ging darum die &hour (Stunde) auszulesen und diesen Wert
zu benutzen um den Gong für die Stunde x mal anzusteuern ...
Also erst kommt der Hauptgong für die Stunde
dann der Stundenschlag bei 7 Uhr eben 7 mal ..
Gruss Harway
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: andre07 am 28 August 2015, 13:29:22
Hallo

Im log bekomme ich dieses Playing −really−quiet.
File not found: '−really−quiet'
Failed to open −really−quiet

Funktionieren tut es aber
Außerdem schreibt er mir den log voll
[code] jump to the end
Clip info:
Title: Big Ben
Artist: Troy Rumrich
Album: www.Traummusik.com
Year: 2014
Comment: ??Nur f�r den privaten Gebrauc
Genre: Other
Load subtitles in /opt/fhem/sound/
==========================================================================
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
AUDIO: 44100 Hz, 2 ch, s16le, 160.0 kbit/11.34% (ratio: 20000->176400)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
Home directory not accessible: Permission denied
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   0.0 (00.0) of 2.0 (02.0) ??,?%                                             
A:   0.0 (00.0) of 2.0 (02.0) ??,?%                                             
A:   0.1 (00.0) of 2.0 (02.0) ??,?%                                             
A:   0.1 (00.0) of 2.0 (02.0) ??,?%                                             
A:   0.1 (00.0) of 2.0 (02.0) ??,?%                                             
A:   0.1 (00.1) of 2.0 (02.0) ??,?%                                             
A:   0.1 (00.1) of 2.0 (02.0)  0.4%                                             
A:   0.2 (00.1) of 2.0 (02.0)  0.4%                                             
A:   0.2 (00.1) of 2.0 (02.0)  0.4%                                             
A:   0.2 (00.2) of 2.0 (02.0)  0.5%                                             
A:   0.2 (00.2) of 2.0 (02.0)  0.4%                                             
A:   0.3 (00.2) of 2.0 (02.0)  0.4%                                             
A:   0.3 (00.2) of 2.0 (02.0)  0.5%                                             
A:   0.3 (00.3) of 2.0 (02.0)  0.5%                                             
A:   0.3 (00.3) of 2.0 (02.0)  0.5%                                             
A:   0.4 (00.3) of 2.0 (02.0)  0.5%                                             
A:   0.4 (00.3) of 2.0 (02.0)  0.6%                                             
A:   0.4 (00.4) of 2.0 (02.0)  0.6%                                             
A:   0.4 (00.4) of 2.0 (02.0)  0.6%                                             
A:   0.4 (00.4) of 2.0 (02.0)  0.6%                                             
A:   0.5 (00.4) of 2.0 (02.0)  0.6%                                             
A:   0.5 (00.4) of 2.0 (02.0)  0.7%                                             
A:   0.5 (00.5) of 2.0 (02.0)  0.7%                                             
A:   0.5 (00.5) of 2.0 (02.0)  0.7%                                             
A:   0.6 (00.5) of 2.0 (02.0)  0.7%                                             
A:   0.6 (00.5) of 2.0 (02.0)  0.8%                                             
A:   0.6 (00.6) of 2.0 (02.0)  0.8%                                             
A:   0.6 (00.6) of 2.0 (02.0)  0.8%                                             
A:   0.6 (00.6) of 2.0 (02.0)  0.8%                                             
A:   0.7 (00.6) of 2.0 (02.0)  0.8%                                             
A:   0.7 (00.7) of 2.0 (02.0)  0.8%                                             
A:   0.7 (00.7) of 2.0 (02.0)  0.8%                                             
A:   0.8 (00.7) of 2.0 (02.0)  0.9%                                             
A:   0.8 (00.7) of 2.0 (02.0)  0.9%                                             
A:   0.8 (00.7) of 2.0 (02.0)  0.9%                                             
A:   0.8 (00.8) of 2.0 (02.0)  0.9%                                             
A:   0.8 (00.8) of 2.0 (02.0)  0.9%                                             
A:   0.9 (00.8) of 2.0 (02.0)  0.9%                                             
A:   0.9 (00.8) of 2.0 (02.0)  0.9%                                             
A:   0.9 (00.9) of 2.0 (02.0)  0.9%                                             
A:   0.9 (00.9) of 2.0 (02.0)  0.9%                                             
A:   1.0 (00.9) of 2.0 (02.0)  0.9%                                             
A:   1.0 (00.9) of 2.0 (02.0)  1.0%                                             
A:   1.0 (01.0) of 2.0 (02.0)  1.0%                                             
A:   1.0 (01.0) of 2.0 (02.0)  1.0%                                             
A:   1.1 (01.0) of 2.0 (02.0)  1.0%                                             
A:   1.1 (01.0) of 2.0 (02.0)  1.0%                                             
A:   1.1 (01.0) of 2.0 (02.0)  1.0%                                             
A:   1.1 (01.1) of 2.0 (02.0)  1.0%                                             
A:   1.1 (01.1) of 2.0 (02.0)  1.0%                                             
A:   1.2 (01.1) of 2.0 (02.0)  1.0%                                             
A:   1.2 (01.1) of 2.0 (02.0)  1.0%                                             
A:   1.2 (01.2) of 2.0 (02.0)  1.0%                                             
A:   1.2 (01.2) of 2.0 (02.0)  1.0%                                             
A:   1.3 (01.2) of 2.0 (02.0)  1.1%                                             
A:   1.3 (01.2) of 2.0 (02.0)  1.0%                                             
A:   1.3 (01.2) of 2.0 (02.0)  1.1%                                             
A:   1.3 (01.3) of 2.0 (02.0)  1.1%                                             
A:   1.4 (01.3) of 2.0 (02.0)  1.1%                                             
A:   1.4 (01.3) of 2.0 (02.0)  1.1%                                             
A:   1.4 (01.4) of 2.0 (02.0)  1.1%                                             
A:   1.4 (01.4) of 2.0 (02.0)  1.1%                                             
A:   1.4 (01.4) of 2.0 (02.0)  1.1%                                             
A:   1.5 (01.4) of 2.0 (02.0)  1.1%                                             
A:   1.5 (01.4) of 2.0 (02.0)  1.1%                                             
A:   1.5 (01.5) of 2.0 (02.0)  1.1%                                             
A:   1.5 (01.5) of 2.0 (02.0)  1.1%                                             
A:   1.6 (01.5) of 2.0 (02.0)  1.1%                                             
A:   1.6 (01.5) of 2.0 (02.0)  1.1%                                             
A:   1.6 (01.6) of 2.0 (02.0)  1.1%                                             
A:   1.6 (01.6) of 2.0 (02.0)  1.1%                                             
A:   1.7 (01.6) of 2.0 (02.0)  1.1%                                             
A:   1.7 (01.6) of 2.0 (02.0)  1.2%                                             
A:   1.7 (01.7) of 2.0 (02.0)  1.1%                                             
A:   1.7 (01.7) of 2.0 (02.0)  1.1%                                             
A:   1.7 (01.7) of 2.0 (02.0)  1.2%                                             
A:   1.8 (01.7) of 2.0 (02.0)  1.2%                                             
A:   1.8 (01.7) of 2.0 (02.0)  1.2%                                             
A:   1.8 (01.8) of 2.0 (02.0)  1.2%                                             
A:   1.8 (01.8) of 2.0 (02.0)  1.2%                                             
A:   1.9 (01.8) of 2.0 (02.0)  1.2%                                             
A:   1.9 (01.8) of 2.0 (02.0)  1.2%                                             
A:   1.9 (01.9) of 2.0 (02.0)  1.2%                                             
A:   1.9 (01.9) of 2.0 (02.0)  1.2%                                             
A:   2.0 (01.9) of 2.0 (02.0)  1.2%                                             
A:   2.0 (01.9) of 2.0 (02.0)  1.2%                                             
A:   2.0 (02.0) of 2.0 (02.0)  1.2%                                             
A:   2.0 (02.0) of 2.0 (02.0)  1.2%                                             
A:   2.1 (02.0) of 2.0 (02.0)  1.2%                                             
A:   2.1 (02.0) of 2.0 (02.0)  1.2%                                             
A:   2.1 (02.0) of 2.0 (02.0)  1.2%                                             
A:   2.1 (02.1) of 2.0 (02.0)  1.2%                                             
A:   2.1 (02.1) of 2.0 (02.0)  1.2%                                             
A:   2.2 (02.1) of 2.0 (02.0)  1.2%                                             
A:   2.2 (02.1) of 2.0 (02.0)  1.2%                                             
A:   2.2 (02.2) of 2.0 (02.0)  1.2%                                             
A:   2.2 (02.2) of 2.0 (02.0)  1.2%                                             
A:   2.3 (02.2) of 2.0 (02.0)  1.3%                                             
A:   2.3 (02.2) of 2.0 (02.0)  1.3%                                             
A:   2.3 (02.3) of 2.0 (02.0)  1.3%                                             
A:   2.3 (02.3) of 2.0 (02.0)  1.3%                                             
A:   2.4 (02.3) of 2.0 (02.0)  1.3%                                             
A:   2.4 (02.3) of 2.0 (02.0)  1.3%                                             
A:   2.4 (02.3) of 2.0 (02.0)  1.3%                                             
A:   2.4 (02.4) of 2.0 (02.0)  1.3%                                             
A:   2.4 (02.4) of 2.0 (02.0)  1.3%                                             
A:   2.5 (02.4) of 2.0 (02.0)  1.3%                                             
A:   2.5 (02.4) of 2.0 (02.0)  1.3%                                             
A:   2.5 (02.5) of 2.0 (02.0)  1.3%                                             
A:   2.5 (02.5) of 2.0 (02.0)  1.3%                                             
A:   2.6 (02.5) of 2.0 (02.0)  1.3%                                             
A:   2.6 (02.5) of 2.0 (02.0)  1.3%                                             
A:   2.6 (02.6) of 2.0 (02.0)  1.3%                                             
A:   2.6 (02.6) of 2.0 (02.0)  1.3%                                             
A:   2.6 (02.6) of 2.0 (02.0)  1.3%                                             
A:   2.7 (02.6) of 2.0 (02.0)  1.3%                                             
A:   2.7 (02.7) of 2.0 (02.0)  1.3%                                             
A:   2.7 (02.7) of 2.0 (02.0)  1.3%                                             
A:   2.7 (02.7) of 2.0 (02.0)  1.3%                                             
A:   2.8 (02.7) of 2.0 (02.0)  1.3%                                             
A:   2.8 (02.7) of 2.0 (02.0)  1.3%                                             
A:   2.8 (02.8) of 2.0 (02.0)  1.3%                                             
A:   2.8 (02.8) of 2.0 (02.0)  1.3%                                             
A:   2.9 (02.8) of 2.0 (02.0)  1.3%                                             
A:   2.9 (02.8) of 2.0 (02.0)  1.3%                                             
A:   2.9 (02.9) of 2.0 (02.0)  1.3%                                             
A:   2.9 (02.9) of 2.0 (02.0)  1.3%                                             
A:   3.0 (02.9) of 2.0 (02.0)  1.3%                                             
A:   3.0 (02.9) of 2.0 (02.0)  1.3%                                             
A:   3.0 (03.0) of 2.0 (02.0)  1.3%                                             
A:   3.0 (03.0) of 2.0 (02.0)  1.3%                                             
A:   3.0 (03.0) of 2.0 (02.0)  1.3%                                             
A:   3.1 (03.0) of 2.0 (02.0)  1.3%                                             
A:   3.1 (03.0) of 2.0 (02.0)  1.3%                                             
A:   3.1 (03.1) of 2.0 (02.0)  1.3%                                             
A:   3.1 (03.1) of 2.0 (02.0)  1.3%                                             
A:   3.2 (03.1) of 2.0 (02.0)  1.3%                                             
A:   3.2 (03.1) of 2.0 (02.0)  1.3%                                             
A:   3.2 (03.2) of 2.0 (02.0)  1.3%                                             
A:   3.2 (03.2) of 2.0 (02.0)  1.3%                                             
A:   3.2 (03.2) of 2.0 (02.0)  1.3%                                             
A:   3.3 (03.2) of 2.0 (02.0)  1.3%                                             
A:   3.3 (03.3) of 2.0 (02.0)  1.3%                                             
A:   3.3 (03.3) of 2.0 (02.0)  1.3%                                             
A:   3.4 (03.3) of 2.0 (02.0)  1.3%                                             
A:   3.4 (03.3) of 2.0 (02.0)  1.3%                                             
A:   3.4 (03.3) of 2.0 (02.0)  1.3%                                             
A:   3.4 (03.4) of 2.0 (02.0)  1.3%                                             
A:   3.4 (03.4) of 2.0 (02.0)  1.3%                                             
A:   3.5 (03.4) of 2.0 (02.0)  1.3%                                             
A:   3.5 (03.4) of 2.0 (02.0)  1.3%                                             
A:   3.5 (03.5) of 2.0 (02.0)  1.3%                                             
A:   3.5 (03.5) of 2.0 (02.0)  1.3%                                             
A:   3.6 (03.5) of 2.0 (02.0)  1.3%                                             
A:   3.6 (03.5) of 2.0 (02.0)  1.3%                                             
A:   3.6 (03.6) of 2.0 (02.0)  1.3%                                             
A:   3.6 (03.6) of 2.0 (02.0)  1.3%                                             
A:   3.7 (03.6) of 2.0 (02.0)  1.3%                                             
A:   3.7 (03.6) of 2.0 (02.0)  1.3%                                             
A:   3.7 (03.6) of 2.0 (02.0)  1.3%                                             
A:   3.7 (03.7) of 2.0 (02.0)  1.3%                                             
A:   3.7 (03.7) of 2.0 (02.0)  1.3%                                             
A:   3.8 (03.7) of 2.0 (02.0)  1.3%                                             
A:   3.8 (03.7) of 2.0 (02.0)  1.3%                                             
A:   3.8 (03.8) of 2.0 (02.0)  1.3%                                             
A:   3.8 (03.8) of 2.0 (02.0)  1.3%                                             
A:   3.9 (03.8) of 2.0 (02.0)  1.3%                                             
A:   3.9 (03.8) of 2.0 (02.0)  1.3%                                             
A:   3.9 (03.9) of 2.0 (02.0)  1.3%                                             
A:   3.9 (03.9) of 2.0 (02.0)  1.3%                                             
A:   4.0 (03.9) of 2.0 (02.0)  1.3%                                             
A:   4.0 (03.9) of 2.0 (02.0)  1.3%                                             
A:   4.0 (04.0) of 2.0 (02.0)  1.3%                                             
A:   4.0 (04.0) of 2.0 (02.0)  1.3%                                             
A:   4.0 (04.0) of 2.0 (02.0)  1.3%                                             
A:   4.1 (04.0) of 2.0 (02.0)  1.3%                                             
A:   4.1 (04.0) of 2.0 (02.0)  1.3%                                             
A:   4.1 (04.1) of 2.0 (02.0)  1.3%                                             
A:   4.1 (04.1) of 2.0 (02.0)  1.3%                                             
A:   4.2 (04.1) of 2.0 (02.0)  1.3%                                             
A:   4.2 (04.1) of 2.0 (02.0)  1.3%                                             
A:   4.2 (04.2) of 2.0 (02.0)  1.3%                                             
A:   4.2 (04.2) of 2.0 (02.0)  1.3%                                             
A:   4.3 (04.2) of 2.0 (02.0)  1.3%                                             
A:   4.3 (04.2) of 2.0 (02.0)  1.3%                                             
A:   4.3 (04.3) of 2.0 (02.0)  1.3%                                             
A:   4.3 (04.3) of 2.0 (02.0)  1.3%                                             
A:   4.3 (04.3) of 2.0 (02.0)  1.3%                                             
A:   4.4 (04.3) of 2.0 (02.0)  1.3%                                             
A:   4.4 (04.3) of 2.0 (02.0)  1.3%                                             
A:   4.4 (04.4) of 2.0 (02.0)  1.3%                                             
A:   4.4 (04.4) of 2.0 (02.0)  1.3%                                             
A:   4.5 (04.4) of 2.0 (02.0)  1.3%                                             
A:   4.5 (04.4) of 2.0 (02.0)  1.3%                                             
A:   4.5 (04.5) of 2.0 (02.0)  1.3%                                             


Playing −really−quiet.
File not found: '−really−quiet'
Failed to open −really−quiet.


Playing /opt/fhem/sound/BigBen_30.mp3.
libavformat version 56.32.100 (internal)
Audio only file format detected.
Clip info:
Title: Big Ben
Artist: Troy Rumrich
Album: www.Traummusik.com
Year: 2014
Comment: ?Nur f�r den privaten Gebrauch
Genre: Other
Load subtitles in /opt/fhem/sound/
==========================================================================
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
AUDIO: 44100 Hz, 2 ch, s16le, 160.0 kbit/11.34% (ratio: 20000->176400)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
Home directory not accessible: Permission denied
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   0.0 (00.0) of 7.0 (07.0) ??,?%                                             
A:   0.0 (00.0) of 7.0 (07.0) ??,?%                                             
A:   0.1 (00.0) of 7.0 (07.0) ??,?%                                             
A:   0.1 (00.0) of 7.0 (07.0) ??,?%                                             
A:   0.1 (00.0) of 7.0 (07.0) ??,?%                                             
A:   0.1 (00.1) of 7.0 (07.0) ??,?%                                             
A:   0.1 (00.1) of 7.0 (07.0)  0.5%                                             
A:   0.2 (00.1) of 7.0 (07.0)  0.5%                                             
A:   0.2 (00.1) of 7.0 (07.0)  0.5%                                             
A:   0.2 (00.2) of 7.0 (07.0)  0.5%                                             
A:   0.2 (00.2) of 7.0 (07.0)  0.5%                                             
A:   0.3 (00.2) of 7.0 (07.0)  0.5%                                             
A:   0.3 (00.2) of 7.0 (07.0)  0.5%                                             
A:   0.3 (00.3) of 7.0 (07.0)  0.5%                                             
A:   0.3 (00.3) of 7.0 (07.0)  0.5%                                             
A:   0.4 (00.3) of 7.0 (07.0)  0.5%                                             
A:   0.4 (00.3) of 7.0 (07.0)  0.5%                                             
A:   0.4 (00.4) of 7.0 (07.0)  0.5%                                             
A:   0.4 (00.4) of 7.0 (07.0)  0.5%                                             
A:   0.4 (00.4) of 7.0 (07.0)  0.5%                                             
A:   0.5 (00.4) of 7.0 (07.0)  0.5%                                             
A:   0.5 (00.4) of 7.0 (07.0)  0.5%                                             
A:   0.5 (00.5) of 7.0 (07.0)  0.5%                                             
A:   0.5 (00.5) of 7.0 (07.0)  0.5%                                             
A:   0.6 (00.5) of 7.0 (07.0)  0.5%                                             
A:   0.6 (00.5) of 7.0 (07.0)  0.5%                                             
A:   0.6 (00.6) of 7.0 (07.0)  0.5%                                             
A:   0.6 (00.6) of 7.0 (07.0)  0.5%                                             
A:   0.7 (00.6) of 7.0 (07.0)  0.5%                                             
A:   0.7 (00.6) of 7.0 (07.0)  0.5%                                             
A:   0.7 (00.7) of 7.0 (07.0)  0.6%                                             
A:   0.7 (00.7) of 7.0 (07.0)  0.6%                                             
A:   0.8 (00.7) of 7.0 (07.0)  0.6%                                             
A:   0.8 (00.7) of 7.0 (07.0)  0.6%                                             
A:   0.8 (00.7) of 7.0 (07.0)  0.7%                                             
A:   0.8 (00.8) of 7.0 (07.0)  0.7%                                             
A:   0.8 (00.8) of 7.0 (07.0)  0.7%                                             
A:   0.9 (00.8) of 7.0 (07.0)  0.7%                                             
A:   0.9 (00.8) of 7.0 (07.0)  0.7%                                             
A:   0.9 (00.9) of 7.0 (07.0)  0.7%                                             
A:   0.9 (00.9) of 7.0 (07.0)  0.7%                                             
A:   1.0 (00.9) of 7.0 (07.0)  0.8%                                             
A:   1.0 (00.9) of 7.0 (07.0)  0.8%                                             
A:   1.0 (01.0) of 7.0 (07.0)  0.8%                                             
A:   1.0 (01.0) of 7.0 (07.0)  0.8%                                             
A:   1.1 (01.0) of 7.0 (07.0)  0.8%                                             
A:   1.1 (01.0) of 7.0 (07.0)  0.8%                                             
A:   1.1 (01.0) of 7.0 (07.0)  0.8%                                             
A:   1.1 (01.1) of 7.0 (07.0)  0.9%                                             
A:   1.1 (01.1) of 7.0 (07.0)  0.9%                                             
A:   1.2 (01.1) of 7.0 (07.0)  0.9%                                             
A:   1.2 (01.1) of 7.0 (07.0)  0.9%                                             
A:   1.2 (01.2) of 7.0 (07.0)  0.9%                                             
A:   1.2 (01.2) of 7.0 (07.0)  0.9%                                             
A:   1.3 (01.2) of 7.0 (07.0)  0.9%                                             
A:   1.3 (01.2) of 7.0 (07.0)  0.9%                                             
A:   1.3 (01.3) of 7.0 (07.0)  0.9%                                             
A:   1.3 (01.3) of 7.0 (07.0)  1.0%                                             
A:   1.3 (01.3) of 7.0 (07.0)  1.0%                                             
A:   1.4 (01.3) of 7.0 (07.0)  1.0%                                             
A:   1.4 (01.4) of 7.0 (07.0)  1.0%                                             
A:   1.4 (01.4) of 7.0 (07.0)  1.0%                                             
A:   1.4 (01.4) of 7.0 (07.0)  1.0%                                             
A:   1.5 (01.4) of 7.0 (07.0)  1.0%                                             
A:   1.5 (01.4) of 7.0 (07.0)  1.0%                                             
A:   1.5 (01.5) of 7.0 (07.0)  1.0%                                             
A:   1.5 (01.5) of 7.0 (07.0)  1.0%                                             
A:   1.6 (01.5) of 7.0 (07.0)  1.0%                                             
A:   1.6 (01.5) of 7.0 (07.0)  1.0%                                             
A:   1.6 (01.6) of 7.0 (07.0)  1.1%                                             
A:   1.6 (01.6) of 7.0 (07.0)  1.1%                                             
A:   1.6 (01.6) of 7.0 (07.0)  1.0%                                             
A:   1.7 (01.6) of 7.0 (07.0)  1.1%                                             
A:   1.7 (01.7) of 7.0 (07.0)  1.1%                                             
A:   1.7 (01.7) of 7.0 (07.0)  1.1%                                             
A:   1.7 (01.7) of 7.0 (07.0)  1.1%                                             
A:   1.8 (01.7) of 7.0 (07.0)  1.1%                                             
A:   1.8 (01.7) of 7.0 (07.0)  1.1%                                             
A:   1.8 (01.8) of 7.0 (07.0)  1.1%                                             
A:   1.8 (01.8) of 7.0 (07.0)  1.1%                                             
A:   1.9 (01.8) of 7.0 (07.0)  1.1%                                             
A:   1.9 (01.8) of 7.0 (07.0)  1.1%                                             
A:   1.9 (01.9) of 7.0 (07.0)  1.1%                                             
A:   1.9 (01.9) of 7.0 (07.0)  1.1%                                             
A:   2.0 (01.9) of 7.0 (07.0)  1.1%                                             
A:   2.0 (01.9) of 7.0 (07.0)  1.1%                                             
A:   2.0 (02.0) of 7.0 (07.0)  1.1%                                             
A:   2.0 (02.0) of 7.0 (07.0)  1.2%                                             
A:   2.1 (02.0) of 7.0 (07.0)  1.2%                                             
A:   2.1 (02.0) of 7.0 (07.0)  1.2%                                             
A:   2.1 (02.0) of 7.0 (07.0)  1.2%                                             
A:   2.1 (02.1) of 7.0 (07.0)  1.2%                                             
A:   2.1 (02.1) of 7.0 (07.0)  1.2%                                             
A:   2.2 (02.1) of 7.0 (07.0)  1.2%                                             
A:   2.2 (02.1) of 7.0 (07.0)  1.2%                                             
A:   2.2 (02.2) of 7.0 (07.0)  1.2%                                             
A:   2.2 (02.2) of 7.0 (07.0)  1.2%                                             
A:   2.3 (02.2) of 7.0 (07.0)  1.2%                                             
A:   2.3 (02.2) of 7.0 (07.0)  1.2%                                             
A:   2.3 (02.3) of 7.0 (07.0)  1.2%                                             
A:   2.3 (02.3) of 7.0 (07.0)  1.2%                                             
A:   2.4 (02.3) of 7.0 (07.0)  1.2%                                             
A:   2.4 (02.3) of 7.0 (07.0)  1.2%                                             
A:   2.4 (02.3) of 7.0 (07.0)  1.2%                                             
A:   2.4 (02.4) of 7.0 (07.0)  1.2%                                             
A:   2.4 (02.4) of 7.0 (07.0)  1.2%                                             
A:   2.5 (02.4) of 7.0 (07.0)  1.2%                                             
A:   2.5 (02.4) of 7.0 (07.0)  1.2%                                             
A:   2.5 (02.5) of 7.0 (07.0)  1.2%                                             
A:   2.5 (02.5) of 7.0 (07.0)  1.2%                                             
A:   2.6 (02.5) of 7.0 (07.0)  1.2%                                             
A:   2.6 (02.5) of 7.0 (07.0)  1.2%                                             
A:   2.6 (02.6) of 7.0 (07.0)  1.2% 

[/code
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Tom111 am 28 August 2015, 19:33:49
damit das LOG übersichtlich bleibt muss beim mplayer folgendes in die config (/etc/mplayer/mplayer.conf) geschrieben werden:

really-quiet="1"
lirc=no


so ähnliches muss es auch beim mpg123-Player funktionieren, nur kann ich das nicht sagen, weil ich den nicht habe.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 14 September 2015, 23:52:20
Moin Leute,

ich bekomme im Logfile leider folgende Meldungen (mit Fehlern):

Playing /opt/fhem/Sound/BigBen.mp3.
libavformat version 53.21.1 (external)
Mismatching header version 53.19.0
Audio only file format detected.
Clip info:
Title: Big Ben
Artist: Troy Rumrich
Album: www.Traummusik.com
Year: 2014
Comment: ?Nur f�r den privaten Gebrauch
Genre: Other
Load subtitles in /opt/fhem/Sound/
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
Home directory / not ours.
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
[AO_ALSA] alsa-lib: confmisc.c:768:(parse_card) cannot find card '0'
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:392:(snd_func_concat) error evaluating strings
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:1251:(snd_func_refer) error evaluating name
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[AO_ALSA] alsa-lib: conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
[AO_ALSA] Playback open error: No such file or directory
Failed to initialize audio driver 'alsa'
[AO SDL] Samplerate: 44100Hz Channels: Stereo Format floatle
[AO SDL] using aalib audio driver.
[AO SDL] Unsupported audio format: 0x1d.
[AO SDL] Unable to open audio: No available audio device
Failed to initialize audio driver 'sdl:aalib'
Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video


Playing /opt/fhem/Sound/BigBenStrikes.mp3.
Audio only file format detected.
Clip info:
Title: Westmister
Artist:
Album:
Year: 2015
Comment:
Genre: Speech
Load subtitles in /opt/fhem/Sound/
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, floatle, 117.3 kbit/4.16% (ratio: 14664->352800)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
Home directory / not ours.
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
[AO_ALSA] alsa-lib: confmisc.c:768:(parse_card) cannot find card '0'
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:392:(snd_func_concat) error evaluating strings
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:1251:(snd_func_refer) error evaluating name
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[AO_ALSA] alsa-lib: conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
[AO_ALSA] Playback open error: No such file or directory
Failed to initialize audio driver 'alsa'
[AO SDL] Samplerate: 44100Hz Channels: Stereo Format floatle
[AO SDL] using aalib audio driver.
[AO SDL] Unsupported audio format: 0x1d.
[AO SDL] Unable to open audio:
Failed to initialize audio driver 'sdl:aalib'
Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video


Playing .
File not found: '−really−quiet'
Failed to open −really−quiet.


Exiting... (End of file)



Ich habe nichts am Code für die 99_MyUtils verändernt.
Den mplayer habe ich (hoffentlich richtig?) nachinstalliert sudo apt-get install mplayer

Dann natürlich die 99_MyUtils gespeichert. Das hat auch ohne Fehlermeldung geklappt. Aufruf von {WandUhr()} zeigt ein "-1" an, es wird aber kein Sound abgespielt. Die Logfile sieht wie oben aus. Wenn ich das Logfile richtig verstehe, fehlen diverse Codecs?!

Wenn ich jedoch die Zeile mplayer /opt/fhem/Sound/BigBen.mp3 -volume 90 auf der RasperryPi Kommandozeile auslöse dann wird der Ton gespielt.

Auch wenn ich die ganze Zeile in die Kommandozeile schreibe mplayer /opt/fhem/Sound/BigBen.mp3 -volume 90 /opt/fhem/Sound/BigBenStrikes.mp3 -volume 90 -loop $Stunde −really−quiet & bekomme ich einen Fehler:
ZitatThe loop option must be an integer: −really−quiet
Error parsing option on the command line: -loop
MPlayer svn r34540 (Raspbian), built with gcc-4.6 (C) 2000-2012 MPlayer Team

Was mache ich falsch bzw habe ich übersehen?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 15 September 2015, 08:55:27
Zitat von: miggi am 06 April 2015, 03:35:16

daher verwende ich anstatt den
system ("mplayer ... Befehlen diese:

  fhem ("set androidTablet audioPlay http://192.168.178.26/sounds/BigBen.mp3");
  fhem ("set androidTablet audioPlay http://192.168.178.26/sounds/BigBenStrikes.mp3");


nun funktioniert das oben aber leider nicht ganz so toll, da immer nur die erste Datei abgespielt wird, wie hier schon beschrieben wurde.

Ich kann dir bei deinem Problem wohl leider nicht helfen, was mich aber interessiert ist, wie du dein Device "androidTablet" angelegt hast, sodass dein FHEM (bspw von einem RaspberryPi) über das Netzwerk auf das Tablet eine Sounddatei, die auch wiederum im Netzwerk liegt, anspielt. Ist das Quasi dann wie ein Benachrichtungston als würde eine SMS kommen?

Danke.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: CoolTux am 15 September 2015, 10:36:02
Zitat
Das Tablet selber ist mit der WebView App eingebunden. Und das abspielen funktioniert ansonsten auch sehr gut, nur halt das mit den Stundenschlägen bekomme ich wie oben gesagt nicht hin.

Hat er doch geschrieben.
Ich finde das so interessant das ich vor habe das in das AMAD Modul mit ein zu bauen. Allerdings als Benachrichtigungton mit einer lokalen Datei (also auf dem Tablet liegend)
Dann sagt man dem Modul nur noch welche Datei er abspielen soll.
Danke sehr für diese Inspiration. Die Idee mit der Wanduhr ist wirklich mal prima, zumal ich keine Uhr im Wohnzimmer habe und immer mein Handy greifen muß.



Gruß
Leon
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 15 September 2015, 11:23:28
Zitat von: CoolTux am 15 September 2015, 10:36:02
Hat er doch geschrieben.

Ohweija, danke fürs draufstupsen!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: CoolTux am 15 September 2015, 11:29:15
Kein Problem.


Grüße
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 15 September 2015, 17:55:35
Zitat von: Toto1973 am 11 März 2015, 12:31:05

Um das Ganze nun stündlich abspielen zu lassen, benötigt man noch eine DOIF-Anweisung. Ausserdem spielt die Uhr nun alle 15 Minuten den richtigen Gong:
([Wanduhr_dummy:state] eq "on" and [:00]) ({WandUhr()})
DOELSEIF ([:15] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume 83 −really−quiet &")})
DOELSEIF ([:30] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume 83 −really−quiet &")})
DOELSEIF ([:45] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume 83 −really−quiet &")})
attr Wanduhr do always

Wer den 15 Minuten Gong nicht möchte, der benötigt nur die erste Zeile!


Und wo muss ich diese erste Zeile (ich will nur den stündlichen Gong - erstmal) einfügen?  :o

Und die letzte Zeile brauche ich absolut nicht, wenn ich nur den stündlichen Gong möchte?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: CoolTux am 15 September 2015, 19:15:40
Hallo

Lese Dich bitte in DOIF ein. Wiki und Commandref  helfen da. Dann weisst Du bescheid.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: miggi am 15 September 2015, 20:13:37
Zitat von: chr2k am 15 September 2015, 11:23:28
Ohweija, danke fürs draufstupsen!

Konnt leider net früher reinschauen, hat es sich dann für dich erledigt? Kannst sonst auch hier im Wiki nachschauen.
Falls noch was brauchst sagst halt Bescheid :)
http://www.fhemwiki.de/wiki/WebViewControl (http://www.fhemwiki.de/wiki/WebViewControl)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 15 September 2015, 20:26:08
Danke, das war der passende Hinweis. Klappt nun.

Ich hätte jetzt gerne einen Taster mit dem ich den Befehl {WandUhr()} triggern kann. Also so, als würde ich diesen Befehl in die Kommandozeile schreiben und auf Enter drücken.
Ich vermute mal, dass ich auch etwas mit nem Dummy und einer DOIF Funktion machen muss, aber ich meine Versuche mir aus diversen Codes hier im Foum war zusammen zu klauen/basteln sind gescheitert. Kann mir bitte jemand auf das richtige Gleis helfen?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 15 September 2015, 20:28:10
Zitat von: miggi am 15 September 2015, 20:13:37
Konnt leider net früher reinschauen, hat es sich dann für dich erledigt?

Kein Thema! Trotzdem Danke für deine jetztige Reaktion. War gerade dabei mir die App usw downzuloaden.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: miggi am 15 September 2015, 20:29:45
Zitat von: chr2k am 15 September 2015, 20:28:10
Kein Thema! Trotzdem Danke für deine jetztige Reaktion. War gerade dabei mir die App usw downzuloaden.

alles klar :-)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 15 September 2015, 20:47:44
Zitat von: miggi am 15 September 2015, 20:13:37

Falls noch was brauchst sagst halt Bescheid :)
http://www.fhemwiki.de/wiki/WebViewControl (http://www.fhemwiki.de/wiki/WebViewControl)

Oder ich schaue hier bzw frage her: http://forum.fhem.de/index.php/topic,10628 (http://forum.fhem.de/index.php/topic,10628)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: miggi am 15 September 2015, 20:49:29
Zitat von: chr2k am 15 September 2015, 20:47:44
Oder ich schaue hier bzw frage her: http://forum.fhem.de/index.php/topic,10628 (http://forum.fhem.de/index.php/topic,10628)

ja das kannst natürlich auch machen :) da hab ichs ja auch her.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 16 September 2015, 08:43:08
Zitat von: chr2k am 15 September 2015, 20:26:08
Ich hätte jetzt gerne einen Taster mit dem ich den Befehl {WandUhr()} triggern kann. Also so, als würde ich diesen Befehl in die Kommandozeile schreiben und auf Enter drücken.
Ich vermute mal, dass ich auch etwas mit nem Dummy und einer DOIF Funktion machen muss, aber ich meine Versuche mir aus diversen Codes hier im Foum war zusammen zu klauen/basteln sind gescheitert. Kann mir bitte jemand auf das richtige Gleis helfen?

Womöglich ist mein Beitrag untergengangen, daher zitiere ich mich mal :-)
Weiß da jemand was?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 16 September 2015, 16:59:53
Wie soll denn dieser "Taster" aussehen?

define taster_dummy dummy
attr taster_dummy setList on off

define uhr DOIF ([taster_dummy] eq "on") ({WandUhr()})
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 17 September 2015, 10:39:02
Zitat von: Toto1973 am 16 September 2015, 16:59:53
Wie soll denn dieser "Taster" aussehen?

define taster_dummy dummy
attr taster_dummy setList on off

define uhr DOIF ([taster_dummy] eq "on") ({WandUhr()})


Das funktioniert zwar (technisch) aber nicht wie gewünscht/gedacht.

Ich brauche einen Taster (keinen Schalter) der den Befehl {WandUhr()} triggert, aber nicht irgendwas auf ein oder aus schaltet. Scheinbar ist es nämlich so, dass wenn ich auf Off klicke die Gesamte Gong Funktion deaktiviert ist. So solls ja nicht sein. Es soll ein Button geben der, egal wie eine optionale Zeitschaltuhr programmiert ist, oder was für Abhängigkeiten da nch mit drin hängen, einmalig den Befehl ausführt und dann nichts merh tut.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 19:24:01
Zitat von: Toto1973 am 11 März 2015, 12:31:05

([Wanduhr_dummy:state] eq "on" and [:00]) ({WandUhr()})
DOELSEIF ([:15] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume 83 −really−quiet &")})
DOELSEIF ([:30] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume 83 −really−quiet &")})
DOELSEIF ([:45] and [Wanduhr_dummy:state] eq "on") ({system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume 83 −really−quiet &")})
attr Wanduhr do always



Wenn ich die obigen Zeilen per copy&paste in die 99_myUtils.pm einfüge bekomme ich beim speichern selbiger folgende Fehlermeldung: 

syntax error at ./FHEM/99_myUtils.pm line 64, near "Wanduhr_dummy:"

Zeile 64 entspricht in meiner Utils-Datei die Leerzeile über der ersten Zeile des oben genannten Codes.

Was mache ich falsch?  :'(
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Puschel74 am 21 September 2015, 19:55:58
Zitat von: chr2k am 21 September 2015, 19:24:01
Was mache ich falsch?  :'(
Du versucht ein DOIF als sub zu verwenden.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 20:10:04
Aber die erste Zeile ([Wanduhr_dummy:state] eq "on" and [:00]) ({WandUhr()}) kommt in dei Utils.pm?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Puschel74 am 21 September 2015, 20:15:16
Nein.
In der ersten Zeile wird mit
{WandUhr()}
die sub Wanduhr in der 99_myUtils.pm aufgerufen.

Edith: Das steht aber auf der ersten Seite im ersten Beitrag  :o
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 20:18:48
Und wo gehört diese erste Zeile hin?  :-\
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Puschel74 am 21 September 2015, 20:20:45
Wo die restlichen des DOIF auch hin gehören.
In die Konfig.

Edith: Aber auch DAS steht im ersten Beitrag auf der ersten Seite.
Wie wäre es wenn du dir den Beitrag mal ab der ersten Seite durchlesen anfängst.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 20:32:18
Zitat von: Puschel74 am 21 September 2015, 20:20:45
Edith: Aber auch DAS steht im ersten Beitrag auf der ersten Seite.
Wie wäre es wenn du dir den Beitrag mal ab der ersten Seite durchlesen anfängst.

Ich habe mit dem ersten Beitrag meine Gehversuche mit der Wanduhr gemacht. Die ging mal kurzzeitig und dann auf einmal nicht mehr - keine Ahnung wieso.

Also alles was mit der Uhr zu tun hat gelöscht und neu angelegt und nun die "Probleme".

Ich denke, dass ich das DOIF nun richtig definiert und angelegt habe.

Wenn ich nun aber die Uhr mit {WandUhr()} testen will bekomme ich diese Meldung zurück:
Undefined subroutine &main::WandUhr called at (eval 11956) line 1.

Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Puschel74 am 21 September 2015, 20:37:34
Weil - wie die Meldung schon besagt
ZitatUndefined subroutine &main::WandUhr called at (eval 11956) line 1.
a) die sub Wanduhr in der 99_myUtils.pm nicht existiert oder
b) kein reload 99_myUtils gemacht wurde nachdem die sub eingetragen wurde.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 20:37:51
Und "lustigerweise" bekomme ich, wenn ich den Code, der in die 99_myutil Datei rein gehört hinein kopiere beim speichern dieser folgende Meldung:

Unmatched right curly bracket at ./FHEM/99_myUtils.pm line 51, at end of line syntax error at ./FHEM/99_myUtils.pm line 51, near "}" syntax error at ./FHEM/99_myUtils.pm line 63, near "}"

Vorher gings auch.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Puschel74 am 21 September 2015, 20:40:33
Dann lösch das } vor sub WandUhr()

Edith: @Toto lösch bitte im ersten Beitrag das erste }
Anfänger können mit der resultierenden Fehlermeldung nichts anfangen.

Zitat von: chr2k am 21 September 2015, 20:37:51
Vorher gings auch.
Wetten das nicht.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 20:43:02
Zitat von: Puschel74 am 21 September 2015, 20:40:33
Dann lösch das } vor sub WandUhr()


Muss das { nach sub WandUHr() auch weg?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Puschel74 am 21 September 2015, 20:44:19
Zitat von: chr2k am 21 September 2015, 20:43:02
Muss das { nach sub WandUHr() auch weg?
Hab ich das geschrieben  :o

Tipp: Lies dir im Wiki mal den Beitrag durch wie man die 99_myUtils.pm anlegt und dann schau dir mal in der 99_Utils.pm an wie eine sub aufgebaut ist.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 20:50:56
Zitat von: Puschel74 am 21 September 2015, 20:44:19
Hab ich das geschrieben  :o


Nein, aber ich werde doch Fragen dürfen?!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 21 September 2015, 20:51:58
Danke für die Hilfe @Puschel
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Puschel74 am 21 September 2015, 20:52:27
Zitat von: chr2k am 21 September 2015, 20:50:56
Nein, aber ich werde doch Fragen dürfen?!
Und einen Beitrag der mit der Frage nichts zu tun hat unnötig aufblähen?
Klar darfst du das.
Mist, memo an mich. Nicht immer versuchen zu helfen.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 22 September 2015, 09:30:17
Den Fehler auf der ersten Seite hier im Beitrag habe ich berichtigt!
Danke für den Hinweis
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 29 Januar 2016, 14:48:28
Hallo!
Ich habe meinen Wanduhr mal überarbeitet.
Jetzt ist es Möglich, der Wanduhr einen Parameter für die Lautstärke mit zu geben. Mir war der/die Gong(s) Abends zu laut. Daher nun diese Anpassung.
Der Code für die 99_MyUtils.pm sieht nun so aus:
sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Sommerzeit == 1) { $Stunden + 1 };
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($Minuten == 00) {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume $volume /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde")};
if ($Minuten == 15) {system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume $volume")};
if ($Minuten == 30) {system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume $volume")};
if ($Minuten == 45) {system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume $volume")};

} }


Mit dieser Anpassung werden die Gong-Files alle mit der übergebenen Lautstärke abgespielt.
Zum Aufrufen einfach {WandUhr(Lautstärke)}, wobei Lautstärke durch einen Wert zwischen 0 und 100 zu ersetzen ist, in FHEM eingeben.
Des weiteren wird nun immer zur vollen Stunde der Stunden-Gong abgespielt, um 15 nach der Viertelgong, um 30 nach der Halbgong usw.


Um nun alle 15 Minuten einen Gong zu erhalten, kann man das folgende DOIF verwenden:'
define Wanduhr DOIF ([?10:00-19:59:59] and [+:15]) ({WandUhr(85)})
DOELSEIF ([?20:00-09:59:59] and [+:15]) ({WandUhr(75)})


Bei diesem Beispiel wird zwischen 10:00 und 19:59 Uhr die Wanduhr mit der Lautstärke 85, und von 20:00 bis 09:59 Uhr mit der Lautstärke 75, abgespielt.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 30 Januar 2016, 12:10:45
Da man ja im Moment die WandUhr nicht testen kann, habe ich noch eine Zeile hinzugefügt:
sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Sommerzeit == 1) { $Stunden + 1 };
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($volume == "TEST") {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume 80 /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 00) {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume $volume /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde")};
if ($Minuten == 15) {system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 30) {system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 45) {system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
} }


Gibt man nun in FHEM {WandUhr("TEST")} ein, kann man den Gong testen. Dieser wird dann mit der Lautstärke 80 abgespielt.

Weitere Änderung:
Ich habe es endlich geschafft, den mplayer in den Hintergrund zu schicken, so das FHEM nicht mehr blockiert wird, solange der Gong abgespielt wird! :-)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 31 Januar 2016, 22:34:20
Sehr schön!

Muss man das manuell updaten oder ist deine Uhr eingecheckt?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 12 Februar 2016, 10:59:01
Da es sich ja um kein Modul handelt sondern um Code, muss diese Änderung natürlich manuell vorgenommen werden!

Anzupassen ist da natürlich der Code in der 99_MyUtils.pm, hier einfach die Sub für die Wanduhr löschen und die neue Sub einfügen, und die DOIF, bei welcher man am Besten genau so vorgeht!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: idansch am 18 April 2016, 11:52:31
Hallo,
kann mir einer sagen warum die Lautsärke sich nicht mehr anpassen lässt? Bis vor ca. 14 Tagen hat die Volume Absenkung in den Abendstunden problemlos funktioniert.
Ich habe keine Fehlermeldung gefunden und die Funktion ist vorhanden. Leider nur einheitlich "laut".
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 18 April 2016, 12:12:22
Also da ja über ein Update nichts von meinem Code verändert wird, muss das Problem wo anders liegen.
Vielleicht liegt es eventuell an der Zeitumstellung (ist einfach nur reine Vermutung)?

Wie sieht denn der Code aus, womit Du die Uhr "aufrufst"?

Meiner sieht wie folgt aus:
define Wohnzimmeruhr DOIF ([Wanduhr_dummy] eq "on") (set wz_Lautsprecher on)
DOELSEIF ([Wanduhr_dummy] eq "off") (set wz_Lautsprecher off)
DOELSEIF ([?Wanduhr_dummy] eq "on" and [?10:00:00-19:59:59] and [+:15]) ({WandUhr(83)})
DOELSEIF ([?Wanduhr_dummy] eq "on" and [?20:00:00-09:59:59] and [+:15]) ({WandUhr(75)})


Die ersten beiden Zeilen steuern das ein aus Ausschalten meines Lautsprechers. Die Zeilen 3 und 4 dann die Wanduhr an sich. Die Lautstärke wird ja in der Klammer übergeben!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: idansch am 18 April 2016, 13:01:47
Hier ist mein 99_myUtils Eintrag:

#Wanduhr

sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Sommerzeit == 1) { $Stunden + 1 };
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($Minuten == 00) {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume $volume /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde -volume $volume")};
if ($Minuten == 15) {system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume $volume")};
if ($Minuten == 30) {system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume $volume")};
if ($Minuten == 45) {system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume $volume")};

} }


Und hier der fhem Eintrag:

#Wanduhr

define Wanduhr_dummy dummy
attr Wanduhr_dummy setList on off

define Wanduhr DOIF ([Wanduhr_dummy] eq "on" and [?10:00:00-19:59:59] and [:00]) ({WandUhr(63)}) DOELSEIF ([Wanduhr_dummy] eq "on" and [?20:00:00-09:59:59] and [:00]) ({WandUhr(25)})
attr Wanduhr do always


Update:
Habe gerde in der LOG diesen Eintrag gefunden.

2016.04.18 12:09:26 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 15.
2016.04.18 12:09:26 1: PERL WARNING: Useless use of addition (+) in void context at ./FHEM/99_myUtils.pm line 31.
2016.04.18 12:09:26 1: PERL WARNING: Subroutine WandUhr redefined at ./FHEM/99_myUtils.pm line 24.
MPlayer svn r34540 (Raspbian), built with gcc-4.6 (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /opt/fhem/Sound/BigBen.mp3.
libavformat version 53.21.1 (external)
Mismatching header version 53.19.0
Audio only file format detected.
Clip info:
Title: Big Ben
Artist: Troy Rumrich
Album: www.Traummusik.com
Year: 2014
Comment: ?Nur f�r den privaten Gebrauch
Genre: Other
Load subtitles in /opt/fhem/Sound/
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
Home directory / not ours.
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
Home directory / not ours.
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Video: no video
Starting playback...
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 18 April 2016, 13:57:34
Zu Deiner Sub, benutze mal lieber diese hier:

sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Sommerzeit == 1) { $Stunden + 1 };
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($volume == "TEST") {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume 65 /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 00) {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume $volume /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde")};
if ($Minuten == 15) {system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 30) {system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 45) {system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
} }


Das verhindert, das der Raspberry während dem abspielen blockiert. Wenn der Code ausgetauscht wurde, bitte FHEM neu starten und dann kannst Du mit {WandUhr("TEST")} ausprobieren, ob die Sub geht.

Zu Deinem Code des DOIF, das sollte so alles passen.

Nur zum Player, da scheint etwas mit den Rechten nicht zu passen!
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: sokomania am 22 September 2016, 19:59:07
Hallo
Ich bin schon seit tagen an der Uhr dran, aber es kommt kein Ton. Habe es auch schon mit
{WandUhr(100)} und
{WandUhr("TEST")}
probiert.
Hier meine Einstellungen:

99_myUtils.pm:
###Wanduhr#######

sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Sommerzeit == 1) { $Stunden + 1 };
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($volume == "TEST") {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume 99 /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 00) {system ("mplayer /opt/fhem/Sound/BigBen.mp3 -volume $volume /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde")};
if ($Minuten == 15) {system ("mplayer /opt/fhem/Sound/BigBen_15.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 30) {system ("mplayer /opt/fhem/Sound/BigBen_30.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 45) {system ("mplayer /opt/fhem/Sound/BigBen_45.mp3 -volume $volume < /dev/null >&0 2>&0 &")};
} }




define Wanduhr_dummy dummy
attr Wanduhr_dummy room Wanduhr
attr Wanduhr_dummy setList on off
define Wanduhr DOIF ([Wanduhr_dummy] eq "on" and [?08:00:00-21:59:59] and [+:15]) ({WandUhr(100)})\
DOELSEIF ([Wanduhr_dummy] eq "on" and [?22:00:00-07:59:59] and [+:15]) ({WandUhr(75)})
attr Wanduhr do always


Log:
2016.09.22 19:44:07 1: PERL WARNING: Useless use of addition (+) in void context at ./FHEM/99_myUtils.pm line 32.
2016.09.22 19:45:00 2: Wanduhr: {WandUhr(100)}: -1
  PERL WARNING: Argument "TEST" isn't numeric in numeric eq (==) at ./FHEM/99_myUtils.pm line 37.


Bin leider nicht so bewandert in Perl   ;D Habe mir den Code mal angeschaut, aber nichts gefunden...
Würde mich freuen, wenn mir jemand helfen könnte.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: CoolTux am 12 November 2016, 10:40:57
Ich würde gerne zu Weihnachten ein Weihnachtliche Glockenspiel nehmen statt den BigBen. Hat da zufällig jemand was?
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 12 November 2016, 12:37:53
Die Idee gefällt mir. Muss ich mich mal umhören, was es da so gibt, an Melodien...
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: CoolTux am 12 November 2016, 12:39:13
Ich dachte da an einen kurzen Jingle von Last Christmas vom !wham. Wollte da nicht gleich das ganze Lied spielen lassen. Lach.
Ich suche auch schon.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Yil am 21 November 2016, 00:34:18
Sehr coole Sache hier! Ich hab das mal auf Sonos umgebaut. Der Code dafür lautet:

sub WandUhr($) {
  my ($volume) = @_;
  my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
  my $Stunde = "";
  my $i = 1;
  my $gong = '|BigBenStrikes|';
  my $sound = '';
  if (defined ($volume)) {
     if($Sommerzeit == 1) { $Stunden + 1 };
     if($Stunden <= 12) { $Stunde = $Stunden };
     if($Stunden >= 13) { $Stunde = $Stunden - 12 };
     if($Stunden == 0) { $Stunde = 12 };

     if ($Minuten == 00) {
    fhem("set Sonos_Esszimmer Speak $volume de |BigBen|");
        while ($Stunde >= $i) {
   $sound = $sound.' '.$gong;
       $i++};
      fhem("set Sonos_Esszimmer Speak $volume de $sound");
     };

     if ($Minuten == 15) {fhem("set Sonos_Esszimmer Speak $volume de |BigBen_15|")};
     if ($Minuten == 30) {fhem("set Sonos_Esszimmer Speak $volume de |BigBen_30|")};
     if ($Minuten == 45) {fhem("set Sonos_Esszimmer Speak $volume de |BigBen_45|")};
   }
}


Weil ich damit aber keine WAF bekomme, habe ich auch das DOIF zum Abspielen geändert:

define Wanduhr_Spielzeit DOIF ([Wanduhr] eq "on" and [?({firstAlarm()})-23:00:01] and [+:15] and [S4mini_Bluetooth] ne "present" and [isHome] eq "on") ({WandUhr(40)})

{firstAlarm()} ist eine Funktion, mit der ich die Uhrzeit des ersten Alarms aus meinem Sonos-Wecker auslese, S4mini_Bluetooth das Handy meiner Frau, dass bei Anwesenheit die Wanduhrfunktion aussetzen, isHome unser Zuhause-Status. Wanduhr selbst ist ein Dummy zum manuellen An- und Abschalten.

Vielleicht kann's jemand brauchen.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Resyncer am 02 Dezember 2016, 21:25:55
Bei mir wird die SONOS Variante leider nicht sauber abgespielt, die mp3's werden gekürzt, die Glockenschläge fallen teilweise ganz aus.
Da ist der WAF eher unterirdisch.

Unabhängig davon.... bzw. was mir aufgefallen ist, muss das nicht
if($Sommerzeit == 1) { $Stunde=$Stunden + 1 };
statt
if($Sommerzeit == 1) { $Stunden + 1 };
lauten?
So bekomme ich einen Fehler weniger im Log.

Die Idee mit Last Christmas fand ich sehr interessant, ich habe da mal was zusammengebaut und hier angehängt.

Gruß Heiko
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: CoolTux am 02 Dezember 2016, 23:00:27
Cool. Danke Dir. Schaue ich mir morgen mal an.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Yil am 04 Dezember 2016, 01:07:00
Stimmt, die Sonos-Variante hakt etwas. Ich hab sie etwas umgebaut, jetzt werden alle mp3's sauber abgespielt:

sub WandUhr($) {
  my ($volume) = @_;
  my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
  my $Stunde = "";
  my $i = 1;
  my $gong = '|BigBenStrikes|';
  my $sound = '';
  if (defined ($volume)) {
     if($Sommerzeit == 1) { $Stunden + 1 };
     if($Stunden <= 12) { $Stunde = $Stunden };
     if($Stunden >= 13) { $Stunde = $Stunden - 12 };
     if($Stunden == 0) { $Stunde = 12 };

     if ($Minuten == 00) {
        $sound = '|BigBen|';
        while ($Stunde >= $i) {
   $sound = $sound.' '.$gong;
       $i++};
      fhem("set Sonos_Esszimmer Speak $volume de $sound");
     };

     if ($Minuten == 15) {fhem("set Sonos_Esszimmer Speak $volume de |BigBen_15|")};
     if ($Minuten == 30) {fhem("set Sonos_Esszimmer Speak $volume de |BigBen_30|")};
     if ($Minuten == 45) {fhem("set Sonos_Esszimmer Speak $volume de |BigBen_45|")};
   }
}


Der Trick besteht darin, erst das komplette mp3-file über die while-Schleife zusammen zu bauen und dann einmal auszugeben.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: hartenthaler am 07 Dezember 2016, 02:28:39
Zitat von: Resyncer am 02 Dezember 2016, 21:25:55
Unabhängig davon.... bzw. was mir aufgefallen ist, muss das nicht
if($Sommerzeit == 1) { $Stunde=$Stunden + 1 };
statt
if($Sommerzeit == 1) { $Stunden + 1 };
lauten?
nein if($Sommerzeit == 1) { $Stunden += 1 };
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: chr2k am 24 September 2017, 17:04:48
Ich komm nicht drauf...

if ($Minuten == 00) {system ("mplayer /opt/fhem/Sound/BigBenStrikes.mp3 -volume 60")};

Dies funktioniert einwandfrei.

Aber der Code
if ($Minuten == 01) {fhem("set LED_Herz on")};
schaltet nicht das gewünschte Device in FHEM auf on.

Auch ein ändern mit Leertasten zwischen der jeweiligen ( und ) und dem " oder auch nach {fhem oder auch in Kombination schaffen keine Abhilfe.
Im Wikientrag über die MyUtils steht es in diversen Beispielen so
if ($Minuten == 01) {fhem( "set LED_Herz on" )};
Aber das geht bei mir nicht. Wie oben geschrieben.

Weiß da jemand bitte Rat? Danke.

Gruß
Christian
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: TomLee am 10 Dezember 2017, 16:01:25
Hallo,

ist jetzt schon das zweite Jahr mit Wanduhr zur Weihnachtszeit bei mir.
Damals hatte ich die Steuerung meiner Wanduhren (1x mit Glockenspiel, 1x mit Big Ben) über Ftui mit drei Dummy's (Switches) umgesetzt. Dummy 1 hat das Glockenspiel ein/aus, Dummy 2 den BigBen ein/aus und der Dummy 3 die Funktion Wanduhr über das DOIF ein oder aus geschaltet. Nicht optimal aber erfüllte seinen Zweck.
Ist ja schon paar Tage "Weihnachtszeit" aber gar nicht mehr an die Wanduhr gedacht und somit nicht eingeschaltet.
Auch kann man sich vorstellen das es nicht die beste Lösung zur Steuerung der Wanduhren war.
Hab mir dazu, mit einem Jahr mehr Erfahrung, paar Gedanken gemacht. Herausgekommen ist eine Steuerung der Wanduhren über das FTUI mit nur einem Switch  (und auch nur einem Dummy) inklusive automatischem einschalten des Glockenspiel zur Weihnachtszeit.
Mir gefällt die Lösung für zwei oder mehr Routinen (Wanduhren) und das automatische um/einschalten zur Weihnachtszeit sehr gut darum wollt ich sie teilen.

Mehr oder weniger ist die Umsetzung auch schnell gemacht. Der Dummy aus dem ersten Post wird wie folgt angepasst:

defmod du_Wanduhr dummy
attr du_Wanduhr room Wanduhr
attr du_Wanduhr setList state:Glockenspiel,BigBen,off
attr du_Wanduhr webCmd Glockenspiel:BigBen:off
setstate du_Wanduhr Glockenspiel
setstate du_Wanduhr 2017-12-10 13:14:59 state Glockenspiel


Das DOIF sieht nun so aus:

defmod doif_du_Wanduhr DOIF ([du_Wanduhr] eq "Glockenspiel" and [?10:00:00-20:00:01] and [+:15] and [TV] eq "off") ({WandUhr_Glockenspiel(10)}) DOELSEIF ([du_Wanduhr] eq "BigBen" and [?10:00:00-20:00:01] and [+:15] and [TV] eq "off") ({WandUhr_BigBen(10)})
attr doif_du_Wanduhr do always
attr doif_du_Wanduhr room Wanduhr

setstate doif_du_Wanduhr initialized
setstate doif_du_Wanduhr 2017-12-10 13:38:06 Device TV
setstate doif_du_Wanduhr 2017-12-10 12:17:57 cmd 0
setstate doif_du_Wanduhr 2017-12-10 13:38:06 e_TV_STATE on
setstate doif_du_Wanduhr 2017-12-10 13:14:59 e_du_Wanduhr_STATE Glockenspiel
setstate doif_du_Wanduhr 2017-12-10 12:17:57 state initialized
setstate doif_du_Wanduhr 2017-12-10 12:17:57 timer_01_c01 11.12.2017 10:00:00
setstate doif_du_Wanduhr 2017-12-10 12:17:57 timer_02_c01 10.12.2017 20:00:01
setstate doif_du_Wanduhr 2017-12-10 13:30:00 timer_03_c01 10.12.2017 13:45:00
setstate doif_du_Wanduhr 2017-12-10 12:17:57 timer_04_c02 11.12.2017 10:00:00
setstate doif_du_Wanduhr 2017-12-10 12:17:57 timer_05_c02 10.12.2017 20:00:01
setstate doif_du_Wanduhr 2017-12-10 13:30:00 timer_06_c02 10.12.2017 13:45:00


Und weils hier (https://forum.fhem.de/index.php/topic,80713.msg727743.html#msg727743) die Tage um das schalten zur Weihnachtszeit ging hab ich noch ein zusätzliches DOIF definiert daß das Glockenspiel zur richtigen Zeit (hier ab 25.11. - 08.01.) aktiviert, sonst den BigBen.

defmod Weihnachtszeit DOIF (([00:00] or ["^global$:^MODIFIED $SELF$"]) and ($md ge "11-25" or $md le "01-08")) (set du_Wanduhr Glockenspiel) DOELSE (set du_Wanduhr BigBen)
attr Weihnachtszeit cmdState on|off
attr Weihnachtszeit do always
attr Weihnachtszeit room Wanduhr

setstate Weihnachtszeit on
setstate Weihnachtszeit 2017-12-10 13:14:59 Device global
setstate Weihnachtszeit 2017-12-10 13:14:59 cmd 1
setstate Weihnachtszeit 2017-12-10 13:14:59 cmd_event global
setstate Weihnachtszeit 2017-12-10 13:14:59 cmd_nr 1
setstate Weihnachtszeit 2017-12-10 13:14:59 state on
setstate Weihnachtszeit 2017-12-10 13:14:59 timer_01_c01 11.12.2017 00:00:00


Der Switch im FTUI (siehe auch Bilder im Anhang zu den jeweiligen Status ;D) :

<header>Wanduhr</header>
    <div class="hbox items-space-around">
      <div class="vbox">
           <div class="large"
             data-type="switch"
             data-device="du_Wanduhr"   
             data-states='["Glockenspiel","BigBen","off"]'
             data-set-states='["BigBen","off","Glockenspiel"]'
             data-colors='["black","black","#808080"]'
             data-background-colors='["cornflowerblue","cornflowerblue","#3D4C66"]'
             data-icons='["fa-bell-o","fa-university","fa-power-off"]'>
          </div>
           <div data-type="label"
              data-device="du_Wanduhr"
              data-get="state"
      class="cell darker">
           </div>
      </div>
    </div>


Schönen 2.Advent
       
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: idansch am 11 Dezember 2017, 10:03:47
Das sieht ja schon einmal super aus. Hast du den Code in der 99_MyUtils.pm auch noch verändert bzw. angepasst? Auf Seite 1 wurde nur die sub WandUhr($) definiert. Oder habe ich da etwas übersehen.  ;)
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: TomLee am 11 Dezember 2017, 12:01:07
Zitatdefmod doif_du_Wanduhr DOIF ([du_Wanduhr] eq "Glockenspiel" and [?10:00:00-20:00:01] and [+:15] and [TV] eq "off") )({WandUhr_Glockenspiel(10)} DOELSEIF ([du_Wanduhr] eq "BigBen" and [?10:00:00-20:00:01] and [+:15] and [TV] eq "off") ({WandUhr_BigBen(10)})
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: TomLee am 11 Dezember 2017, 17:18:27
Hallo nochmal,

meiner kleinen Nichte würde ich so auch gerne die Uhr etwas näher bringen, allerdings auf nem Echo-Device (siehe hier (https://forum.fhem.de/index.php/topic,77458.0.html)).
Hab die Routine soweit angepasst. Klappt auch alles, die $sound-mp3 zur vollen Stunde wird auch gespielt, die darauf folgenden Wiederholungen der ..._Strikes.mp3 Datei ($gong) jedoch nicht. (gerade die sollen ja jede Stunde von der Kleinen gezählt werden). Die wird gar nicht abgespielt, nicht einmal und auch keine Wiederholung.
Ich seh eigentlich keinen Fehler, beim Versuch den Code zu verstehen (kann kein Perl) stellt sich mir jetzt auch die Frage woher das Script den weiß wann die Datei zu Ende gespielt ist und bspw. die Wiederholung folgen soll.
Hat das vlt. was damit zu tun das die Dateien aus der Musikbibliothek gestreamt werden und es da zu zeitlichen Problemen kommt.

Bin da für jeden Ratschlag dankbar.


sub WandUhr_GlockenspielE($) {
  my ($volume) = @_;
  my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
  my $Stunde = "";
  my $i = 1;
  my $gong = '2e072704-aa9b-4460-a9c8-12345678';
  my $sound = '';
  if (defined ($volume)) {
  if($Sommerzeit == 1) { $Stunden + 1 };
  if($Stunden <= 12) { $Stunde = $Stunden };
  if($Stunden >= 13) { $Stunde = $Stunden - 12 };
  if($Stunden == 0) { $Stunde = 12 };
  if ($Minuten == 00) {
  $sound = 'd35dfe52-f99d-49f2-af39-87654321';
  while ($Stunde >= $i) {
  $sound = $sound.' '.$gong;
  $i++};
  fhem("set EG_Echo_Wohnzimmer volume $volume;set EG_Echo_Wohnzimmer track $sound");
  };
  if ($Minuten == 15) {fhem("set EG_Echo_Wohnzimmer volume $volume; set EG_Echo_Wohnzimmer track 4417f908-5712-445e-b009-123")};
  if ($Minuten == 30) {fhem("set EG_Echo_Wohnzimmer volume $volume; set EG_Echo_Wohnzimmer track 96cbec63-3cf9-43bc-8403-1234")};
  if ($Minuten == 45) {fhem("set EG_Echo_Wohnzimmer volume $volume;set EG_Echo_Wohnzimmer track 10d6bcb1-0c06-4a4d-bd4e-12345")};
  }
  }
 
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 13 Dezember 2017, 19:43:40
Bei Dir im Code fehlt in der Zeile, die den Stundengong abspielt, etwas.
Die Wiederholung wird vom mplayer mit dem Befehl -loop gesteuert.
In meinem Code wird für Loop als die Stundenanzahl genommen.

if ($Minuten == 00) {fhem "set SRadio VOLUME $volume";system ("mplayer /opt/fhem/Sound/BigBen.mp3 /opt/fhem/Sound/BigBenStrikes.mp3 -loop $Stunde < /dev/null >&0 2>&0 &")};
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: TomLee am 13 Dezember 2017, 22:03:05
An deiner mplayer-Variante bin ich dran aufgrund dieses (https://forum.fhem.de/index.php/topic,80865.msg729204.html#msg729204) Threads die Tage. Klappt aber noch nicht, Bluetooth-Verbindung besteht jedoch noch kein  Sound. Ich selbst nutze die Sonos-Variante. Alles super.
Nach meinem Verständnis verlangt die  "Echo-Variante" keine anderen Befehle wie das Sonos-Beispiel. Bin der Meinung das 1:1 umgesetzt zu haben.(Die Namen der mp3 ersetzt und fertig). Darum meine Frage warums nicht geht.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 03 Oktober 2018, 10:24:08
Auf Seite 1 gibt es ein Update für Alle, die Ihren Raspberry auf Rasbian Strech upgedatet haben. Dort gibt es nun nämlich Unterschiede zum mplayer!
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Ingo298 am 23 Januar 2020, 12:39:33
Ich habe mein System auf Buster umgestellt, dementsprecht auch wie auf Seite beschrieben den Gong angepasst.

sub WandUhr($)
{
my($volume)=@_;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $Stunde = "";
if(defined ($volume))
{
if($Stunden <= 12) { $Stunde = $Stunden };
if($Stunden >= 13) { $Stunde = $Stunden - 12 };
if($Stunden == 0) { $Stunde = 12 };

if ($volume == "TEST") {system ("mpv /opt/fhem/Sound/BigBen_15.mp3 --volume=50");system ("mpv /opt/fhem/Sound/BigBenStrikes.mp3 --volume=50 --loop=$Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 00) {system ("mpv /opt/fhem/Sound/BigBen.mp3 --volume=$volume");system ("mpv /opt/fhem/Sound/BigBenStrikes.mp3 --volume=$volume --loop=$Stunde < /dev/null >&0 2>&0 &")};
if ($Minuten == 15) {system ("mpv /opt/fhem/Sound/BigBen_15.mp3 --volume=$volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 30) {system ("mpv /opt/fhem/Sound/BigBen_30.mp3 --volume=$volume < /dev/null >&0 2>&0 &")};
if ($Minuten == 45) {system ("mpv /opt/fhem/Sound/BigBen_45.mp3 --volume=$volume < /dev/null >&0 2>&0 &")};
} }


Playing: /opt/fhem/Sound/BigBen_15.mp3
(+) Audio --aid=1 (mp3 2ch 44100Hz)
File tags:
Artist: Troy Rumrich
Album: www.Traummusik.com
Album_Artist: www.Traummusik.com
Comment: ??Nur für den privaten Gebrauch! Alle Rechte beim Autoren!
Composer: London
Date: 2014
Genre: Andere
Title: Big Ben

AO: [alsa] 44100Hz stereo 2ch s16
A: 00:00:00 / 00:00:04 (0%)
A: 00:00:00 / 00:00:04 (1%)
A: 00:00:00 / 00:00:04 (3%)
A: 00:00:00 / 00:00:04 (4%)
A: 00:00:00 / 00:00:04 (5%)



Leider wird der Log jetzt immer gefüllt, Fhem blockiert und der Stundengong ist immer einer zuviel (statt z.B 14:00 Uhr = 2 werden 3 Gong) abgespielt.

Kennt jemand das Problem, gibt es evtl. dafür eine Lösung ??

Update:

Ein Teil konnte ich lösen, mit
{system ("mpv /opt/fhem/Sound/BigBen.mp3 --volume=$volume --\{ /opt/fhem/Sound/BigBenStrikes.mp3 --loop=$Stunde --\} < /dev/null >&0 2>&0 &")};


wird Fhem nicht mehr blockiert und der Log bleibt frei von einträgen. Problem bleibt die Anzahl der Gong's
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Toto1973 am 24 Januar 2020, 11:05:47
Da müsste man wohl noch eine Zeitanpassung (Sommer oder Winterzeit) einbauen.
Aber eigentlich funktioniert der Code ja mit der Uhr vom Raspberry oder PC. Daher solltest Du mal die Uhrzeit Deines Systems überprüfen.
Titel: Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
Beitrag von: Ingo298 am 24 Januar 2020, 14:39:53
Wie es aussieht kommt es vom mpv, dieser spielt bei --loop=2 den Titel 3 mal ab.
Die Uhrzeit passt habe es  mit date geprüft Ergebnis

pi@raspberrypi:~ $ date
Fr 24. Jan 14:39:34 CET 2020


Edit

if($Stunden <= 12) { $Stunde = $Stunden - 1};
if($Stunden >= 13) { $Stunde = $Stunden - 13 };
if($Stunden == 0) { $Stunde = 11 };


so funktioniert es