Akustisches Feedback mit Synology DiskStation: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
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:


<source lang="perl">sub beep($) {
<syntaxhighlight lang="perl">sub beep($) {
# +    = Langer Piep
# +    = Langer Piep
# -    = Kurzer Piep
# -    = Kurzer Piep
Zeile 21: Zeile 21:
  }
  }
  undef;
  undef;
}</source>
}</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.


  <source lang="perl">set HomeStatus 1;; \
  <syntaxhighlight lang="perl">set HomeStatus 1;; \
     {beep('- + -')};; \
     {beep('- + -')};; \
...
...
     set HomeStatus 3;; \
     set HomeStatus 3;; \
     {beep('+ + +')};; \</source>
     {beep('+ + +')};; \</syntaxhighlight>


[[Kategorie:Code Snippets]]
[[Kategorie:Code Snippets]]

Aktuelle Version vom 26. Juli 2017, 18: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('+ + +')};; \