Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuern

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

terny
Beiträge: 76
Registriert: 23.10.2015, 09:08
Hat sich bedankt: 6 Mal

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von terny » 28.04.2017, 10:40

Hi fantasticn,

genau deine Argumente halten mich derzeit auch auf, weitere Cloudanbindungen einzuweben zumal dann auch irgendwann die Übersichtlichkeit total verloren geht.
Ich nutze derzeit die CloudMatic inklusive dem Alexa Skill und bin damit auch sehr zufrieden. Vor allem ist diese für mich "kostenlos", da ich auch schon zuvor Cloudmatic für die Anbindung bezahlt/genutzt habe.
Leider fehlt auch dort die Rückleitung in die andere Richtung, sprich Homematic zu Alexa.

Angenommen die CCU2 kann diesen langen "Curl" Befehl technisch nicht. Wäre dann nicht ein anderer Ansatz den Curl Befehl bzw. das Shell Skript auf der Fritzbox oder z.b. einer Synology NAS, die ja sowieso bei den meisten "Alexa-Techfans" im Netzwerk laufen, auszuführen und die CCU2 lediglich als Trigger (Licht an, Bewegungsmelder,...) zu verwenden?

Damit hätte man zumindest auch eine Cloudlösung umgangen.

Benutzeravatar
uwe111
Beiträge: 4806
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 239 Mal
Kontaktdaten:

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von uwe111 » 28.04.2017, 12:13

Hallo,
fantasticn hat geschrieben: Aber es war nie erfolgreich. Wie schon gesagt, vermute ich, dass es an der dritten "Ebenen" liegt, die durch die zusätzliche Anführungszeichen beim CuxD-Befehl entsteht.
Wenn Du ein funktionierendes Shell-Script (ohne CUxD) für die CCU oder den Raspi oder unter Linux hinbekommst, dann sollte auch der Aufruf aus CUxD möglich sein.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

fantasticn
Beiträge: 102
Registriert: 15.03.2016, 14:34

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von fantasticn » 28.04.2017, 13:13

terny hat geschrieben:Hi fantasticn,

genau deine Argumente halten mich derzeit auch auf, weitere Cloudanbindungen einzuweben zumal dann auch irgendwann die Übersichtlichkeit total verloren geht.
Ich nutze derzeit die CloudMatic inklusive dem Alexa Skill und bin damit auch sehr zufrieden. Vor allem ist diese für mich "kostenlos", da ich auch schon zuvor Cloudmatic für die Anbindung bezahlt/genutzt habe.
Leider fehlt auch dort die Rückleitung in die andere Richtung, sprich Homematic zu Alexa.

Angenommen die CCU2 kann diesen langen "Curl" Befehl technisch nicht. Wäre dann nicht ein anderer Ansatz den Curl Befehl bzw. das Shell Skript auf der Fritzbox oder z.b. einer Synology NAS, die ja sowieso bei den meisten "Alexa-Techfans" im Netzwerk laufen, auszuführen und die CCU2 lediglich als Trigger (Licht an, Bewegungsmelder,...) zu verwenden?

Damit hätte man zumindest auch eine Cloudlösung umgangen.
Ich bin nicht sicher, ob die Länge des Curl-Befehls tatsächlich das Problem ist. Umgehen könnte man das indes aber vermutlich tatsächlich dann dadurch, dass man die Parameter in ein SH-Script umsetzt. Das habe ich allerdings auch schon getan (siehe oben, Anleitung dazu gab es ja auch bereits bei gehrig.info). Aber auch damit funktioniert es dann nur unter Windows (mit win-bash ausgeführt), aber nicht per CuxD-Aufruf auf der CCU2. Auch hier ist und bleibt der auffälligste Unterschied: Der CuxD-Aufruf auf der CCU2 sitzt selbst nochmals in Anführungszeichen, so dass der im Skript enthaltene Aufruf (hat ja bereits zwei Ebenen, mit dem verschachtelten Cookie) eine weitere "Ebene" tiefer rutscht. Und darin vermute ich prinzipiell das Problem.

Dein Vorschlag, das Skript auf einem anderen Gerät ausführen zu lassen, bedingt, dass wiederum eine Verbindung zwischen der CCU und diesem anderen Gerät hergestellt wird, welches die Übergabe des Events ermöglicht. Auch das ist wieder Konfigurations- und/oder Programmieraufwand, der die Sache verkompliziert - wenn man eine solche Verbindung nicht bereits ohnehin eingerichtet hat und nutzt. In Bezug auf die FritzBox wollte das eigentlich schon immer tun (Verbindung zur CCU), hab aber noch keine Zeit dafür gefunden. Außerdem wäre die Flußrichtung ja normalerweise andersherum, d.h. die FritzBox meldet ein Ereignis an die CCU, die dann eine Aktion ausführt.

