Akustisches Feedback mit Synology DiskStation

Aus FHEMWiki
Version vom 10. Mai 2013, 21:38 Uhr von Generix (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Manchmal kann es nützlich sein, eine Rückmeldung zu bekommen, ob ein Tastendruck vom System empfangen wurde bzw. welchen Status das System nach einer Aktion …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Manchmal kann es nützlich sein, eine Rückmeldung zu bekommen, ob ein Tastendruck vom System empfangen wurde bzw. welchen Status das System nach einer Aktion hat. Da FS20-LED-Anzeigen vergleichsweise teuer sind (Stand: 10/2012), hier ein Beispiel für Nutzer einer Synology DiskStation (getestet auf DS211j).

Diese kann immerhin einen langen und einen kurzen Piepton erzeugen - diese unterscheiden sich zwar nicht sehr, aber doch genug, dass man damit Signale geben kann. Hierzu den folgenden Programmcode in 99_MyUtils.pm (oder ein beliebiges eigenes Modul) einfügen:

sub beep($) {
# +    = Langer Piep
# -    = Kurzer Piep
# anderes = Pause
 my($s) = @_;
 for(my $i=0;$i<length($s);$i++) {
  my $x=substr($s,$i,1);
  if($x eq "+") {
   # 3 = long beep
   system("echo 3 >/dev/ttyS1");
  } elsif($x eq "-") {
   # 2 = short beep
   system("echo 2 >/dev/ttyS1");
  }
  select(undef, undef, undef, 0.25);
 }
 undef;
}

Damit kann man nun "Melodien" ;) piepen lassen, z.B. beim Verlassen des Hauses, um den Zuhause-Status zu signalisieren.

set HomeStatus 1;; \
    {beep('- + -')};; \
...
    set HomeStatus 3;; \
    {beep('+ + +')};; \