Ankündigung

Einklappen
Keine Ankündigung bisher.

Siri-Proxy - wer hat know how und will mitbasteln?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #91
    ok, ich sehe schon das wird wohl komplizierter. Gibt es ein einfaches Script, welches ich ausprobieren kann, ohne das irgendwelche Libraries nachgeladen werden müssen? In diesem Thread gibt es einige Snippets aber wenn man daraus eine .rb Datei macht, wird das System Fehler.

    Kommentar


      #92
      Hi
      @Wiba: was willst du denn mit cora machen?
      Hier im thread geht es um die KNX-Anbindung und sinnvolle scripts - cora braucht man dazu IMHO nicht.
      Die hier genannten Textbausteine sind Anpassungen im Siri-Proxy-Example-Script.
      Sorry - aber ich habe keine Lust Siri-Proxy-Installationshilfe zu geben - und ein Mehrwert für die KNX-Community ist nicht drinn... (dazu sollte es andere Foren geben).

      @All: hier mal ein Textblock für meine Wecker:
      Code:
      #Thorsten
        listen_for /(Wecker|Weckzeit|Weckruf) (für|von) Thorsten (auf) ([0-9,]*[0-9]):([0-9,]*[0-9]) Uhr/i do |weckzeit,von,auf,number1,number2|
          say "Okay, HausWecker für Thorsten wird auf #{number1}:#{number2} eingestellt"
          wasGood = system( "/home/rubyuser/senduhr.sh 8/2/1 #{number1} 8/2/2 #{number2}" )
          request_completed #always complete your request! Otherwise the phone will "spin" at the user!
        end
        listen_for /(Wecker|Weckzeit|Weckruf) (für|von) Thorsten (aus|ausschalten|deaktivieren)/i do
          say "Okay, der Wecker von Thorsten ist nun ausgeschaltet."
          wasGood = system( "groupwrite ip:wiregate 8/2/3 1" )
          wasGood = system( "groupwrite ip:wiregate 8/2/3 0" )
          request_completed #always complete your request! Otherwise the phone will "spin" at the user!
        end
        listen_for /(Wecker|Weckzeit|Weckruf) (für|von) (Klara|Clara|Verena|Thorsten) (ein|einschalten|aktivieren)/i do
          say "Zum Einschalten bitte die Weckzeit angeben."
          request_completed #always complete your request! Otherwise the phone will "spin" at the user!
        end
      Sicher - bei Weckruf einschalten könnte man auch Nachfragen welcher und wann... aber das war mir zu viel.
      Was mir zur vollständigkeit beim Wecker fehlt sind Fragen wie "wie ist die Weckzeit von ...." - da muss ich mir mal gedanken machen, kommt aber noch.
      (hat schon jemand groupread in diesem zusammenhang verwendet??? tips erwünscht)

      Gruß
      Thorsten

      Kommentar


        #93
        Hi,
        ich war mal wieder auf Copy&Paste-Tour.
        Hier ist ein Baustein zum Hoch/Runterdimmen - geklaput hier:
        https://github.com/IMcD23/SiriProxy/

        Erstmal hört das script auf "computer heller" bzw. "computer dunkler"

        Code:
          listen_for /computer (.*)/i do |userAction|
            say "Kommando #{userAction} "
            if userAction == "Heller " or userAction == "Hella " then
                currentvol = `/home/rubyuser/readhex.sh 1/1/81`
                newvol = (currentvol.to_i + 20)
                if newvol > 255 then
                    newvol = 255
                end
                wasGood = system( "/home/rubyuser/sendhex.sh 1/1/43 #{newvol}" )
                #say "Hellichkeit hoch auf #{newvol} prozent."
                begin
                    keepgoing = ask "Hell genug?"
                    keepgoing.strip!
                    if keepgoing == "Nein" or keepgoing == "Nope" or keepgoing == "weiter" or keepgoing == "heller" or keepgoing == "That's not good" then
                        keepgoing = "1"
                        currentvol = `/home/rubyuser/readhex.sh 1/1/81`
                        newvol = (currentvol.to_i + 20)
                        if newvol < 0 then
                            newvol = 0
                        end
                        wasGood = system( "/home/rubyuser/sendhex.sh 1/1/43 #{newvol}" )
                        #say "Hellichkeit hoch auf #{newvol} prozent."
                    else
                        keepgoing = "0"
                        say "Ok. Bleibe bei #{newvol} Prozent."
                    end
                end while keepgoing == "1"
            elsif userAction == "dunkler " or userAction == "weiter "  then
                currentvol = `/home/rubyuser/readhex.sh 1/1/81`
                newvol = (currentvol.to_i - 20)
                if newvol < 0 then
                    newvol = 0
                end
                wasGood = system( "/home/rubyuser/sendhex.sh 1/1/43 #{newvol}" )
                #say "Hellichkeit runter auf #{newvol} prozent."
                begin
                    keepgoing = ask "Ist das ok?"
                    keepgoing.strip!
                    if keepgoing == "Nein" or keepgoing == "Nope" or keepgoing == "weiter" or keepgoing == "That isn't good" or keepgoing == "That's not good" then
                        keepgoing = "1"
                        currentvol = `/home/rubyuser/readhex.sh 1/1/81`
                        newvol = (currentvol.to_i - 20)
                        if newvol < 0 then
                            newvol = 0
                        end
                        wasGood = system( "/home/rubyuser/sendhex.sh 1/1/43 #{newvol}" )
                        #say "Hellichkeit runnter auf #{newvol} prozent."
                    else
                        keepgoing = "0"
                        say "Ok. Bleibe bei #{newvol} Prozent."
                    end
                end while keepgoing == "1"
            else
                say "Das kann ich gerade nicht tun."
            end
            request_completed
        end
        dazu noch die shell-scripte
        readhex.sh
        Code:
        #!/bin/bash
        #echo "Wert1: $1 "
        vara=`groupcacheread ip:wiregate $1 | awk '{ if (FNR == 1) print "0x"$4 }'`
        varb=`printf %d  $vara `
        echo $varb
        exit 0
        sendhex.sh
        Code:
        #!/bin/bash
        echo "Wert1: $1 $2"
        groupwrite ip:wiregate $1 `/usr/bin/perl -e 'printf("%X\n",$ARGV[0]);' $2`
        
        exit 0
        Mit den Shell-Scripten wandle ich die Hex-Werte vom Eibd in Dezimal-Werte (bzw. umgekehrt)
        Eigentlich müsste ich noch 0-255 auf 0-100% "normalisieren" - hatte aber gerade keine Lust & Idee.

        Gruß
        Thorsten

        Nachtrag: damit´s "sauberer" wird könnte man noch die "vol" durch "light" oder "percent" ersetzen ;-)

        Kommentar


          #94
          Guten Morgen zusammen,
          extrem spannendes Topic hier mal wieder

          Hab selber leider nur ein iPhone4, aber ein Siri-Port gibt es ja schon. Nur die Kommunikation zu Apple scheint nicht zu gehen. Ist das bei dem Siri-Proxy notwendig?
          So wie ich Siri verstanden habe, schickt die App ja nur komprimierte Sprache bzw. Worte an Apple, der diese analysiert und gegen eine DB abgleicht.

          Macht das der Siri-Proxy auch oder erfüllt dieser die Aufgaben, sprich antwortet direkt auf die Spracheingabe des Benutzers? Denn in den Scripten lese ich ja die Kommandos in Klartext "Licht an" mit den entsprechenden Aktionen dahinter...

          Viele Grüße und weiter so.. wirklich cool!

          Ciao
          --Ted

          Kommentar


            #95
            @Thorsten
            Meine Idee war ganz einfach: ich nehme aus dem Video-Tutorial das RB-Script, wandle es etwas um, um meine MusicPals zu steuern.
            Also bin ich hingegangen und habe dieses Demo-Script verändert (also erst mal statt "Up and Running" einfach dort nur "up" reingeschrieben und gespeichert. Alles neu gestartet und nichts funktioniert. Anhand Deiner Anleitung habe ich nun bemerkt, dass man das script irgendwo noch (kompilieren?) muss. Danach flogen mir die Fehler (z. B. mit require Cora) um die Ohren. ich weiß gar nicht was Cora ist, also minimal-Script (die Snippets) genommen aus dem Forum hier. Aber das klappt auch nicht, auch Fehlermeldung. Ich glaube ich gebe das Projekt auf, das dauert mir alles zu lange.
            Werner

            Kommentar


              #96
              Zitat von phreaks Beitrag anzeigen
              ... Nur die Kommunikation zu Apple scheint nicht zu gehen. Ist das bei dem Siri-Proxy notwendig?
              Hoi Ted

              Da geht es Dir genau so wie mir, hab' leider auch noch kein 4s.

              Der Proxy ist ein "Man in the Middle", der eigene Befehle und eigene Reaktionen einschleust. Der Server von Apple ist natürlich notwendig dazu. Wenn Apple das für "diese Spezialnutzung" irgendwie dicht machen sollte dann funzt hier erstmal nichts mehr.
              Grüsse Bodo
              Fragen gehören ins Forum, und nicht in mein Postfach;
              EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

              Kommentar


                #97
                Zitat von Bodo Beitrag anzeigen
                Hoi Ted

                Da geht es Dir genau so wie mir, hab' leider auch noch kein 4s.

                Der Proxy ist ein "Man in the Middle", der eigene Befehle und eigene Reaktionen einschleust. Der Server von Apple ist natürlich notwendig dazu. Wenn Apple das für "diese Spezialnutzung" irgendwie dicht machen sollte dann funzt hier erstmal nichts mehr.
                Hi Bodo,
                d.h. der Proxy schiebt die Wörter als Audio (welches Format auch immer) zu Apple und Apple antwortet, was erkannt wurde. Der Proxy empfängt das und startet nun die Befehlsabarbeitung, richtig?

                Kommentar


                  #98
                  so sicher wäre ich mir da nicht, dass es nur mit Apple Servern geht. Hab neulich ne Nachricht gelesen (glaub bei ifun), dass ein Diktat App fürs iPhone 4 direkt auf die Server von Nuance zugreifen. Das müsste für unsere Zwecke reichen. Man müsste nur den Proxy dementsprechend anpassen.
                  Mit freundlichen Grüßen
                  Niko Will

                  Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                  - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                  Kommentar


                    #99
                    Zitat von phreaks Beitrag anzeigen
                    Hi Bodo,
                    d.h. der Proxy schiebt die Wörter als Audio (welches Format auch immer) zu Apple ......
                    Dies bezweifle ich. So wie ich das Logfile auf meinem Proxy interpretiere kommt bereits Text an und wird geparsed anschliessend Text zurückgeschickt.
                    Bei dem Aufsetzen meines i4S musste ich angeben welche Sprache Siri unterstützen soll. Daraufhin hat iTunes ein Packet auf de i4 installiert. Dies müsste die Spracherkennung gewesen sein (audio2text).

                    Aber alles reine Vermutung und wilde Interpretation von Beobachtungen.

                    Gruss
                    Marcel
                    seit: 11'08 KNX / 04'09 HS3 / 12'09 WG mit 21 Temp & 4 Feuchtesensoren / 10'10 Enocean mit 15 Fenstergriffe Hoppe / 02'11 MBus2Serial Gas-Wasserzähler
                    HS3: 99% / VISU: PV 99%, iPad 99%
                    60 Akt. Linie1 / 14 Akt. Linie2

                    Kommentar


                      Hi
                      Definitiv wird speex (Audio Stream) zu Apple übertragen (schon während des Sprechens) und der erkannte Text zurück übermittelt.*
                      Dieser wird durch den Proxy ausgewertet und (wenn zutreffend) manipuliert.*
                      Auf dem iPhone findet maximal die Adressbuch Erkennung statt - wobei ich selbst das bezweifle...

                      @wiba: danke - richtige Entscheidung.

                      Gruß
                      Thorsten

                      Kommentar


                        Autostart

                        Hi,

                        zunächst @Thorsten: vielen lieben Dank für die VM.

                        Ich habe jetzt mal den dnsmasq und den siriproxy auf einem wiregate installiert. Läuft eigentlich ganz gut. Nur das abändern des example plugin ist etwas mühsam (Wie geht ihr da vor?)

                        Ich starte den proxy momentan über:

                        ~$ cd SiriProxy
                        ~/SiriProxy$ siriproxy server

                        Dann muss ich mein root Passwort eingeben und die Sache rennt.

                        Aber wie kann ich die Sache beim Booten automatisieren, sodass der siriproxy nach dem booten läuft.

                        Vielen Dank und Grüße

                        Johannes

                        Kommentar


                          Mike hat grad in der Facebook Gruppe von mmh/nomos auch ein Siri Proxy Plugin gepostet: https://github.com/nomos/SiriProxy-Nomos
                          Mit freundlichen Grüßen
                          Niko Will

                          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                          Kommentar


                            Zitat von ThorstenGehrig Beitrag anzeigen
                            @Bodo: ich würde MINDESTENS mal warten ob die 5.1 (ist ja seit heute als Beta draußen) das noch zulässt.
                            Alternativ - falls du ein 4er hast - kannst du mal schauen was Sirius (der Cydia-Siri-Hack) für dein 4er so möglich macht...
                            Hoi Thorsten

                            Hab' mal auf meinem 3Gs mit Spire (a simple Siri installer) angefangen. Der geht nur mit proxy. Mal schaun'
                            Grüsse Bodo
                            Fragen gehören ins Forum, und nicht in mein Postfach;
                            EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                            Kommentar


                              Hi
                              @Bodu: supi - ich drück die daumen.
                              @All: jemand schon mit Beta 5.1 probiert?
                              Ich war bisher zu feige. Ich kann aber Beta-Zugang organisieren - wenn jemand mutig ist (nur einer! first come - first serve)

                              Gruß
                              Thorsten

                              Kommentar


                                Hoi

                                Wir sind nicht allein: Siri + Crestron = Home Automation Harmony - YouTube
                                Grüsse Bodo
                                Fragen gehören ins Forum, und nicht in mein Postfach;
                                EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                                Kommentar

                                Lädt...
                                X