Akustisches Feedback mit Synology DiskStation: Unterschied zwischen den Versionen

Aus FHEMWiki
(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 …“)
 
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
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 <code>99_MyUtils.pm</code> (oder ein beliebiges eigenes Modul) einfügen:
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 <code>99_MyUtils.pm</code> (oder ein beliebiges eigenes Modul) einfügen:


<nowiki>sub beep($) {
<syntaxhighlight lang="perl">sub beep($) {
# +    = Langer Piep
# +    = Langer Piep
# -    = Kurzer Piep
# -    = Kurzer Piep
Zeile 21: Zeile 21:
  }
  }
  undef;
  undef;
}</nowiki>
}</syntaxhighlight>
Damit kann man nun "Melodien"&#160;;) piepen lassen, z.B. beim Verlassen des Hauses, um den [[Zuhause-Status]] zu signalisieren.
Damit kann man nun "Melodien"&#160;;) piepen lassen, z.B. beim Verlassen des Hauses, um den [[Zuhause-Status]] zu signalisieren.


  <nowiki>set HomeStatus 1;; \
  <syntaxhighlight lang="perl">set HomeStatus 1;; \
     {beep('- + -')};; \
     {beep('- + -')};; \
...
...
     set HomeStatus 3;; \
     set HomeStatus 3;; \
     {beep('+ + +')};; \</nowiki>
     {beep('+ + +')};; \</syntaxhighlight>
 
[[Kategorie:Code Snippets]]

Aktuelle Version vom 26. Juli 2017, 19:54 Uhr

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&lt;length($s);$i++) {
  my $x=substr($s,$i,1);
  if($x eq &quot;+&quot;) {
   # 3 = long beep
   system(&quot;echo 3 &gt;/dev/ttyS1&quot;);
  } elsif($x eq &quot;-&quot;) {
   # 2 = short beep
   system(&quot;echo 2 &gt;/dev/ttyS1&quot;);
  }
  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('+ + +')};; \