FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Prof. Dr. Peter Henning am 18 Oktober 2016, 19:26:25

Titel: Einkaufsliste
Beitrag von: Prof. Dr. Peter Henning am 18 Oktober 2016, 19:26:25
Hier mal eine Anwendung mit richtig hohem WAF:

1. Am wandhängenden Tablet wird per Berührung eines Buttons die Spracherkennung aktiviert.
2. Spezielle Sprachkommandos:
     "Einkaufsliste wiedergeben" => Einkaufsliste wird aufgesagt
     "Einkaufsliste löschen" => Einkaufsliste wird gelöscht
     "Einlkaufsliste <irgendein Begriff>" => fügt den Begriff zur Liste hinzu
     "Einkaufsliste E-Mail" => versendet die Liste per eMail an meine Liebste (DebianMail wird benutzt)
     "Einkaufsliste Telegram" => versendet die Liste per Telegram an meine Liebste (TelegramBot wird benutzt)
3. Sendet meine Frau per Telegram eine Nachricht "<Schlüsselwort> set Task Einkaufsliste" an unseren TelegramBot, bekommt sie die Liste geschickt.

Das Ganze natürlich gesichert - mit einem TelegramBot auf einem separaten Raspberry Pi (de rnatürlich noch andere Aufgaben hat) und nur per FHEM2FHEM mit der Hauptinstanz kommuniziert.

LG

pah

Ein paar Codebestandteile:


sub voiceRecognition($$){

  my ($name,$event) = @_;
  my $command = substr($event,28);
...
  }elsif( $command =~ /.*Einkaufsliste.*/ ){
    if( $command =~ /.*löschen.*/ ){
      ShoppingList(-1,undef);
    }elsif( $command =~ /.*(W|w)ieder.*/ ){
      ShoppingList(0,undef);
    }elsif( $command =~ /.*E-Mail.*/ ){
      ShoppingList(1,undef);
    }elsif( $command =~ /.*(T|t)eleg.*/ ){
      ShoppingList(2,undef);
    }else{
      ShoppingList(10,$command);
    }



use vars qw{@shoppinglist1};

sub ShoppingList($$){

  my ($cmd,$str)=@_;

    if( $cmd == -1){
      @shoppinglist1=();
      fhem("set GalaxyTab ttsSay Einkaufsliste gelöscht");
      fhem("setreading ShoppingList content");
    }elsif( $cmd == 0){
      if( int(@shoppinglist1)==0){
         fhem("set GalaxyTab ttsSay Einkaufsliste ist leer");
      }else{
        fhem('set GalaxyTab ttsSay Einkaufsliste enthält folgende Artikel: <break time="1s"/>'.join('<break time="1s"/>',@shoppinglist1));
      }
    }elsif( $cmd == 1){
      fhem('set GalaxyTab ttsSay Einkaufsliste per E-Mail verschickt');
      DebianMail('xx@yyy.de,'Einkaufsliste',join('\n',@shoppinglist1));
      fhem("set ShoppingList sent by E-Mail");
    }elsif( $cmd == 2){
      fhem('set GalaxyTab ttsSay Einkaufsliste per Telegramm verschickt');
      my $url='http://192.168.x.y:8083/fhem?XHR=1&cmd.Telegram=set%20Telegram%20message%20@@xxxxxxx%20Einkaufsliste:'.join(',',@shoppinglist1);
      HttpUtils_NonblockingGet({
        url      => $url,
        callback => sub($$$){ fhem("set ShoppingList sent by Telegram") }
      });
    }elsif( $cmd == 10){
      $str =~ s/.*Einkaufsliste\s+//g;
      fhem("set GalaxyTab ttsSay Zur Einkaufsliste hinzugefügt ".$str);
      push(@shoppinglist1,$str);
      fhem("setreading ShoppingList content ".join(',',@shoppinglist1));
    }else{
      #-- restore from dummy
      if( ReadingsVal("ShoppingList","content","") ne ""){
      @shoppinglist1=split(/,/,ReadingsVal("ShoppingList","content",""));
      }
    }

Titel: Antw:Einkaufsliste
Beitrag von: JoWiemann am 18 Oktober 2016, 20:11:25
Und die Liste wird bestimmt automatisch bei Entnahme der Lebensmittel erstellt, oder...


Gesendet von iPhone mit Tapatalk
Titel: Antw:Einkaufsliste
Beitrag von: schka17 am 18 Oktober 2016, 20:30:42
Z.b. Durch scannen des EAN codes?


Sent from my iPad using Tapatalk
Titel: Antw:Einkaufsliste
Beitrag von: Prof. Dr. Peter Henning am 18 Oktober 2016, 21:13:09
Da bin ich dran ...

Aber mal ernsthaft: Mein relativ neuer 4K-Fernseher hatte das Teil hier dabei: http://assets.hardwarezone.com/img/2015/10/Samsung-2015-smart-remote.jpg

Hat ein eingebautes Mikrofon, und erlaubt die Sprachsteuerung des Fernsehers. Wenn ich das abgreifen und zur Steuerung von FHEM verwenden könnte: Scharf....

LG

pah
Titel: Antw:Einkaufsliste
Beitrag von: fiedel am 19 Oktober 2016, 06:25:10
Zitat von: Prof. Dr. Peter Henning am 18 Oktober 2016, 19:26:25
Hier mal eine Anwendung mit richtig hohem WAF:
...

     "Einkaufsliste Telegram" => versendet die Liste per Telegram an meine Liebste (TelegramBot wird benutzt)
3. Sendet meine Frau per Telegram eine Nachricht "<Schlüsselwort> set Task Einkaufsliste" an unseren TelegramBot, bekommt sie die Liste geschickt.

Ganz schlechter WAF: Die Frau sollte niemals an die Einkaufsliste der Liebsten kommen...  ;D
Titel: Antw:Einkaufsliste
Beitrag von: Prof. Dr. Peter Henning am 19 Oktober 2016, 07:55:16
Ach was, bei mir gehen die beiden zusammen einkaufen. 8)
Und meine Frau lässt ausrichten, sie hätte damit kein Problem. 8) 8)

