Autor Thema: Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren  (Gelesen 20416 mal)

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2639
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #15 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")
« Letzte Änderung: 19 März 2015, 02:33:51 von Rince »
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline harway2007

  • Full Member
  • ***
  • Beiträge: 121
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #16 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

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2639
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #17 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)
« Letzte Änderung: 19 März 2015, 12:34:50 von Rince »
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline harway2007

  • Full Member
  • ***
  • Beiträge: 121
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #18 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

Offline Toto1973

  • Full Member
  • ***
  • Beiträge: 249
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #19 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!
Raspberry PI2, Rademacher DuoFern USB-Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 6x ELRO Funksteckdosen, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2639
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #20 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.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline Toto1973

  • Full Member
  • ***
  • Beiträge: 249
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #21 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
Raspberry PI2, Rademacher DuoFern USB-Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 6x ELRO Funksteckdosen, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1073
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #22 am: 19 März 2015, 20:47:47 »
Warum benutzt Du bei time nicht gleich %r und sparst dir die Umrechnung?
RPi2 FHEM5.8,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland 0.101
HM: CC-TC,CC-VD,LC-Dim1T-Pl-2,LC-SW1-PL2,LC-Sw1PBU-FM,LC-Dim1PWM-CV,PB-4DIS-WM,RC-19-SW
SEC-RHS,SEC-SC,SEC-SD,SEC-WIN,SEC-MDIR,Sen-MDIR-WM55,SEC-Sco
HUE: diverse, Amzn Dash-Buttons
4xRPi,4xCO20,OWL+USB,HarmonyHub,FB7590 v6.90,Echo Dot,Logi Circle2

Offline Toto1973

  • Full Member
  • ***
  • Beiträge: 249
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #23 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.
Raspberry PI2, Rademacher DuoFern USB-Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 6x ELRO Funksteckdosen, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2639
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #24 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...
« Letzte Änderung: 22 März 2015, 11:06:54 von Rince »
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline Toto1973

  • Full Member
  • ***
  • Beiträge: 249
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #25 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".
Raspberry PI2, Rademacher DuoFern USB-Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 6x ELRO Funksteckdosen, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2639
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #26 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?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2639
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #27 am: 29 März 2015, 15:27:38 »
Zitat
Ausserdem 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.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline Toto1973

  • Full Member
  • ***
  • Beiträge: 249
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #28 am: 30 März 2015, 18:55:38 »
Also bei mir funktioniert die Uhr auch richtig. Aber ich habe die Sommerzeitanpassung mit drin.
Raspberry PI2, Rademacher DuoFern USB-Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 6x ELRO Funksteckdosen, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM

Offline miggi

  • New Member
  • *
  • Beiträge: 20
Antw:Wohnzimmer Uhr (Gong jede Stunde) über FHEM simulieren
« Antwort #29 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.
1 RaspberryPi B |1 RaspberryPi B mit KODI (XBMC) | 7 Funksteckdosen | 1 Android Tablet mit WebviewControl |1 HM CUL | 1 HM WDS
weitere Geräte folgen bald!