Amazon Echo mit der Zipato API
Da ich vor kurzem auch ein Amazon Echo Dot bekommen habe, wollte ich ich ein bisschen mit meinem SmartHome spielen…..aber ich bin faul….und hatte kein Bock virtuelle Geräte und Regeln dafür anzulegen….
Also habe ich mal wieder meinem Kumpel Gregor eingespannt…wir haben ein wenig nachgedacht und er hat dann was gebastelt!! Danke Gregor!!!
Das ganze funktioniert mit der HA Bridge, aber ohne Regeln und Klimbim!
Es geht einfach und direkt über die Zipato API.
Wir brauchen als Grundlage wieder einen Server auf dem die HA Bridge läuft.
Bei mir ist es ein Raspberry.
Anleitung HA Bridge:
Die HA Bridge bekommt ihr so auf den Raspberry: https://github.com/bwssytems/ha-bridge
Dort zum Punkt „Automation on Linux systems“ gehen und einfach alles nachspielen…..
Sollte ihr alles Richtig gemacht haben, dann sollte ich im Browser http://IP:81 eingeben und die HA Bridge sehen:
Punkt 1 und 2 werden natürlich fehlen…..
Die Version die ich installiert habe ist Version 4.1.4
Das Alexa Script installieren:
Jetzt brauchen wir noch eine Schnittstelle zur ZipaBox oder dem ZipaTile.
Loggt euch bitte wieder per SSH auf dem Raspberry ein und gebt folgendes ein:
sudo apt-get install apache2 sudo a2enmod cgi sudo service apache2 restart sudo apt-get install python-pycurl
Damit installiert ihr einen Webserver auf dem Raspberry um nachher das Script abzurufen.
Jetzt brauchen wir noch das eigentlich Script, und das bekommt ihr so:
cd /tmp wget http://zipabox.de/wp-content/uploads/2017/02/Echo.zip unzip Echo.zip
Ihr habt jetzt 2 Dateien mehr im Verzeichnis:
Zipatoapi.py alexa_skill_workaround.py
Öffnet jetzt die Datei alexa_skill_workaround.py mit einem Editor
vi alexa_skill_workaround.py
In der Datei seht ihr 2 Punkte an der denen ihr noch eure Zipato Zugangsdaten eingetragen müsst:
### my.zipato.com Login Credentials login = "XXXXXX" password = "XXXXX" ###
Unter Login tragt ihr die bei Zipato registrierte Email Adresse und bei Passwort dann natürlich das Passwort ein innerhalb der Anführungszeichen ein.
VI ist der Editor. Hier geht ihr mit den Cursor Tasten zum gewünschten Feld.
Dort drückt ihr die Taste i und könnte dann die Daten eintragen.
Wenn ihr fertig seid Taste ESC drücken dann Doppelpunkt wq und Enter und alles ist gespeichert.
Danach müssten die Dateien noch in das korrekte Verzeichnis kopiert werden:
cd /tmp mv Zipatoapi.py /usr/lib/cgi-bin mv alexa_skill_workaround.py /usr/lib/cgi-bin
Danach müssen wir noch die Dateirechte vergeben:
cd /usr/lib/ sudo chown -R www-data:www-data cgi-bin/ cd cgi-bin/ sudo chmod 700 Zipatoapi.py sudo chmod 700 alexa_skill_workaround.py
Jetzt ist alles auf dem Raspberry vorbereitet und wir müssen uns die UUID für die Geräte raussuchen.
Wir können das genau wie in dieser Anleitung machen: http://zipabox.de/zipabox-mit-amazon-echo-steuern/
Ich habe aber eine bessere Möglichkeit gefunden alle UUIDs alle schaltbaren Geräte rauszusuchen:
Zipato API
Loggt euch in das Control Center unter my.zipato.com ein.
Da der Link Alexa aus der API verschwunden ist, wird es leider nicht mehr wie beschrieben funktionieren.
Aber der Lars hat einen Link gepostet, mit dem es trotzdem funktionieret die UUIDs schnell per API zu ziehen:
https://my.zipato.com/zipato-web/v2/alexa/discovery
Dann könnte ihr jetzt bei Schritt: Geräte der HA Bridge hinzufügen
weitermachen.
Oben seht ihr den Punkt API(links):
Klickt drauf und es öffnet sich ein neues Fenster:
Dort seht ihr den Punkt Alexa, wieder draufklicken:
Dort seht ihr den Punkt /alexa/discovery
Auf /alexa/discovery klicken
Unten auf Try it out! klicken…und ZACK bekommt ihr alle Geräte die ihr schalten angezeigt.
So sieht das ganze dann für ein Gerät aus:
Und aus diesen Schnipseln brauchen wir die „turnUuid“
Geräte der HA Bridge hinzufügen
Wenn wir die haben gehen wir jetzt auf HA Bridge.
Dort angekommen klickt ihr auf Add/Edit
Unter dem Punkt Namen gebt ihr den Namen ein den Alexa später hören möchte.
Device Typ: Custom
Map Type: HTTP
On Items: HTTP Device
Target Item: http://IPvomRaspberry/cgi-bin/alexa_skill_workaround.py?uuid=XXXX&state=true
Http Verb: POST
Danach auf ADD klicken!
Off Items: HTTP Device
Target Item: http://IPvomRaspberry/cgi-bin/alexa_skill_workaround.py?uuid=XXXX&state=false
Http Verb: POST
XXXX: Das ist die UUID die wir aus der Zipato API kopiert haben.
Danach auf ADD klicken!
Dann oben auf „Update Bridge Device“ klicken.
Ihr habt jetzt ein Gerät angelegt und könnt es direkt testen indem ihr auf Test On/Test Off klickt.
Alexa könnt ihr hier kaufen: KLICK & KLICK
Es kann sein das ich etwas vergessen habe oder sich der Fehlerteufel eingeschlichen hat….bitte in die Kommentare damit.
Viel Spaß und Happy gefrickel 😀
Da scheint was nicht zu stimmen
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
OK, Fehler gefunden, auf einem nackten Rasperry fehlen noch ein paar Python Module, diese müssen noch nachinstalliert werden.
sudo apt-get install python-pycurl
Hi Thorsten,
danke für die Info. Hab den Beitrag mal erweitert.
Gruß Helle
Hallo!
Ich habe das ganze auch mit HA Bridge gelöst, allerdings mit virtuellen Schaltern und Regeln (auf diese Möglichkeit wird ja eingangs hingewiesen). Hier nur noch mal der Hinweis, es klappt halt auch damit zuverlässig: Einfach einen virtuellen Sensor erstellen, eine Schalt-Regel dazu bauen und die entsprechende URL in HA Bridge eintragen.
Das hat den Vorteil, dass man analog auch aus der APP heraus schalten kann und den Status sieht.
Grüße
Zum schalten hab ich doch eh die App 😉
Aber wenn es initial aufgebaut ist, kannst du schneller Geräte hinzufügen und misst nicht immer Regeln und Schalter hinzufügen die dann die Box unnötig belasten. Und es gibt keine Probleme mit dem Status.
Gruss Helle
Bei mir sehe ich im API den Eintrag alexa nicht. Was mache ich falsch?
Viele Grüsse
HP
Hey Leute
Auf dem Zipatile ist auch alexa in der API zu finden.
Könnte keiner von euch das Zipatile zum laufen bringen, so das es direkt da als Echo drauf läuft?
Mic und Lautsprecher hat ja das Zipatile.
Ich denke mal da muss nur noch was richtig umgeschrieben werden dort in der API
Hallo,
ich bekomme leider eine Fehlermeldung, das er meinen Benutzer nicht kennen würde – der geht aber mit dem angegebenen Passwort bei my.zipato.com …
{u’nonce‘: u’FOLneToiRwwnOwPf‘, u’jsessionid‘: u’504FFF4B26C80A3564B9C921A4745CC1-n1.frontend2′, u’success‘: False, u’error‘: u’User xxxx not found or wrong password‘} 84a212d6-e488-4b9b-9615-0fd1a1f623f3 false
Ideen ?
Danke,
Lars
Hi Lars,
Das hört sich nach einem Problem mit den Dateirechten an.
Gruss Helle
Hallo,
im webroot oder wo ? Dort gehört alles dem http user und Rechte sind auf 775 …
Grüße,
Lars
Hi,
Die Dateien kommen ja in das cgi-bin Verzeichniss. Da muss alles dem http User mit den gleichen Rechten gehören.
Die Userdaten müssen in Anführungszeichen stehen…bitte nicht vergessen.
Gruß Helle
Hallo,
Ich habe das falsch beschrieben. Die Dateien sind mit den richtigen Rechten im web root (ich nutze eine Synology und habe es so konfiguriert, das .py Dateien mit entsprechendem shell header ausgeführt werden.) Das Python script wird auch ausgeführt:
Aufruf URL (uuid ist eine zwave Schaltsteckdose, Script habe ich umbenannt, war zu faul zum Tippen):
http://192.168.2.5/asw.py?uuid=84a212d6-e488-4b9b-9615-0fd1a1f623f3&state=false
Darauf kommt diese Antwort im Browser:
{u’nonce‘: u’BGHHcrxYcObLXYKu‘, u’jsessionid‘: u’08DE4538B73ADDC1775B49A80868855E-n1.frontend5′, u’success‘: False, u’error‘: u’User deutsch.lars@gmail.com not found or wrong password‘} 84a212d6-e488-4b9b-9615-0fd1a1f623f3 false
Und das steht im Apache Log:
2017-02-27T17:42:25+01:00 DiskStation > PUT /zipato-web/v2/attributes/84a212d6-e488-4b9b-9615-0fd1a1f623f3/value HTTP/1.1
2017-02-27T17:42:25+01:00 DiskStation Host: my.zipato.com
2017-02-27T17:42:25+01:00 DiskStation User-Agent: PycURL/7.19.5.1 libcurl/7.51.0 OpenSSL/1.0.2k zlib/1.2.8 c-ares/1.12.0 libssh2/1.7.0
2017-02-27T17:42:25+01:00 DiskStation Accept: application/json
2017-02-27T17:42:25+01:00 DiskStation Content-Type: application/json
2017-02-27T17:42:25+01:00 DiskStation Content-Length: 18
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: < HTTP/1.1 401 Unauthorized
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: < Date: Mon, 27 Feb 2017 16:42:25 GMT
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: < Set-Cookie: JSESSIONID=F25005D7978BCC8264E4E22F2957EB1A-n1.frontend5; Path=/zipato-web/; Secure; HttpOnly
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: < Content-Type: text/html;charset=utf-8
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: < Content-Language: en
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: < Content-Length: 975
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: < Connection: close
2017-02-27T17:42:25+01:00 DiskStation syslog-ng[4301]: Error processing log message: <
Der Zipato Server gibt mir die Fehlermeldung zurück, nicht der lokale Apache. Mir ist nicht ganz klar was das mit den Rechten in meinem web root zu tun hat …
Danke,
Lars
Hi Lars,
Das haben Gregor und ich so beobachtet…wenn die nicht passen , bekommt man eine Fehlermeldung von der API. Du könntest mal 777 als Rechte versuchen.
Kannst aber noch einen Screenshot vom Verzeichniss machen.
Gruß Helle
Screenshot habe ich, wie lade ich den hoch ?
Hi,
am besten bei einem kostenlosen Bilder Upload Dienst hochladen und den Link hier einstellen.
Gruß Helle
https://drive.google.com/drive/folders/0B11slnvF20EOVWpxbVo2am1UTzg?usp=sharing
Hi,
das Verzeichnis web1 gehört noch root. Das muss auch http gehören, da der http 2 Dateien speichert um sich einen Login Token zu bauen.
Gruß Helle
Hallo,
habe ich geändert, gleiches Ergebnis. Jedoch frage ich mich noch immer, wieso der Apache Server so eine Fehlermeldung werfen soll – die Meldung scheint mir vom Zipato Server zu kommen. Wenn es ein lokales Problem wäre (Rechte fehlen etc.) wäre da ein Eintrag im Apache Log.
Kann es mit der Art und Weise zu tun haben, wie der Hashkey über das Passwort gebildet wird ?
Grüße,
Lars
Hi Lars,
die Dateirechte haben etwas damit zu tun ob der Apache Dateien anlegen darf.
Es werden 2 Dateien angelegt:
cookie.txt & Zipatoapi.pyc.
Wenn der Apache diese Dateien nicht anlegen kann, kann er nicht den erforderlichen Token bilden um sich zu Authentifizieren.
Gruß Helle
Hallo,
Du hattest Recht, nun geht es 🙂 Danke !
Grüße,
Lars
Oh da war ich eine Minute zu spät mit meinem Post:-P. Okay schön zu hören, dass es nun geht und viel Spass damit.
VG,
Gregor
Hallo Lars,
kannst Du nochmal ein Screenshot posten mit dem folgenden Befehl:
ls -ld /volumes1/web
Du kannst noch folgendes probieren, um es nur mal zu testen:
chmod -R 777 /volumes1/web
Wenn das immer noch nicht tut, dann benenne dein Skript um von aws.py nach aws.cgi und teste es nochmal.
Wie es Helmut schon geschrieben hat, das Skript „aws.py“ Authentifiziert sich gegen Zipato um eine SessionID zu erzeugen in der cookie.txt Datei. Mit der SessionID aus der cookie.txt kann die Zipatoapi.py Library nun gegen die API sprechen und die enstprechenden API Calls absetzen und muss sich nicht jedes mal neu Authentifizieren. Wenn der User bzw. Passwort falsch ist, dann kann ein Problem sein, dass der Apache User die Datei nicht erstellen darf in dem Verzeichnis. Ich sehe aber auch einiges an Foren Beiträge die beachtet werden müssen, wenn man ein CGI Skript über die Synology laufen lassen will.
VG,
Gregor
Ach ja: das ist die URL zum lesen der Devices für Alexa. Der Alexa Eintrag ist aus der Doku verschwunden (zumindestens bei mir).
Erst über my.zipato anmelden, dann die URL aufrufen:
https://my.zipato.com/zipato-web/v2/alexa/discovery
Grüße,
Lars
Du hast recht, bei mir ist mittlerweile die Alexa API auch verschwunden. Hmm ist das ein gutes Zeichen?!? Oder sind da draussen Leute die die Umsetzung schneller hinbekommen als die Zipato Leute selbst via API*Aluhut*:).
LOL … also an der Technik kann es kaum liegen. Selbst OpenHAB hat inzwischen einen deutschen Alexa Support …
Hallo,
ich have versucht das ganze unter Win10 an den Start zu bringen, da ich mein Kamerasystem mit der Software BlueIris betreibe und der Rechner 24/7 läuft. Die Ha-Bridge lief bisher einwandfrei, nur das man eben sehr viele Regeln brauchte.
Ich habe jetzt einen Apache 2.4 und Python installiert. Der Apache läuft an Port 8080 und Python Scripte werden mit angepaßtem Port zum Apache und Pfad zum Pythonverzeichnis auf der Hdd ausgeführt, zumindest verliefen die Tests positiv. In der Ha-Bridge habe ich den Link angepasst, sowohl Port zum Apache als auch die TurnUuID nach der Vorlage oben aus dem Blog. Beim Test der Schaltung bekomme ich eine positive Antwort von der HA-Bridge, jedoch wird die Schaltung tatsächlich nicht durchgeführt.
Ich finden den Fehler nicht. Das einzige was mir aufgefallen ist, dass in dem Verzeichnis in dem die Scripte liegen, nur eine neue Datei dazu gekommen und nicht zwei.Bei mir fehlt die cookie.txt. Die Zipatoapi.pyc ist vorhanden. Einen weiteren Unterschied konnte ich nicht feststellen. Wie ich gelesen habe funktioniert es nicht mit nur einer neuen Datei im Verzeichnis „cgi-bin“. Könnte es in meinem Windowssystem auch was mit den Schreibrechten zu tun haben?
Vielleicht hat ja jemand eine Idee warum es bei mir nicht funktioniert, bzw. wie ich dem Apache sage das er zwei Dateinen anlegen soll.
Gruß Ralf
Hallo,
klappt das Schalten, wenn Du die on/off Regeln in der HA Bridge testest ?
Grüße,
Lars
Hallo Ralf,
Du musst die Python Skripte ins cgi-bin Verzeichnis des Apache Servers hinzufügen „c:\Program Files\Apache2.4\cgi-bin“ oder so ähnlich sollte der Pfad sein. Ansonsten wird das nicht funktionieren.
VG,
Gregor
Hallo,
nein, das Schalten klappt nicht, also keine Reaktion am der Steckdose. Die HA-Bridge zeigt mir aber eine grüne Bestätigung zu dem Befehl/Test an. Es scheint nicht an dem Link in der HA-Bridge zu liegen, sondern eher an meinem Apache. Ist vielleicht der Port der HA-Bridge für die Scripte auf dem Apache relevant?
Gruß Ralf
Hi Gregor, hatte sich gerade übeschnitten. Die Scripte liegen im Verzeichnis cgi-bin.
Gruß Ralf
Hallo Ralf,
welche Python Version hast Du genau installiert?
1. Stell sicher, dass Du Python2.7 verwendest, da ich es in Python2.7 Programmiert habe. 2. Es wäre gut zu wissen, unter welchem User der Apache Prozess unter Windows läuft. Es muss sichergestellt werden, dass der „Apache“-User im selben Verzeichniss schreiben darf.
http://httpd.apache.org/docs/2.4/platform/windows.html
Okay wie es aussieht, läuft der Apache unter dem normalen User Account, als der Du eingeloggt bist, wenn ich es richtig verstehe. Stell noch sicher, dass dein User aufjedenfall die rwx Berechtigungen auf das cgi-bin Verzeichnis hat.
VG,
Gregor
Hallo Gregor,
ich bin alles noch mal durchgegangen und ein Stück weiter gekommen. Python 2.7 ist installiert, es scheint aber an dem „pycurl“ Modul zu liegen. Zunächst habe ich im Log des Apache festgestellt, dass das Modul scheinbar nicht installiert war. Nachdem ich es nachgeholt habe und nun die Version 7.43.0 für Python 2.7 installiert ist, wird im Log des Apache ein DLL Fehler angezeigt. Ich hab hier mal einen Auszug ohne Zeitstempel und IP aus meinem letztem Apache-Log. Habe ich mich vielleicht in der Version des Muduls vergriffen?
End of script output before headers: alexa_skill_workaround.py
Traceback (most recent call last):\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
File „C:/Apache/cgi-bin/alexa_skill_workaround.py“, line 9, in \r: C:/Apache/cgi-bin/alexa_skill_workaround.py
from Zipatoapi import Zipatoapi\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
File „C:\\Apache\\cgi-bin\\Zipatoapi.py“, line 24, in \r: C:/Apache/cgi-bin/alexa_skill_workaround.py
import pycurl\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
Bitte nicht wundern wenn nicht gleich ein Rückläufer kommt, ich habe leider erst am WE wieder zum basteln.
Gruß Ralf
Hallo Ralf,
zu deinem Fehler habe ich folgendes gefunden:
http://pycurl.io/docs/latest/install.html#windows
If the C runtime library (MSVCRT.DLL) versions used by PycURL and Python do not match, you will receive a message like the following one when trying to import pycurl module:
ImportError: DLL load failed: The specified procedure could not be found.
To identify which MSVCRT version your Python uses use the application profiling feature of Dependency Walker and look for msvcrt.dll variants being loaded. You may find the entire thread starting here helpful.
https://curl.haxx.se/mail/curlpython-2014-05/0000.html
Ich vermute mal ganz stark das Du genau davon auch betroffen bist. Ich vermute mal Du hast schon die neueste Python2.7.13 Version installiert?
Wenn man im Web nach der Fehlermeldung sucht, haben es auch viele hinbekommen, indem Sie eine andere Python2.7 Version installiert haben z.B. 2.7.6.
Hi Gregor,
danke für den Tip. Ich werde mich am Wochenende gleich damit befassen und mich dann eine Rückmeldung geben. Wenn es wirklich nur ein Versionsproblem ist, bin ich ganz zuversichtlich, dass ich es hinbekomme.
Gruß Ralf
Hallo Gregor,
denn DLL Fehler konnte ich dank Deines Hinweises beseitigen. Außerdem habe ich die Shebang Zeile noch an Windows anpasst
#!c:/Python27/python.exe
Leider sind immer noch nicht alle Fehler weg. Ich bin alle Zeilen des Apache logs durchgegangen und habe nach den Fehlermeldungen gegoogelt, insbesondere nach der mit dem Zertifikatsproblem. Zertifikate habe ich erstellt und installiert. Wenn ich meinen Apache direkt über https://localhost aufrufe wird das Xampp Dashboard im Browser normal geöffnet.
Hier ist noch mal ein Auszug aus meinem Apache Log.
AH00098: pid file C:/Apache/apache/logs/httpd.pid overwritten — Unclean shutdown of previous Apache run?
AH00455: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30 configured — resuming normal operations
AH00456: Apache Lounge VC11 Server built: Dec 20 2016 13:02:04
AH00094: Command line: ‚c:\\apache\\apache\\bin\\httpd.exe -d C:/Apache/apache‘
AH00418: Parent: Created child process 4200
AH00354: Child: Starting 150 worker threads.
Traceback (most recent call last):\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
AH01215: File „C:/Apache/cgi-bin/alexa_skill_workaround.py“, line 29, in \r: C:/Apache/cgi-bin/alexa_skill_workaround.py
AH01215: init = a.get_user_init()\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
AH01215: File „C:\\Apache\\cgi-bin\\Zipatoapi.py“, line 58, in get_user_init\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
AH01215: c.perform()\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
AH01215: pycurl.error: (60, ‚SSL certificate problem: self signed certificate in certificate chain‘)\r: C:/Apache/cgi-bin/alexa_skill_workaround.py
Leider kenne ich mich mit Scripten und Programmiersprachen nicht gut genug aus. Ich frickel halt meistens so lange bis es funktioniert. Da ich hier jetzt nicht weiter komme, gebe ich vorerst auf und versuche es zu einem späteren Zeitpunkt noch mal von vorn.
Trotzdem vielen Dank für Deine Hilfe Gregor.
Gruß Ralf
Hallo,
nochmal vielen Dank für die super Idee! Ich habe jetzt alle meine Sprachgesteuerten Geräte auf „Direktzugriff“ umgestellt, läuft wie geschmiert!
Der meiner Meinung nach entscheidende Vorteil: Die Kommandos an/aus/prozent funktionieren unabhängig ob das Gerät (z.B. der Rolladen) manuell anders geschaltet wurde. Das war immer nervig, weil die virtuellen Sensoren/meter nur dann die Regel triggern, wenn der Wert sich geändert hat. Das geht jetzt einwandfrei 🙂
Grüße,
Lars
Hallo Ralf,
hast Du den Shebang in beiden Skripten angepasst? Ich schicke Dir morgen nochmal die Zipatoapi.py per Mail zu. Ich werde die entsprechende Library um die Kommandos erweitern, dass ssl nicht geprüft werden soll. Unter Linux tritt dieses Problem nicht auf.
VG,
Gregor
Hallo Ralf,
hast Du eventuell notepad++ installiert? Wenn ja schau mal, ob Du alle versteckten Zeichen Dir anzeigen lassen kannst, wie hier beschrieben.
http://stackoverflow.com/questions/767545/does-notepad-show-all-hidden-characters
Das sieht für mich nicht gut aus, wenn ich mir nochmal deine Fehlermeldung ganz genau anschaue:
AH01215: File „C:/Apache/cgi-bin/alexa_skill_workaround.py“, line 29, in \r: C:/Apache/cgi-bin/alexa_skill_workaround.py
Da meckert der Apache über „\r“, wenn ich es richtig deute. Eventuell durch das kopieren auf Windows sind da versteckte Sonderzeichen hinzugekommen was nun Python zu den Fehlern zwingt.
Viele Grüße,
Gregor
Hi Gregor,
ich habe jetzt noch mal das Windows eigene Zip, anstatt WinRar, zum entpacken genutzt. Außerdem bin ich die betroffenen Zeilen mit dem vorgeschlagenem Editor noch mal durchgegangen. Sonderzeichen haben sich nicht dazu gemogelt.
Ist aber auch nicht weiter tragisch, da erledige ich das eben weiter über die virtuellen Schalter und Regeln. Es wird bestimmt an den unterschiedlichen Betriebssystemen liegen und wegen einem Windowsuser lohnt sich weiterer Aufwand nicht wirklich.
Vielleicht ringe ich mich doch n och mal zu eimen Pi durch. Ich muss mich nur mal schlau lesen ob die Leistung für meine Kameras reicht und ob ich das dann auch entsprechend hingebastet bekomme.
Erst mal danke für Deine Hilfe Gregor und ne ruhige Woche.
Gruß Ralf
Gruß Ralf
Hallo Gregor,
ich wollte nur kurz mitteilen das es jetzt bei mir unter Windows 10 funktioniert. Es lag letztendlich an dem pycurl Modul. Es gibt diverse Versionen für Python 2.7 64 Bit. Ich habe alle 64 Bit Versionen durchprobiert und die pycurl-7.19.5.3.win-amd64-py2.7 hat dann endlich funktioniert.
Da ich gern den Alarm per Sprachbefehl aktivieren möchte, hätte ich noch eine Frage. Lassen sich die UUID zum schalten der Alarmpartitionen auch irgenwo auslesen, oder muss man das Schalten trotzdem wie bisher über die virtuellen Schalter durchführen. Ich bin die Zipato API schon durchgegangen, hab aber bis jetzt noch keine passende UUID gefunden.
Gruß Ralf
Hi,
warum klingelst du mit den Code nicht mal bei dem Entwickler der HA-Bridge an, vielleicht hat er ja Lust den Code in der Ha-Bridge zu integrieren. Schließlich gibt es für die HA-Bridge ja schon entsprechende Module für Vera, Harmony, Nest, Hue, usw.. Dann könnte man sich einiges an Aufwand und den zusätzlichen Web-Server sparen:-)
Viele Grüße
Peter
Hallo pheidkamp,
oh das war mir so nicht bewusst. Ich bin kein Entwickler, sondern mache es nur ab und zu, um ein paar Dinge mir zu vereinfachen. Daher weiss ich nicht, ob die Code-Qualität gut genug ist, um das direkt in die HA-Bridge zu integrieren:). Ich schaue mir mal die github Seite von den HA-Bridge Entwicklern an und eventuell werde ich die kontaktieren, ob das Interesse besteht, dass zu integrieren.
VG,
Gregor
Hi Gregor,
das ist echt nett, aber mach Dir keinen Streß, ich bin die Woche leider nicht zu Hause. Ich freu mich aber trotzdem schon auf den neuen Anlauf.
Gruß Ralf
Hallo Gregor,
das wäre richtig super.
Die HA-Bridge ist zwar in Java geschrieben, aber vielleicht geht da ja was.
Ich glaube da würden sich hier viele mächtig freuen:-))
Viele Grüße
Peter
Hallo,
ist es auch möglich damit eine Rolladenposition oder eine Dimmer Helligkeit zu schalten ?
Die UUID habe ich gefunden, aber was ist das Attribut ?
Grüße,
Lars
Hallo,
ja, du musst dann am Ende einfach statt eines festen Wertes true oder false eine Variable übergeben. Einfach unter Dim Items am Ende =${intensity.percent} anhängen.
Gruß
Peter
und die variable ist immer noch „state“ ?
ok, tatsächlich immer noch state .. da bin ich nicht drauf gekommen 🙂