LG

pah
Titel: Antw:Einkaufsliste
Beitrag von: JoWiemann am 19 Oktober 2016, 08:26:01
Mal sehen, ob demnächst Alexa sich diesbezüglich mit meiner Frau anfreunden wird.

Grüße Jörg


Gesendet von iPhone mit Tapatalk
Titel: Antw:Einkaufsliste
Beitrag von: AndiL am 26 Oktober 2016, 11:33:40
Die Industrie beschäftigt sich auch mit dem Thema....

http://homeofsmart.de/smart-home-kalkofes-mattscheibe/ (http://homeofsmart.de/smart-home-kalkofes-mattscheibe/)

Vielleicht muss der eine oder andere mal schmunzeln.

Grüße
Andi
Titel: Antw:Einkaufsliste
Beitrag von: Prof. Dr. Peter Henning am 26 Oktober 2016, 14:43:52
Also, nachdem ich gestern nachmittag zwei Stunden Zeit hatte und heute auch noch drei Stunden bis zum Abend frei: Ich werde heute noch die erste Version eines Moduls vorstellen, das diese Einkaufslisten verwaltet.

LG

pah
Titel: Antw:Einkaufsliste
Beitrag von: ralfix am 29 Oktober 2016, 13:54:46
Hallo all
meine Praxiserfahrungen zum Szenario "Mann soll einkaufen".

Evolutionsstufe 1:
Mündliche Auftragsverwaltung mit bio-neuronaler Speicherung.
Testergebnis:
Begrenzte Speicherfähigkeit,
hohe weibliche Unzufriedenheit "Ich hatte doch gesagt du sollst noch xyz mitbringen ..."

Evolutionsstufe 2:
Elektronische Liste (Mail oder Messanger)
Testergebnis: mäßige weibliche Zufriedenheit, hohe Anzahl Change Requests "Denke du bitte auch noch an x?"
Unpräzise Produktbeschreibungen, weiterhin Fehlkäufe

Evolutionsstufe 3:
Nutzung Webbasierter synchronisierter Einkaufliste incl. Einkaufwagenfunktion
auf mobilem Endgeräten, Barcodescanner und Fotofunktion.
Testergebnis:
Effektiver Pickprozess, hohe Zufriedenheit , klares Verantwortungsmodell bei Artikelbeschreibung.
Weiterhin fehlende Features:
Kein Opensource, keine API, keine Listenvorschläge per stochastischer Analysen,
keine Integrationsmöglichkeit (z.B. Barcodescanner am Mülleimer). 

mal nur so als Brainstorming Input
Grüße Ralf
Titel: Antw:Einkaufsliste
Beitrag von: Prof. Dr. Peter Henning am 29 Oktober 2016, 18:50:36
Weiter geht es hier:  https://forum.fhem.de/index.php/topic,59717.0.html