However, mein Ansatz mit Curl.exe unter Windows geht ja in die gleiche Richtung: Ich habe halt kein NAS mehr, sondern setzt inzwischen meinen Büro-PC as Server ein (der läuft ohnehin viele Stunden am Tag, braucht im idle nur unwesentlich mehr Strom als ein NAS und bietet deutlich mehr Funktionen). Und ich könnte natürlich das Tool "CCU-Remote-PC" nutzen, um Events von der CCU2 an den PC zu senden, so dass dieser dann ein Ereignis auslöst (z.B,. den Curl.exe mit den Paramtern aufruft, um einen Radiosender auf dem Echo-Dot zu starten). Aber das sind alles workarounds, die mehrere Geräte benötigen, um eine simple Aktion zu triggern. Deshal ist für mich eigentlich das Endziel, dass der Curl-Aufrif auf der CCu2 direkt läuft. Eigentlich sagt einem die Logik, dass es gehen müsste. Nur wie?
uwe111 hat geschrieben:Hallo,
fantasticn hat geschrieben: Aber es war nie erfolgreich. Wie schon gesagt, vermute ich, dass es an der dritten "Ebenen" liegt, die durch die zusätzliche Anführungszeichen beim CuxD-Befehl entsteht.
Wenn Du ein funktionierendes Shell-Script (ohne CUxD) für die CCU oder den Raspi oder unter Linux hinbekommst, dann sollte auch der Aufruf aus CUxD möglich sein.

Viele Grüße

Uwe
Tja, theoretisch ist das so. Praktisch aber nicht. Ich habe einen Curl-Befehl, der mit Curl-exe unter Windows einwandfrei läuft. Rufe ich den über CuxD auf der CCU2 auf, geht er aber nicht. Das gleiche gilt für das entsprechende SH-Skript: mit win-bash unter Windows aufgeführt, klappt es einwandfrei. Aber dasselbe Script auf der CCU2 mit CuxD ausgeführt geht nicht.

