Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Alexa Smarthome Skill (Payload Version 3)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dawaterman
    antwortet
    Hi zusammen!
    ich komme einem Problem nicht auf die Schliche: immer wenn ich die Alexa App aufmache, steht bei mehreren Geräten „Gerät reagiert nicht“.
    Ich kann im Log aber sehen, dass für diese Geräte entsprechend der Abfrage ein Status zurückgegeben wird.
    Die LBS sind die aktuellsten, das Skript auch. Alle stehen auf proactive und retrievable. Jedes Gerät hat auch einen Status auf dem Eingang und am Ausgang steht „verified“ und es gibt eine Rückgabe, die sauber aussieht. Keine Errors im Log (was mich ne Weile gekostet hat, wegen den ganzen Statuswerten).
    Trotzdem immer wieder Geräte auf „reagiert nicht“. Hat jemand eine Idee?
    Ach ja: wenn ich auf das jeweilige Gerät gehe und kurz warte funktioniert es plötzlich. Dann ein paar Minuten später wieder einige andere Geräte nicht.
    Ich hab schon aus Verzweiflung die „uncertainty“ von 500ms auf 1500ms hochgestellt. Hatte aber auch keinen Effekt....

    Grüsse
    Rico
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Zaschii
    antwortet
    Hallo Zusammen,
    ist die aktuelle Version im DL-Bereich für Python 2.7 oder 3.6 gedacht?
    In der Doku steht nämlich noch 2.7, aber das zip file ist in Version 0.3 was auf python 3.6 hindeutet.
    VG,

    Einen Kommentar schreiben:


  • HeMichael
    antwortet
    ja ich habs dann aufgegeben und alles durchgeleitet

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Das wird schwierig. Wurde auch hier schon mal diskutiert.

    Man müsste entweder alle IP Adress Ranges von Amazon freigeben oder irgendwie herausfinden, welche davon zum Alexa Service gehören.
    Ist fast unmöglich. Oder alternativ die IPs, die von außen zugreifen für eine gewisse Zeit aufzeichnen und diese dann berechtigen (Das werden dann wohl die von Amazon Alexa sein). Aber es kann halt immer sein, dass diese sich ändern, bzw. neue hinzukommen. Ich verwende bei mir auch "Require all granted".

    Einen Kommentar schreiben:


  • Jue
    antwortet
    Guten Morgen und frohe Ostern.

    Erst einmal vielen Dank für den LBS und die Anleitung... hab zwar einige Versuche gebraucht aber jetzt hört wenigstens eine Frau im Haus auf mich.

    Wo ich jetzt noch Probleme habe ist der Proxi und zwar funktioniert es bei mir nur mit "Require all" ind der 000-default-le-ssl.conf.
    Sobald ich das ändere gehts nicht.

    so gehts:
    Code:
    ...
    <Location />
    <RequireAll>
    # Erlaubt Zugriff von überall
    Require all granted
    # Folgende Zeile erlaubt Zugriff aus dem eigenen Netzwerk
    # (192.168.0.0/24) und von Amazon-Alexa (54.240.197.0/24)
    # Require ip 192.168.0.0/24 54.240.197.0/24
    </RequireAll>
    </Location>
    ...

    so nicht:
    Code:
    ...
    <Location />
    <RequireAll>
    # Erlaubt Zugriff von überall
    # Require all granted
    # Folgende Zeile erlaubt Zugriff aus dem eigenen Netzwerk
    # (192.168.0.0/24) und von Amazon-Alexa (54.240.197.0/24)
    Require ip 192.168.0.0/24 54.240.197.0/24
    </RequireAll>
    </Location>
    ...
    ich hab dann im Apache2-Log eine andere IP von Amazon gefunden:

    Code:
    3.249.95.28 - - [10/Apr/2020:09:09:35 +0100] "POST /edomi/edomi-smarthome-skill-PLv3.php HTTP/1.1" 200 5404 "-" "python-requests/2.22.0"
    da dachte ich mir ich versuch es mal so:
    Code:
    ...
    <Location />
    <RequireAll>
    # Erlaubt Zugriff von überall
    # Require all granted
    # Folgende Zeile erlaubt Zugriff aus dem eigenen Netzwerk
    # (192.168.0.0/24) und von Amazon-Alexa (54.240.197.0/24)
    Require IP 192.168.0.0/24 3.249.95.0/24
    </RequireAll>
    </Location>
    ...
    oder auch so:
    Code:
    ...
    Require IP 192.168.0.0/24 3.249.95.28
    ...

    Code:
    ...
    Require IP 3.249.95.28
    ...
    Was mach ich falsch?

    Viele Grüße

    Jürgen

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Du hast schon recht.
    Ich würde es mir eher als zusätzliches Programm welches auf dem Server läuft vorstellen.
    Anbindung an edomi dann über mqtt oder ähnliches.
    Da der Sourcecode auf github liegt müsste sich das auch in ein normales linux programm portieren lassen.
    Z.B. C++ oder python

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Interessanter Ansatz. Der ESP Ansatz erscheint mir aber sehr speziell zu sein. Grundsätzlich würde ich beide Varianten eher als separaten LBS sehen. Der Komplexität des aktuellen Alexa LBS würde ich nur ungern erhöhen.

    Nach 3 Jahren LBS Entwicklung habe ich mich jetzt auch erstmal einer Visu zugewendet...daher ist bei mir im Moment weniger Freiraum dafür, auch wenns wirklich spannend klingt.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Jonofe,

    Ich bin gerade am experimentieren mit meinem ESP32 Microcontroller, dabei habe ich eine interessante Library gefunden:
    Läuft wirklich Plug&Play.
    Library laden, Geräte im Code anlegen, aufs Gerät übertragen und Alexa findet die Geräte bereits.

    Kommandos werde ohne den Umweg über die Cloud deutlich schneller verarbeitet.
    Ich rufe testweise im Code ein http.get auf "http://<edomi-IP>/remote/..." um ein KO zu schalten.

    Die Library emuliert scheinbar HUE.
    Hier noch eine zweite Library.

    Vielleicht könnte man in Zukunft eine lokale Version ohne AWS und Lambda machen.

    Einen Kommentar schreiben:


  • Jue
    antwortet
    Zitat von ThorstenGehrig Beitrag anzeigen
    Hi
    mal ein anderes Thema... vielleicht kann das ja noch jemand Gebrauchen.
    Folgendes Szenario: viele Alexa´s/Echo´s im Haus - und mehrere Kinder. Da die Kinder ihr eigenes z.B. Spotify Konto brauchen - brauchen Sie auch ein eigenes Amazon Konto. Damit ist die Edomi-Alexa-Smarthomenutzung aber nicht mehr möglich...
    Der Ansatz "Konto wechseln" geht nur bedingt (keine 3 Konten möglich - nur 2) - außerdem kann man nur mit dem richtigen Konto die Edomi-Smathome skills aufrufen.
    Bei meiner kürzlichen Troubleshooting session habe ich "Beta Tester Einladen" gesehen ... und damit kann man sein EDOMI smarthome auch auf weitere Konten ausdehnen :-)
    Vorgehensweiße:
    a) bei developer.amazon.com (Skill-Kit / Distribution/ availability) Beta test freischalten - und die passenden Konten einladen
    b) bei alexa.amazon.com mit neuem Alexa-Konto anmelden (Kind1)
    c) Den Einladungslink (vom Webinterface 1 oder Email-Einladung) anwenden und Beta-Skill aktivieren
    d) Kontoverknüpfung aufrufen und das HAUPTKONTO (nicht Kind1) verknüpfen
    e) Geräte suchen - fertig :-)

    Gruß
    Thorsten
    Servus,

    ich würde gerne meiner großen Tochter auch die "Macht" verleihen und sie zum Beta-Tester machen. Leider komm ich bei Punkt a) schon nicht mehr weiter, finde die Menüpunkte nicht. Hat sich da was geändert? Oder gibt es inzwischen eine andere Möglichkeit?

    Viele Grüße

    Jürgen

    Edit: Habs gefunden (denke ich)

    ,-)
    Zuletzt geändert von Jue; 20.03.2020, 21:06.

    Einen Kommentar schreiben:


  • Guidokoeller
    antwortet
    Danke

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Siehe #524

    Einen Kommentar schreiben:


  • Guidokoeller
    antwortet
    Hallo
    Ich versuche mich mal wieder am Reverse Proxy. Ich komme bis zu Punkt
    ./letsencrypt-auto --rsa-key-size 4096 -d <DYNDNS_NAME> --redirect -m <E-MAIL-ADRESSE>.
    DYNDNS und email richtig eingesetzt. Ich bekomme aber nach einiger Zeit folgenden Fehler:

    Certbot has problem setting up the virtual environment.
    We were not be able to guess the right solution from your pip output.
    Consult https://certbot.eff.org/docs/install...al-environment
    for possible solutions.
    You may also find some support resources at https://certbot.eff.org/support/ .

    woran kann das liegen ?

    Einen Kommentar schreiben:


  • skyacer
    antwortet
    Hi,

    super danke hat funktioniert. ;-)

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von skyacer Beitrag anzeigen
    Wenn ich z.B. meine Doamin aufrufe (https://meine.domian.de/edomi) dann wird mir der Ordner aufgelistet und ich sehe alle php Datein des AlexaSkills. Ist das bei euch auch so oder kann man das irgendwie unterbinden das nicht jeder das sehen kann.
    Bei mir ist das nicht so. Das liegt an der Konfiguration des apache.
    Ich bin nicht sicher, ob ich das bei mir explizit geändert habe, aber Du muss im apache Config File eine Anpassung machen, um dies zu verhindern:

    Im Editor die Konfigurationsdatei öffnen:

    Code:
    nano /etc/httpd/conf/httpd/conf
    Dort muss in der Konfiguration für das Verzeichnis /usr/local/edomi/www der Eintrag

    Code:
    Options -Indexes
    ergänzt werden. Falls Indexes noch an anderer Stelle in der Config für dieses Verzeichnis auftauchen, dann dort löschen.

    Dann noch den apache neu starten:

    Code:
    service httpd restart
    Das ganze gilt für CentOS7. Sollte vei CentOS6 aber ähnlich sein.

    Einen Kommentar schreiben:


  • skyacer
    antwortet
    Hallo,

    weiß gerade nicht ob nur ich das problem habe oder dies evtl ein Risko darstellt. Wenn ich z.B. meine Doamin aufrufe (https://meine.domian.de/edomi) dann wird mir der Ordner aufgelistet und ich sehe alle php Datein des AlexaSkills. Ist das bei euch auch so oder kann man das irgendwie unterbinden das nicht jeder das sehen kann.

    Grüße
    Jascha

    Einen Kommentar schreiben:

Lädt...
X