FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Samsi am 01 Januar 2013, 22:52:38

Titel: Hardware für Statusanzeige und Tonausgabe
Beitrag von: Samsi am 01 Januar 2013, 22:52:38
Hallo,

ich hab schon etwas recherchiert und etlich Beiträge gefunden, das viele z.B. für Statusanzigen den mp3 Funkgong verwenden, oder umgebaute Bilderrahmen um FHEM - anzeigen zu basteln.
Das alles war mir aber irgendwie nicht ausgereift genug, also hab ich mir Gedanken gemacht, wie es vielleicht universeller geht.

Seit kurzem läuft das XBMC auf Android Basis. Per HTTP schnittstelle kann man dort bequem beliebige Inhalte anzeigen (z.B. Bilder, einfache Animationsvideos  oder mp3 abspielen oder notify popups  anzeigen). Und zur Steurung könnte man dann natürlich auch zum Webbrowser mit FHEM wechseln.

Hier ist die API: http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6 (//wiki.xbmc.org/index.php?title=JSON-RPC_API/v6)

Android tablets gibt es ja schon für 100€ und zum anzeigen von Bildern und mp3 sollten auch einfache Tablets ausreichend sein (man muss allerdings das NO-NEON build installieren http://code.google.com/p/xbmc-android/downloads/list, (//code.google.com/p/xbmc-android/downloads/list,) da das reguläre build alte Hardware nicht unterstützt)


Leider geht das bei dem XBMC Frodo nicht mehr mit einem einfachen HTTP request, sondern nur noch mit JSON request.  Hat jemand Erfahrung, wie man das aus FHEM aufrufen kann?





Titel: Aw: Hardware für Statusanzeige und Tonausgabe
Beitrag von: Markus am 02 Januar 2013, 09:00:33
Ich hab seit ein paar Tagen aivc auf meinem android das versteht fast alles und kann sich mit dir sogar unterhalten. eine http Schnittstelle stellt die Verbindung zu fhem her. Ich sage jetzt blos noch "Schalte das Licht in der Küche auf 37 Prozent" Alice (Die Software) antwortet:"Ich habe in der Küche das Licht auf 37 Prozent eingestellt" und fhem stellt sofort den Dimmer auf 37%

Die app ist gratis kann aber nur 10 oder 20 Kommandos weis nicht mehr aber um 2,5 Euro gibt es die Vollversion

w w w .yourapp24.com/aivc.html

Gruß Markus
Titel: Aw: Hardware für Statusanzeige und Tonausgabe
Beitrag von: Matzek83 am 02 Januar 2013, 21:17:17
> Ich hab seit ein paar Tagen aivc auf meinem android das versteht fast alles und kann sich mit dir sogar unterhalten. eine http Schnittstelle stellt die Verbindung zu fhem her. Ich sage jetzt blos noch "Schalte das Licht in der Küche auf 37 Prozent" Alice (Die Software) antwortet:"Ich habe in der Küche das Licht auf 37 Prozent eingestellt" und fhem stellt sofort den Dimmer auf 37%

Die app ist gratis kann aber nur 10 oder 20 Kommandos weis nicht mehr aber um 2,5 Euro gibt es die Vollversion



Danke für den tollen Tipp - funktioniert spitzenmäßig und ist eine ziemlich lustige Sache.

MfG
Matthias

Titel: Aw: Hardware für Statusanzeige und Tonausgabe
Beitrag von: Samsi am 02 Januar 2013, 21:39:33
Ja coole Sache werde ich auch mal ausprobieren, allerdings nicht ganz was ich eigentlich gemeint habe.

Ich will mir mit dem XBMC eine Sprachausgabe machen wenn ein Ereignis eintritt, z.B. wenn ein Alarm ausgelöst wird.
Titel: Aw: Hardware für Statusanzeige und Tonausgabe
Beitrag von: Markus am 03 Januar 2013, 07:15:14
Ich will mir mit dem XBMC eine Sprachausgabe machen wenn ein Ereignis eintritt, z.B. wenn ein Alarm ausgelöst wird.

Das hört sich auch gut an, leider kann ich dir dabei nicht weiterhelfen.

Gruß Markus
Titel: Aw: Hardware für Statusanzeige und Tonausgabe
Beitrag von: kud am 03 Januar 2013, 10:23:33
Also ich habe einen Mini-Linux-Rechner und daran hängt ein NX-Würfel von Yamaha.
Die auszugebenden Worte, Sätze und Zahlen habe ich per
http://www.nuance.com/vocalizer5/flash/index.html (//www.nuance.com/vocalizer5/flash/index.html)

umgewandelt.
Bei der Ausgabe bastele ich mir das ganze zusammen und gebe es per "aplay" aus.

Es folgt ein Beispiel aus der 99_myUtils.pm zum ansagen der gemessenen Temperaturen aller S300Th und des Wetters.
Natürlich gebe ich auch "Bestätigungssätze" auf Fhem-Aktion aus.

##### Temperaturen/Status ansagen
sub Temperaturen_ansagen() {
  my @s300ths = devspec2array("TYPE=CUL_WS");
  my @wopen = ();
  my $device_name = "";
  my $feldwert = "";
  foreach(@s300ths) {
    my $s300th_wert = ReadingsVal($_, "temperature",0);
    my $s300th_feuchte = ReadingsVal($_, "humidity",0);
    $device_name = AttrVal($_,"alias",0);
    $feldwert = $device_name . " " . $s300th_wert . " " . $s300th_feuchte;
   # my $feldwert = $_ . " " . $s300th_wert;
    push (@wopen,$feldwert);
 }
  my $num_wopen = @wopen;
  my $resultstring="";
  my $wav1 = "";
  my $wav2 = "";
  my $z = 0;
  my $temp = 0;

system "aplay /Soundfiles/dingdong3.wav";
system "mpg123 /Soundfiles/Folgende_temperaturen.mp3";

foreach(@wopen) {

   my  @array_werte = split(/ /,$_);

        SWITCH: {
        $array_werte[0] eq "Temperatur_Wohnzimmer" && do { $wav1 = "/Soundfiles/Wohnzimmer.mp3"; last SWITCH; };
        $array_werte[0] eq "Temperatur_Keller" && do { $wav1 = "/Soundfiles/Keller.mp3"; last SWITCH; };
        $array_werte[0] eq "Temperatur_Arbeitszimmer" && do { $wav1 = "/Soundfiles/Obergeschoss.mp3"; last SWITCH; };
        $array_werte[0] eq "Temperatur_Aussen" && do { $wav1 = "/Soundfiles/Aussen.mp3"; last SWITCH; };
        $array_werte[0] eq "Temperatur_Kinderzimmer" && do { $wav1 = "/Soundfiles/Kinderzimmer.mp3"; last SWITCH; };
        $array_werte[0] eq "Temperatur_Hobbyraum" && do { $wav1 = "/Soundfiles/Hobbyraum.mp3"; last SWITCH; };
    }
    my @array_tempwert = split(/\./,$array_werte[1]);
    $temp = $array_tempwert[0];
    ## Minusgrade beachten
   {fhem ("log 3". "\" $wav1 : " .$temp." \"")}
    if ($temp < 0) {
             my @array_minuswert = split(/\-/,$temp);
             $wav2 = " /Soundfiles/Minus.mp3" . " /Soundfiles/" . $array_minuswert[1] . "grad.mp3" ;
    } else {
            $wav2 = "/Soundfiles/" . $temp . "grad.mp3";
    }
    system "mpg123 $wav1 $wav2";

}
### Wetter ###

my $wetter_condition = ReadingsVal("MyWeather","fc1_condition","0");
### Leerzeichen zwischen den Worten entfernen wegen der Suche nach entsprechenden Dateinamen
$wetter_condition =~ s/ //g;
my $wetter_temp_max = ReadingsVal("MyWeather","fc1_high_c","0");

### Ausgabe
$wav1 = "/Soundfiles/Wetter_lorsch.mp3";
system "mpg123 $wav1";
$wav1 = "/Soundfiles/Hoechsttemperatur.mp3";
if ($wetter_temp_max < 0) {
             my @array_minuswert = split(/\-/,$wetter_temp_max);
             $wav2 = " /Soundfiles/Minus.mp3" . " /Soundfiles/" . $array_minuswert[1] . "grad.mp3";
    } else {
             $wav2 = "/Soundfiles/" . $wetter_temp_max . "grad.mp3";
}
system "mpg123 $wav1 $wav2";
my $dateiname = "/Soundfiles/" . $wetter_condition . ".mp3";
system "mpg123 $dateiname";

## Ende Funktion
}


 
Titel: Aw: Hardware für Statusanzeige und Tonausgabe
Beitrag von: kud am 03 Januar 2013, 10:26:20
Ach, fast vergessen.
Nehmt bei der Sprachsyntese die "Anna".

Gruss und viel Spaß
Kai-Uwe
Titel: Aw: Hardware für Statusanzeige und Tonausgabe
Beitrag von: Tobias am 03 Januar 2013, 11:13:04
Hi KUD,

kannst du daraus mal bitte einen WIKI Beitrag machen?
Das mit dem Vocalizer kannte ich auch noch nicht.