Siri Proxy

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • geko
    Smart Home'r
    • 26.08.2015
    • 52

    #1

    Siri Proxy

    Hallo,
    im alten Forum hat noch "nightfreak" eine tolle Anleitung für den Sprachassistent (Siri) beschrieben.


    Weis jemand wir man das von extern über einen HTTPS Proxy gestalten kann ?
    "freddy" hat es leider nur kurz erläutert.
    Danke
    Grüße
    geko
  • jobe_grz
    Extension Master
    • 26.08.2015
    • 115

    #2
    Siriproxy funktioniert mit IOS8 nicht mehr, aber mit dem Link unten sollte einiges möglich sein. Allerdings antwortet in dem Fall Siri nicht mit einem Ergebnis. Dafür brauchst aber auch keinen jailbreak.
    SiriAPI8 - This is the latest, first and only SiriAPI compatible with iOS8 that doesn't require a Jailbreak!

    Kommentar

    • Gast

      #3
      Hallo geko. Ich bin "Freddy" aus dem alten Forum. Ich habe mir per Java einen Proxy geschrieben, dem ich beliebige SPS Kommando schicken kann. In der Config habe ich mir extra einen "Internetuser" angelegt, damit ich diesen sofort deaktivieren kann, wenn ich nicht mehr von außen zugreifen möchte. Ich habe mir dadurch z. B. Kommandos gebaut wie "Siri, öffne die Haustür" oder "Bitte Garagentor öffnen". Das sieht dann z. B. so a​us: https://www.meineDomain.de/loxone/re...staster/Impuls

      Wenn Du einen eigenen Server zuhause hast, kann ich Dir mal den Code schicken.

      vg

      Kommentar

      • geko
        Smart Home'r
        • 26.08.2015
        • 52

        #4
        Hallo,

        @mbarenka das ist aber nett, dass du dich meldest. Ja ich habe einen Server laufen. Du kannst es mir gerne schicken: in-sicherheit@web.de
        @job_grz deinen Beitrag habe ich schon gelesen beim suchen! Genial. Danke

        Beste Grüße
        geko

        Kommentar

        • Ghostchaser
          Smart Home'r
          • 26.08.2015
          • 75

          #5
          Guten Morgen zusammen,

          klingt super!
          Gast: das Thema mit dem Proxy interessiert mich sehr und ein Server ist auch am Start. Kannst du mir den Code vllt. auch zur Verfügung stellen? ghostchaser@web.de

          VG

          Kommentar

          • Gast

            #6
            Hallo, reicht als Server auch ein Qnap? (Raid System auf dem u.a. auch Java Apps laufen können? Wenn ja, hätte ich wirklich gerne das Script.
            Danke vorab und liebe Grüsse

            Kommentar

            • jobe_grz
              Extension Master
              • 26.08.2015
              • 115

              #7
              Zitat von mbarenka
              Hallo geko. Ich bin "Freddy" aus dem alten Forum. Ich habe mir per Java einen Proxy geschrieben, dem ich beliebige SPS Kommando schicken kann. In der Config habe ich mir extra einen "Internetuser" angelegt, damit ich diesen sofort deaktivieren kann, wenn ich nicht mehr von außen zugreifen möchte. Ich habe mir dadurch z. B. Kommandos gebaut wie "Siri, öffne die Haustür" oder "Bitte Garagentor öffnen". Das sieht dann z. B. so a​us: https://www.meineDomain.de/loxone/re...staster/Impuls

              Wenn Du einen eigenen Server zuhause hast, kann ich Dir mal den Code schicken.
              Wäre an dem Code auch sehr interessiert, auch wenn mein Projekt noch gar nicht gestartet hat :-). Funktioniert das auch mit IOS8 oder läuft das über die Proxy Schiene wie beim alten siriproxy?

              lg
              Jobe

              Kommentar

              • geko
                Smart Home'r
                • 26.08.2015
                • 52

                #8
                Hallo,
                Was natürlich noch besser währe, auf dem Raspi !
                Ich habe hier Tonis Projekt laufen „Statistiken“
                @mbarenka würde man das hinbekommen ?
                Danke

                Kommentar

                • Gast

                  #9
                  Hi,

                  ich habe den Proxy in Java geschrieben, aber es geht auch problemlos in anderen Sprachen, das ist keine Raketentechnik. Anbei einemal meine Variante. Muss man in einem Apache tomcat o. ä. installieren. Optional kann man noch einen Apache Web Server davor schalten.

                  Code:
                  package loxone;
                  
                  import java.io.BufferedReader;
                  import java.io.InputStreamReader;
                  import java.net.HttpURLConnection;
                  import java.net.URL;
                  
                  import javax.servlet.ServletException;
                  import javax.servlet.annotation.WebServlet;
                  import javax.servlet.http.HttpServlet;
                  import javax.servlet.http.HttpServletRequest;
                  import javax.servlet.http.HttpServletResponse;
                  
                  /**
                   * Servlet implementation class
                   */
                  @WebServlet("/remoterouter")
                  public class RemoteRouter extends HttpServlet {
                      private static final long serialVersionUID = 1L;
                  
                      public void doGet(HttpServletRequest req, HttpServletResponse res)
                              throws ServletException, java.io.IOException {
                          try {
                              URL url;
                              HttpURLConnection conn;
                              BufferedReader rd;
                              String line;
                              String result = "";
                  
                              String auth = req.getHeader("authorization");
                              String action = req.getParameter("action");
                  
                              if (auth == null) {
                                  res.setHeader("WWW-Authenticate", "Basic realm=\"loxone\"");
                                  res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
                                  res.flushBuffer();
                                  return;
                              }
                  
                              url = new URL(Constants.miniServerSPSUrl + action);
                              conn = (HttpURLConnection) url.openConnection();
                              conn.setRequestProperty ("Authorization", auth);
                              conn.setRequestMethod("GET");
                              conn.setUseCaches(false);
                              conn.setDoInput(true);
                              conn.setDoOutput(true);
                              rd = new BufferedReader(
                                      new InputStreamReader(conn.getInputStream()));
                              while ((line = rd.readLine()) != null) {
                                  result += line;
                              }
                              rd.close();
                              res.getWriter().print(result);
                          } catch (Exception e) {
                              e.printStackTrace();
                          }
                      }
                  }

                  Kommentar

                  • jobe_grz
                    Extension Master
                    • 26.08.2015
                    • 115

                    #10
                    Zitat von mbarenka
                    Hi,

                    ich habe den Proxy in Java geschrieben, aber es geht auch problemlos in anderen Sprachen, das ist keine Raketentechnik. Anbei einemal meine Variante. Muss man in einem Apache tomcat o. ä. installieren. Optional kann man noch einen Apache Web Server davor schalten.
                    Sorry, ich hab es noch nicht ganz kapiert. Der Proxy verwandelt HTTP Requests in Kommandos für die Loxone, wenn ich den Code richtig interpretiere. So weit so gut. Wie bringst Du Dein Iphone dazu, dass über "Siri, Öffne die Haustür" Dein Proxy angesprochen wird? Das hab ich noch nicht verstanden.

                    Kommentar

                    • Gast

                      #11
                      Dafür habe ich Assistant+ auf meinem iPhone und iPad installiert. Damit kannst Du beliebige Kommandos mit Spracheingaben verknüpfen. Ich rufe dann über cURL die entsprechende URL auf,

                      Kommentar

                      Lädt...