ich verfolge schon ne Weile interessiert das Thema, obwohl mich Siri (im Original) überhaupt nicht überzeugt (*1) aber ne Menge Potential hat.
Ich habe IPS auf einem MacMiniClone auf Win 7 unter Parallels 8 laufen. Hat jemand so einen SiriProxy mal unter Paralles getestet oder einen Tipp für ne gute aktuelle Quelle. Dann würde ich das hier gerne mal mittesten.
Erläuterung zu (*1)
Ich nutzte Siri anfangs sehr gerne im Auto zum diktieren von Kurzmitteilungen per SMS. Zu meinem Leidwesen artete dies immer häufiger in Stress aus. Siri schaffte es einfach nicht korrekt, Sprechpausen zu erkennen. An einem Tag funktionierte es toll und an einem anderen Tag beendete Siri schon nach Millisekunden Spechpause die Aufnahme und fragte, ob es die SMS absenden dürfe.
Ich verbrachte ewig mit verschiedenen Lautstärken, Sprechgeschwindigkeiten usw…
Mehrere Sätze, natürlich mit Satzzeichen gesprochen, waren Zufallstreffer. Je nach Siris Laune mal 100% Treffer oder kompletter Bockmist. Die Trefferquote selbst bei schwierigen Worten war hingegen erstaunlich gut.
Nur darauf achten, dass du nach der Konvertierung in den Einstellungen von Parallels die Netzwerkkarte kontrollierst und ggf. den Typ anpasst, da die Netzwerkkarte aus dem Image von einem ESXi Host ist. Deswegen haben auch viele Probleme mit dem Image, die es auf einem normalen VMWare Player oder so starten wollen.
Schäm, schlussendlich lag es an meinem Aktionsskript, welches nicht auf Variablenänderung reagierte (nur Webfront). Der Homematic Aktor geht jetzt auch irgendwie, also alles gut bei mir.
Aber was anderes: wie kann man den SiriProxy als Deamon oder irgendwie im Hintergrund starten? Kenne mich mit Ruby nicht aus und die Anleitungen im Internet gehen bei mir nicht.
Super was ihr auf die beine gestellt habt! Ich möchte jetzt auch in den Genuss kommen und habe eine Frage vorab.
Ich habe leider nur 2 iPhone 4 (ohne S). Kann ich mit spire und einem eigenen Proxy, die IPS Befehle verwenden und nur die Apple standard nicht, oder bekomm ich den Proxy erst gar nicht zum laufen?
eine 100% Aussage kann ich dir dazu leider nicht geben, da ich ein iPhone5 hab. Es sollte aber alles Funktionieren, wenn du dein iPhone dazu bekommst, mit dem Siri-Proxy zu sprechen und der Siriproxy das gesprochene in Text zum parsen umwandeln kann. Ich denke also das sollte machbar sein. Am besten mal googlen.
Viel Erfolg.
@Siri: „Zuhause, poste diesen Beitrag und schalte den PC aus. ;)“
also es scheint erstmal nicht direkt mit iPhone 4 (Ios 6.1) -> Ac!D -> Siriproxi (ohne iPhone 4S Token) zu gehen.
Ich seh aber so ein bisschen, dass eine Anfrage kommt…
siri@ubuntu:~/SiriProxy$ rvmsudo siriproxy server
[Info - Configuration] Loading plugins -- If any fail to load, run `siriproxy bundle` (not `bundle install`) to resolve.
[Notice - Server] ======================= WARNING: Running as root =============================
[Notice - Server] You should use -l or the config.yml to specify and non-root user to run under
[Notice - Server] Running the server as root is dangerous.
[Notice - Server] ==============================================================================
[Info - Server] Starting SiriProxy on 0.0.0.0:443...
[Info - Server] SiriProxy up and running.
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
[Info - Plugin Manager] Plugins loaded: Example, SIRIPROXYSYSTEM, IPS
Ich werde es heute Abend mal mit einem iPhone 5 von meinem Dad probieren und berichten:(
Ja der hashtag ist frei wählbar
Muss aber im SiriProxy und bei IPS gleich sein
Port und ip vom IPS-Server ist auch richtig eingetragen?
Kannst du mal die Config vom SiriProxy Posten?
hat einer sich von euch schon mal mit den rb commands des Siriproxy-Plugins ausserhalb von „say“ beschäftigt?
Hab im Netz leider nix richtiges gefunden…
Mir schwebt sowas vor wie
say(… + Anzeige eines Bildes aus einer URL / oder öffenen des Safaries mit der URL.
So als Praxisbeispiel: Siri _> Bild von Webcam Haustür…
Sowas scheint ja zu gehen, raff das nur nicht:cool:
require 'socket'
require 'open-uri'
require 'siri_objects'
class SiriProxy::Plugin::IPCam < SiriProxy::Plugin
attr_accessor :camurls
def initialize(config = {})
@camUrl = Hash.new
@camUrl = config["camurls"]
@webIp = "http://" + UDPSocket.open {|s| s.connect("255.255.255.0", 1); s.addr.last}
end
########## Commands
listen_for /(show me|snapshot for) the (.*) camera/i do |keyword, camera|
check_camera camera.downcase.strip
request_completed
end
listen_for /camera(?: of)?(?: for)?(?: the)? (.*)/i do |camera|
check_camera camera.downcase.strip
request_completed
end
listen_for(/check cameras/i) do
@camUrl.each_key {|camera| check_camera(camera)}
request_completed
end
########## Actions
def check_camera(camera)
if @camUrl.has_key?(camera)
if @camUrl[camera].has_key?("id")
open(@camUrl[camera]["url"], :http_basic_authentication => [@camUrl[camera]["id"], @camUrl[camera]["pw"]]) do |f|
File.open("/var/www/" + camera.gsub(/\s+/, "") + ".jpg", "wb") do |file|
file.puts f.read
end
end
push_image(camera.capitalize, @webIp + "/" + camera.gsub(/\s+/, "") + ".jpg")
else
push_image(camera.capitalize, @camUrl[camera]["url"])
end
else
say "Sorry, I could not find a camera named #{camera}."
say "Here is the list of cameras."
@camUrl.each_key {|camera| say camera.capitalize}
camera = ask "Which camera would you like to view?"
check_camera(camera.downcase.strip)
end
end
def push_image(title, image)
object = SiriAddViews.new
object.make_root(last_ref_id)
answer = SiriAnswer.new(title, [SiriAnswerLine.new('logo', image)])
object.views << SiriAnswerSnippet.new([answer])
send_object object
end
end