Hallo Mastershort
Yep läuft ohne Probleme und ist sehr einfach einzurichten, auch fuer mich als nicht Programmierprofi
Man muss nur Python installieren und SiriAPI8 und das wars. Das Script nutzt die Notiz Funktion von iOS (IMAP) und sollte auch mit iOS 6 oder späteren iOS Versionen funktionieren.
Ich habe es auf dem IPS Server (Windows) installiert und es läuft ohne Probleme auf Anhieb. Läuft wohl gem. Beschreibung auch unter Linux und Mac
Installation fuer Windows PC:
iOS Device:
1.) Als erstes muss man auf der iOS Device die iCloud Notiz Sync Funktion einschalten. Einstellungen -> iCloud -> Notizen aktivieren
2.) Des weiteren unter Einstellungen -> Notizen schauen das als Standard Account nun die iCloud ausgewählt ist.
IPS Server:
1.) Aktuelle Python Version herunterladen und installieren hier
2.) SiriAPI8 hier herunterladen und wie in meinem Bsp. in C: entpacken.
3.) Nun muss die SiriAPI8 installiert werden. Dazu in Windows über das DOS Terminal (CMD) zum Installationspfad wo Ihr die SiriAPI8 entpackt habt navigieren: In meinem Fall cd c:/SiriAPI8-master/ und danach „C:\Python34\python.exe“ setup.py install eingeben.
4.) Nun kann man die example.py aus dem SiriAPI8 Verzeichnis bearbeiten. Ich habe mir z.B. eine IPS.py angelegt mit folgendem Inhalt:
from SiriAPI8.SiriAPI import *
import urllib.request
import json
def request (url): #HTTP request
f = urllib.request.urlopen(url)
return(f.read().decode('utf-8'))
def light_toggle(q, wildcards):
request("http://IPS-SERVER-IP-ADRESSE:PORT/user/living_light.php")
print("Living Room Light switched on or off")
SiriAPI = SiriAPI("email@icloud.com", "password")
SiriAPI.set_keyword('IPS')
SiriAPI.action.add([['living room', '*']], light_toggle)
print ("Version: " + SiriAPI.get_version())
SiriAPI.connect()
input("Press any key...
")
SiriAPI.disconnect()
5.) Im Code unter IPS-SERVER-IP-ADRESSE und PORT auf Euere IP ändern. Kann auch ein entfernter IPS Server sein.
6.) Im Code unter („email@icloud.com“, „password“) Euere iCloud Email Adresse und Passwort eingeben.
7.) Danach im DOS Terminal das file laden Bsp. cd c:/SiriAPI8-master/ und danach „C:\Python34\python.exe“ IPS.py ausführen. Nun sollte im DOS Fenster Version 8.0.1 und danach Press any key… erscheinen.
8.) Nun kann ich auf dem iPad SIRI öffnen und sagen „create note IPS living room“ und im Hintergrund wird meine im IPS User Verzeichnis hinterlegte Datei living_light.php aufgerufen. Diese enthält meinen PHP Script um die Living Room Lampe ein- und auszuschalten.
Wenn Euer iPhone oder iPad auf Deutsch eingestellt ist muesst Ihr glaube ich sagen „Notiz anlegen IPS …“ In diesem Fall wäre es besser oben Wohnzimmer als Living Room zu nutzen, damit Siri Euch versteht.
Die SiriAPI8 hat als standard Keywort 'iPhone" was aber wie oben im Code ersichtlich auch geändert werden kann. In meinem Beispiel SiriAPI.set_keyword(‚IPS‘).
Also mit URL Request funktioniert es prima. Nun die Herausforderung an unsere Json RPC Freaks/Spezis wie könnte man das mit RPC integrieren ?. Vorteil wäre das man nicht lauter zusätzliche Scripte im User Verzeichnis anlegen muss.
Bsp.:
$rpc = new JSONRPC("http://IPS-LIZENZ-NAME:REMOTE-PASSWORT@IP-ADRESSE:PORT/api/");
$rpc->ENO_SwitchMode(38371, true)
Dem ersten der es mit JSONRPC Aufruf im obigen IPS.py Code schafft, dem gebe ich ein Bier aus.