Meine Vermutung ist: Der Curl-Aufruf ist sehr lang und besitzt bereits zwei verschachtelte Ebenen von Parameter, die in " und darunter in ' gesetzt sind (ob direkt in einer Befehlszeile oder über ein SH-Skript). Der CuxD-Aufruf auf der CCU2 sitzt nun jedoch selbst nochmals in "-Zeichen, so dass alles dahinter nochmals eine Ebene nach unten rutscht. Und wie man damit umgeht (drei Ebenen von "- oder '-Zeichen), das scheint vermutlich das Problem zu sein.

Benutzeravatar
uwe111
Beiträge: 4806
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 239 Mal
Kontaktdaten:

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von uwe111 » 29.04.2017, 17:23

fantasticn hat geschrieben:Tja, theoretisch ist das so. Praktisch aber nicht. Ich habe einen Curl-Befehl, der mit Curl-exe unter Windows einwandfrei läuft. Rufe ich den über CuxD auf der CCU2 auf, geht er aber nicht. Das gleiche gilt für das entsprechende SH-Skript: mit win-bash unter Windows aufgeführt, klappt es einwandfrei. Aber dasselbe Script auf der CCU2 mit CuxD ausgeführt geht nicht.
Du sollst den Befehl ja zum Testen nicht mittels CUxD, sondern direkt aus der Shell der CCU aufrufen. Mit CUxD hat der Aufruf nichts zu tun.
Das selbe Script wird nicht laufen. Du musst hier mindestens den Curl-Pfad anpassen.

Dann könntest Du auch mal die Curl-Versionen und installierten Features vergleichen.

Code: Alles auswählen

# /usr/local/addons/cuxd/extra/curl -V
curl 7.46.0 (arm-unknown-linux-gnu) libcurl/7.46.0 OpenSSL/1.0.0j zlib/1.2.7
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets
#
Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von Fonzo » 01.05.2017, 19:38

Ich kann leider nichts zu den Besonderheiten von Curl auf einer CCU sagen da ich das nicht benutzte. Ich schicke das per Curl aus PHP. Für alle die in Kombination mit Homematic IP-Symcon benutzten habe ich hier mal das bisschen Code in ein Amazon Echo Remote Modul gepackt. Damit lassen sich dann von IP-Symcon auch Play / Pause und weitere Dinge triggern. Ansonsten könnt ihr ja mal Euren Code auf der CCU vergleichen, ob es da Unterschiede gibt. Vielleicht findet man dann den Fehler warum es von der CCU aus nicht funktioniert. Wer nicht IP-Symcon nutzten will hat natürlich auch die Möglichkeit das einfach umzuschreiben oder aber von einem eigenen PHP Server zu verschicken.

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von Fonzo » 02.05.2017, 07:46

fantasticn hat geschrieben: Deshalb: Für jede "Schnittstelle" zu Alexa einen eigenen Cloud-Zugang aufzubauen, der wiederum ganz anders zu konfigurieren ist als alle anderen, und der jeweils ein Einfallstor ins eigene Netz darstellt, will ich vermeiden. Ich nutze daher erstmal nur den Zugang über ioBroker und sonst nichts.
Das braucht man ja in der Regel auch nicht. Man sollte sich auf ein System festlegen mit dem man persönlich zurechtkommt, das seine persönlichen Anforderungen erfüllt und mit dem man alle gewünschten Geräte steuern und Anwendungen durchführen kann. Dann reicht es vollkommen aus wenn dieses System mit Alexa verbunden ist und man nutzt auch nur einen einzigen SmartHomeskill und mehrere Custom Skills um alles zu schalten bzw. die Zustände der Aktoren und Geräte abzufragen. Wenn man nicht gerade selber rumbastelt ist so eine Schnittstelle auch sicher, da diese bei einem SmartHomeSkill OAuth2 nutzt. Es wird hier also auch kein Einfallstor ins eigene Netz geschaffen. Außer dem registrierten Amazon Server kann da kein einziger Datenverkehr von außen drüber laufen. Wer sich da näher Einlesen will findet hier Informationen. Was ich persönlich nicht verstehe, wenn sowieso schon von vielen eine Hausautomationssoftware benutzt wird warum man dann immer noch versucht allen möglichen Krempel mit der CCU zu realisieren, die ist da weder von der Software noch der Hardware für so was ausgelegt. Eine CCU ist in der Kombination mit einer Hausautomationsssoftware ja nichts weiter als der Befehlsempfänger und versendet ein Funksignal, die ganze Logik und Automation sollte in der gewählten Hausautomation stattfinden. Wenn Du Dich also in dem Fall für ioBroker als System entschieden hast solltest Du auch solche Dinge wie Alexa zu triggern aus ioBroker heraus machen und nicht von der CCU selber.

fantasticn
Beiträge: 102
Registriert: 15.03.2016, 14:34

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von fantasticn » 02.05.2017, 16:30

@Fonzo,
vielen Dank für Deine Antwort und Deine Tipps.

In Sachen Cloud-Dienst weiß ich nicht, welcher Dienst alles abdeckt. Mit ioBroker läuft es aktuell nur so, dass ich vom Echo-Dot Sprachbefehle an bzw. über die CCU senden kann, um meine Heimautomation zu steuern. Umgekehrt Richtung (also Starten von Musik/Radio auf dem Echo-Dot abhängig von Zeit oder Ereignissen auf meiner Heimautomation) kann ich damit wohl aktuell nicht realisieren. Da suche ich vorliegend noch nach einer Lösung.

Zum grundsätzlichen Einsatz von Cloud-Diensten für Heimautomation:
Es mag tatsächlich Cloud-Dienste geben, die aktuell eine CCU entbehrlich machen bzw. diese zum reinen "Funksender" werden lassen. Aber ob diese Dienste dann auch andere Funktionen (z.B. Steuerung von Kodi-Mediaplayern) übernehmen können, bleibt abzuwarten. Die aktuellen Entwicklungen hinsichtlich eines Kodi-Skills für Alexa nutzen jedenfalls wieder andere Ansätze. Und so ist es wahrscheinlich mit allem. Es gibt keinen echten "Standard-Clouddienst" für diese ganzen Dinge. Zudem bedeutet die Nutzung der CCU als Basisstation, dass die Heimautomation auch dann läuft, wenn mal keine Internetverbindung besteht. Da viele Dinge zeitgesteuert ablaufen und auch während Abwesenheit/Urlaub funktionieren sollen, ist dieser Umstand schon ein Vorteil. Die Verlagerung in die Cloud bedingt jedenfalls das gottlose Vertrauen in die stets bestehende Internetverbindung und in die Seriösität meines Cloud-Anbieters (sowie dessen "Un-Hackbarkeit"). Sonst fährt mir hier jemand die Rollos hoch und schaltet meine Alarmanlage ab, während ich nicht zuhause bin. Dass indes Amazon Alexa (und andere Sprachdienste) zwangsläufig einen Cloud-Dienst benötigen, weil die Spracherkennung zu aufwendig und datenintensiv ist, um sie lokal nutzbar zu machen, kann ich nachvollziehen. Aber ich muss deshalb doch nicht alles in die Cloud auslagern. Mein Ziel ist es jedenfalls, so viel wie möglich "lokal unter Kontrolle" zu lassen und nur das notwendigste in die Cloud zu verlagern. Und wenn ich es auslagere, dann sollte es wiederum möglichst nur ein Dienst sein, der alle Geräte steuern kann (nicht mehrere verschiedene Cloud-Dienste). Den sehe ich aber noch nicht.

@uwe111
Auch Dir vielen Dank für die Hilfe. Ich habe den Befehl sowohl unter WinSCP (Terminal-Fenster) als auch unter Putty versucht einzugeben. Aber er scheint zu lang. Beim reinkopieren wird im hinteren Bereich einfach abgebrochen. Ich kann mehr Zeichen dann nicht hinzufügen. Das Ausführen klappt dann erwartungsgemäß nicht. Ich hab auch das SH-Script (Anleitung von Gehring), das bei mir ebenfalls unter Windows (mit win-bash) läuft, mal vom Terminal-Fenster aus aufgerufen. Da kommt dann "fehlgeschlagen mit Beendigungscode 61" und eine Tabelle mit lauter Nullen.

@terny
Du hast mich mit PM kontaktiert und gebeten, das Ergebnis der o.g. Tests (Putty, WinSCP) hier zu posten sowie nochmals den kompletten Curl-Befehl. Dieser sieht also aktuell so aus (für meinen Echo-Dot, der hier im Büro steht; die Seriennummer, Customer-ID und CSRF habe ich vorsorglich mit "XXX" ersetzt):

Code: Alles auswählen

curl "https://layla.amazon.de/api/tunein/queue-and-play?deviceSerialNumber=XXXXXXXXXXXXXXXX&deviceType=A3S5BH2HU6VAYF&guideId=s223993&contentType=station&callSign=&mediaOwnerCustomerId=XXXXXXXXXXXXXX" -X POST -H "Origin: http://alexa.amazon.de" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: de" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3080.6 Safari/537.36" -H "Content-Type: application/json; charset=UTF-8" -H "Accept: application/json, text/javascript, */*; q=0.01" -H "Referer: http://alexa.amazon.de/spa/index.html" -H "csrf: -XXXXXXXXX" -H "Cookie: x-amzn-dat-gui-client-v=1.24.1925.0; x-wl-uid=1XWqRlX555joaQVJuFPBsHvRvpHa6OCtH0QtkmYURb0DwIGKl6zdyVJtZMAMSO42psBfuEKOgBdurevCV45Q24I47G9FXJYhSlTaUc5G2lzuy2WZbATOefyeJq4MaLMMrjFvftrP2msQ=; AMCV_69C78985561E42B67F000101%40AdobeOrg=283337926%7CMCIDTS%7C17170%7CMCMID%7C36908078956851579490100616601931278352%7CMCAAMLH-1484036062%7C6%7CMCAAMB-1484036062%7CNRX38WO0n5BH8Th-nqAG_A%7CMCAID%7C2BB7CA3F8530D255-40000306C005C3F5; csrf=-XXXXXXXXX; s_nr=XXXXXXXXXXXXX-Repeat; s_vnum=1894446732970%26vn%3D11; s_dslv=1492364928609; lc-acbde=de_DE; ubid-acbde=277-8128891-9759763; x-acbde=\"dubN6dHul3Cipt3kntzxM?@G?ael?SBM\"; at-acbde=Atza|IwEBIG74HXhdIgTLQ-TQ5WI84O9H1K-8UrWejxznj8RsT8xcKUEeRQjUmkuHiYxLN4Ii5GBMA-lgXp2pZ4aH8b0EetApOPxJBBPxakDcb4N7-D2_tI1BjN0qIsTUaQE1-o7u2XAtRp9UCEYwlWLD8_CYUOHLpdEpXKKXm6baQyxKnX4inanU5gkZHa_u-kx12KNmpOJXZ5A4qOFnE3eOem4z8uXxNuZgU6NHbTsn3IDc-23An7Vzm_n-Is_UbFMgulCElpIn6_3lq8pIL4_cFgQdNGKWbHK8L163TmsOf3OOjch3ngL1nBuQX2T93ng1OiVeKNiaQRe59PBj5pi_F-gHQBRjhJLyHXMgUXZUTzAOzogjHHK5V4Tt6pbqNqrBrU-D2NugJ6Pzttr0pqhHXMG7rIbC; sess-at-acbde=\"BItMzs36B96tyofe5dT9Fo6SmNGZxxNgRkpoZ9FZwzQ=\"; session-id=252-4392109-2867543; session-id-time=2082787201l; session-token=\"Gy0CuujUszc0dF+ElUAYIcUh6GmJiwKmGnrbD/6S3lvlSCS7RWxV434isMvGNbNEkLK4w+mXQ/b0oT/yRMzEtM25ku17TVlxboLq3ge1JTOIAC7SbuTyRiLiBwKEd1jPGiYAYc5ij0XL5CubMisBBmBYviJrehngKAequJlSAFmLOFdXt7pVbBSt/vcQ/djxYOBOYfJ1zFktpbvHQS6PJ046Z8muzI2wF2YFiHLfhuo=\"" -H "Connection: keep-alive" -H "Content-Length: 0" -H "DNT: 1" --compressed
Im Prinzip entspricht er dem Vorgehen von Gehrling (also aus dem Chrome-Fenster einfach mit "Copy as cURL(cmd)" kopieren, nur dass man danach aus der Befehlszeile noch all ^-Zeichen entfernen lassen muss. Dann läuft's zumindest unter Windows mit curl.exe.
Zuletzt geändert von alchy am 02.05.2017, 20:47, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von Fonzo » 02.05.2017, 17:32

fantasticn hat geschrieben:@Fonzo,
In Sachen Cloud-Dienst weiß ich nicht, welcher Dienst alles abdeckt.
Was ist schon Alles? Das ist ein sehr dehnbarer Begriff. Ich denke Dir geht es darum mit Alexa möglicht viel steuren zu können und individuell anpassen zu können.

Ich selber nutzte IP-Symcon, damit habe ich einen SmartHomeSkill zur Verfügung der alle Datenpunkte über einen SmartHomeSkill schalten kann als auch Skripte ausführen, damit ist zumindest so ziemlich Alles möglich was sich eben durch IP-Symcon steuern lässt.
Zum Anpassen an individuelle Bedürfnisse sowie auch Rückmeldungen von Homematic oder anderen Geräten nutzte ich das Alexa Custom Skill Modul. Damit lasse ich mir z.B. die Temperatur in einem Raum ansagen, oder das Wetter der Wetterstation oder schalte die Dreambox und alles im Heimkino über Alexa. Die Umgekehrte Richtung geht zur Zeit ja nur Radiosender auf dem Echo starten. Das kann man auch Zeit gesteuert oder an Ereignis gebunden durchführen.

fantasticn hat geschrieben: Es mag tatsächlich Cloud-Dienste geben, die aktuell eine CCU entbehrlich machen bzw. diese zum reinen "Funksender" werden lassen. Aber ob diese Dienste dann auch andere Funktionen (z.B. Steuerung von Kodi-Mediaplayern) übernehmen können, bleibt abzuwarten.
Auch das geht ohne Probleme, wo bei Wort Clouddienst doch etwas irritierend ist die meisten Hausautomationslösungen laufen lokal zu Hause im Netzwerk, da wo diese meiner Meinung nach auch hingehören. Wenn hier von Cloud gesprochen wird dann betrifft das lediglich die gesicherte Erreichbarkeit des Systems auch für Dienste wie Alexa. Anpassbar bleibt das dann aber trotzdem im Gegensatz zu einem Clouddienst der läuft nämlich nicht auf eigener Hardware. Auch Kodi lässt sich mit IP-Symcon und dem IPSKodi steuern. Und wie ich schon sagte lässt sich alles was mit IP-Symcon steuerbar ist dann logischerweise auch mit Alexa steuern. Zumindest die Steuerungsfunktioniern von Kodi kannst Du ausprobieren indem Du das z.B. in der Demo von IP-Symcon mit dem IPSKodi ausprobierst. Sollte Dir das reichen was Du dort an Datenpunkten und Steuerungsmöglichkeiten vorfindest hast Du auch eine Kodi Alexa Steuerung.
fantasticn hat geschrieben:Es gibt keinen echten "Standard-Clouddienst" für diese ganzen Dinge. Zudem bedeutet die Nutzung der CCU als Basisstation, dass die Heimautomation auch dann läuft, wenn mal keine Internetverbindung besteht. Da viele Dinge zeitgesteuert ablaufen und auch während Abwesenheit/Urlaub funktionieren sollen, ist dieser Umstand schon ein Vorteil.
Wie gesagt das Wort Clouddienst ist hier fälschlich verwendet weder IP-Symcon, openHAB, FHEM, ioBroker und wie sie alle heißen sind Clouddienste. Diese laufen auf einem Rechner und sind im besten Fall, aber auch nur wenn man das will, von Außen gesichert erreichbar. Ein Clouddienst wie IFTTT oder Cloudmatic kann nicht alles können weil dieser immer irgendwo seine Fokussierung und Grenzen hat. Im Gegensatz dazu liegen die Grenzen des machbaren bei Hausautomationslösungen nur darin wieviel Zeit die Mitglieder und Nutzer da reinstecken eine Lösung zu erarbeiten. Und diese ist meist schneller gegeben als Clouddienste. Bezüglich Internet bringst Du da auch Dinge durcheinander eine Hausautomnationssoftware braucht keine Internetverbindung um etwas zu steuern, die Geräte als auch die CCU befindet sich ja im gleichen Netzwerk, ob da eine Internet Verbindung vorhanden ist, ist erst mal egal es sei denn Du willst von Honolulu das Licht im Klo ausmachen können. Wenn eine CCU stabil läuft kannst Du davon ausgehen das dies eine kommerzielle Hausautomation auch tut sonst würde diese nach Jahren nicht mehr im Markt existieren. Für den Fall das irgendwann mal ein Rechner abraucht ist dann doch mal Schluss aber auch eine CCU hält nicht ewig, das ist auch nicht anderes als ein Mini Linux Rechner mit kleiner CPU. Aber ich gebe Dir Recht das wichtige Prozesse in einer professionellen Installation zusätzlich auf so was wie einer SPS ausgelagert sind. Ich persönlich hatte noch nie Probleme mit Abwesenheitssimulation oder ähnlichem und die CCU hängt sich bei mir über die Jahre öfter auf als die Heimautomation. Was auch immer Du als Standard siehst es gibt definitiv kein einziges System das jedes neue Gerät sofort steuern kann aber man kommt trotzdem schon relativ weit und ich selber habe in meinem Haushalt kein Gerät was ich nicht auch mit IPSymcon steuern könnte, außer der Kaffeemaschine.
fantasticn hat geschrieben:Die Verlagerung in die Cloud bedingt jedenfalls das gottlose Vertrauen in die stets bestehende Internetverbindung und in die Seriösität meines Cloud-Anbieters (sowie dessen "Un-Hackbarkeit"). Sonst fährt mir hier jemand die Rollos hoch und schaltet meine Alarmanlage ab, während ich nicht zuhause bin. Dass indes Amazon Alexa (und andere Sprachdienste) zwangsläufig einen Cloud-Dienst benötigen, weil die Spracherkennung zu aufwendig und datenintensiv ist, um sie lokal nutzbar zu machen, kann ich nachvollziehen. Aber ich muss deshalb doch nicht alles in die Cloud auslagern. Mein Ziel ist es jedenfalls, so viel wie möglich "lokal unter Kontrolle" zu lassen und nur das notwendigste in die Cloud zu verlagern. Und wenn ich es auslagere, dann sollte es wiederum möglichst nur ein Dienst sein, der alle Geräte steuern kann (nicht mehrere verschiedene Cloud-Dienste). Den sehe ich aber noch nicht.
Noch mal eine Hausautomation ist kein Clouddienst und benötig auch keine Internetanbindung. Wenn Du zu FHEM Clouddienst im Forum sagst wirst Du gesteinigt, geteert und gefedert :D . Also Du brauchst keine Internetanbindung und ein sehr großer Anteil der Leute vertritt auch die Meinung das das nichts in einer Hausautomation zu suchen hat. Aber der Mensch ist nun mal bequem und wenn Du so was wie Alexa nutzten willst bleibt Dir zumindest keine andere Möglichkeit als auch das System gesichert erreichbar zu machen. Daher nochmal wenn das auf Deinem Rechner in deinem Haus läuft hat niemand Zugang zu den Daten von Außen und genau aus dem Grund würde ich auch nie einen Clouddienst nutzten, die Sachen liegen bei mir und ich verwalte diese und habe Zugriff darauf. Sage mir nur mal so was Du für Geräte besitzt, die sich nicht steuern lassen, das würde mich ja nur mal interessieren? Ich habe eine einzige Hausautomation und diese steuert alles, ich denke das ist das was Du suchst. Mit einem "Clouddienst" wirst Du da aber nicht zum Ziel kommen das sind immer Insellösungen mit denen Du nie alle Geräte steuern können wirst, daher nutze einfach eine gescheite Hausautomationssoftware und fertig.

fantasticn hat geschrieben: Den sehe ich aber noch nicht.
Mal ganz konkret was besitzt Du für Geräte die Du gerne zentral von einer Stelle steuern möchtest aber meinst dafür noch keine Lösung gefunden zu haben?

fantasticn
Beiträge: 102
Registriert: 15.03.2016, 14:34

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von fantasticn » 02.05.2017, 18:32

Hi Fonzo,

besten Dank für Deine Ausführungen zum Thema Cloud-Dienste (oder genauer: Zugriff auf die Heimautomation via Cloud-Dienste). Wenn ich Dich richtig verstehe, ist IP-Symcon eine Art Alternative zur Software, die auf der CCU läuft. Ich müsste sie also auf einem anderen PC (Server oder Raspberry PI) installieren, der immer läuft. Das wäre aktuell kein Thema, weil ich ohnehin einen Windows-Server betreibe. Programme würden dann lokal(!) auf dem PC unter IP-Symcon ausgeführt, nicht in der Cloud (wie z.B. bei IFTTT), korrekt? Damit wäre also auch keine Abhängigkeit von einer Internetverbindung gegeben. Der Cloud-Dienst ist damit nur ein "Zugang" zu IP-Symcon auf meinem Server. Das klingt nach einem Lösungsansatz wie ich ihn mir auch wünsche.

Ich muss mich also mal in Ruhe beschäftigen. Ich entnehme Deinen Ausführungen aber, dass mit IP-Symcon schon mal eine Menge von dem realisierbar wäre, was ich aktuell gerne nutzen würde. Das Endziel wäre natürlich, dass ich nach Hause kommen kann und sage, "Alexa, Schalte das Licht im Esszimmer an", "Alexa, fahre die Rollos im Erdgeschoss runter" (das zumindest klappt jetzt schon einigermaßen mittels ioBroker), "Alexa, spiele Terminator 1 auf Kodi im Wohnzimmer", "Alexa, starte ARD auf Kodi im Sportraum" etc. Da ich Android-Mediaplayer einsetze, wäre vielleicht irgendwann sogar mehr als nur die Steuerung von Kodi möglich, sondern auch aller anderen Apps ("Alexa, starte die Tagesschau-App auf dem Mediaplayer im Wohnzimmer"). Und wenn immer mehr Geräte "smart" werden, wie z.B. schon unsere LG-Waschmaschine, dann könnte man diese auch einbinden.

Zurückkehrend auf unser vorliegendes Thema - also das starten von Funktionen auf dem Echo-Dot - verstehe ich Dich so, dass dies mit Deinen php-Scripts und IP-Symcon ebenfalls bereits möglich wäre. Das ist natürlich ein weiterer Grund sich damit zu beschäftigen. Aber wie gesagt: So ein "Systemwechsel" ist ein größerer Schritt, der etwas Zeit und Arbeit kosten wird. Einstweilen will/muss ich deshalb versuchen, den schon unter Windows funktionsfähigen Curl-Befehl irgendwie auf der CCU zur Ausführung zu bekommen.

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von Fonzo » 02.05.2017, 20:11

fantasticn hat geschrieben:Wenn ich Dich richtig verstehe, ist IP-Symcon eine Art Alternative zur Software, die auf der CCU läuft. Ich müsste sie also auf einem anderen PC (Server oder Raspberry PI) installieren, der immer läuft. Das wäre aktuell kein Thema, weil ich ohnehin einen Windows-Server betreibe. Programme würden dann lokal(!) auf dem PC unter IP-Symcon ausgeführt, nicht in der Cloud (wie z.B. bei IFTTT), korrekt?
IP-Symcon ist so was wie der "große Bruder" von iobroker oder openHAB. Es ist die Heimautomationssoftware die am längsten im deutschen Markt ist und mehr oder weniger den Grundstein für Heimautomation gelegt hat also schon zu Zeiten existent war als es so was wie ioBroker und openHAB noch gar nicht gab. Aber auch die "kleinen Brüder" werden ja langsam erwachsen und auch mit openHAB und ioBroker kann man inzwischen jede Menge machen und für viele reicht das auch vollkommen aus. IP-Symcon ist genauso wie ioBroker und openHAB kein CCU Ersatz sondern benötigt die CCU oder eine OCCU um Homematic zu steuern, es läuft also wie iobroker auch auf einem Server 24/7. Dies kann ein Windows System, MacOS, Linux oder auch ein Raspberry sein. IP-Symcon ist im Gegensatz zu iobroker und openHAB eine kommerzielle Software, von dieser gibt es aber eine Demo mit der Du diese testen kannst. Wenn man das einfach antesten will ist es sicher das einfachste unter Windows zu installieren.
Vom Prinzip der funktionsweise sind sich die Systeme ähnlich die Software läuft jeweils auf einem Server und stellt dann den Vermittler dar zwischen vollkommen unterschiedlichen Geräten, ist also das gleiche wie iobroker auch nur das iobroker Javascript benutzt, openHAB Java, FHEM Python und IP-Symcon PHP.

fantasticn hat geschrieben:Programme würden dann lokal(!) auf dem PC unter IP-Symcon ausgeführt, nicht in der Cloud (wie z.B. bei IFTTT), korrekt? Damit wäre also auch keine Abhängigkeit von einer Internetverbindung gegeben. Der Cloud-Dienst ist damit nur ein "Zugang" zu IP-Symcon auf meinem Server. Das klingt nach einem Lösungsansatz wie ich ihn mir auch wünsche.

Auch her das gleiche wie bei ioBroker auch. IP-Symcon funktioniert ohne eine Internetanbindung, das einzige wofür Du die tatsächlich brauchst ist bei einem Software Update. Es besteht aber die Möglichkeit IP-Symcon an Dienste anzubinden das kann sinnvoll sein muss aber nicht genutzt werden wie Alexa, IFTTT, Zapier, Flow und wie Sie alle heißen. Insbesondere gehen ja auch viele Geräteanbieter dazu über eine REST API anzubieten auch hier braucht das Gerät dann einen Internetzugang wenn so eine API genutzt wird.
fantasticn hat geschrieben: und sage, "Alexa, Schalte das Licht im Esszimmer an", "Alexa, fahre die Rollos im Erdgeschoss runter" (das zumindest klappt jetzt schon einigermaßen mittels ioBroker), "Alexa, spiele Terminator 1 auf Kodi im Wohnzimmer", "Alexa, starte ARD auf Kodi im Sportraum" etc. Da ich Android-Mediaplayer einsetze, wäre vielleicht irgendwann sogar mehr als nur die Steuerung von Kodi möglich, sondern auch aller anderen Apps ("Alexa, starte die Tagesschau-App auf dem Mediaplayer im Wohnzimmer"). Und wenn immer mehr Geräte "smart" werden, wie z.B. schon unsere LG-Waschmaschine, dann könnte man diese auch einbinden.


Das geht auch alles mit der Einschränkung die Amazon halt vorgibt. Entweder Du nutzt einen SmartHomeSkill wie bei ioBrokerr auch dann must Du immer so was wie an / anschalten oder so mit sagen. Alternativ nutzt Du einen Custom Skill dann kannst Du das was Du sagst komplett anpassen allerdings musst Du zunächst immer das Invocation Word nennen. Wenn die Session offen bleibt kannst Du dies im folgenden Dialog aber weglassen. Du kommst also nach Hause und sagst Alexa öffne Zuhause (Zuhause) ist in dem Fall dein selbst gewählter Invocation Name. Bei einem vordefinierten Custom Skill die von Amazon freigegeben worden sind steht der Invocation Name fest und kann nicht selbst gewählt werden. In der Folge könntest Du dann die Sätze wie Du sie geschrieben hast sagen, da sind deiner Phantasie keine Grenzen gesetzt. Es muss nur alles einmal von Dir eingerichtet werden weil sonnst schließlich keiner weis was Du alles sagen willst. Auch Kodi zu starten ist wie gesagt möglich Du musst es nur einrichten. Daher wäre es wenn das in Betracht kommt der erste Schritt überhaupt mit der Demo zu schauen wie sich Kodi bedienen lässt. Alles was Du an Befehlen aus IP-Symcon anweisen kannst kannst Du dann auch einer Alexa Redewendung zuordnen.
fantasticn hat geschrieben: Zurückkehrend auf unser vorliegendes Thema - also das starten von Funktionen auf dem Echo-Dot - verstehe ich Dich so, dass dies mit Deinen php-Scripts und IP-Symcon ebenfalls bereits möglich wäre.


Ja das funktioniert.
fantasticn hat geschrieben: So ein "Systemwechsel" ist ein größerer Schritt, der etwas Zeit und Arbeit kosten wird. Einstweilen will/muss ich deshalb versuchen, den schon unter Windows funktionsfähigen Curl-Befehl irgendwie auf der CCU zur Ausführung zu bekommen.


Ein Systemwechsel muss ja auch nicht unbedingt sein. So was wie curl oder ähnliches sollte ja auch mit ioBroker gehen. Ein System Wechsel macht immer dann Sinn wenn man entweder besser mit der Benutzeroberfläche zurecht kommt oder Funktionen braucht oder Geräte unterstützt werden die die jetzige Plattform nicht ansteuern kann, ansonsten würde ich mir auch nicht die Mühe machen zu wechseln, wozu auch wenn alles so funktioniert wie man es will. Das System einzurichten dauert so das man alles erst mal grundlegend steuern kann und eine Basis Visualisierung besitzt nicht länger als 30 Min bis eine Stunde. Bis das ganze System aber so voll vernetzt und automatisiert ist wie man das gerne haben will kann da auch ein Hobby draus werden weil einem sowieso ständig etwas neues einfällt.

Antworten

Zurück zu „CUxD“