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

  • trollmar
    antwortet
    Zitat von jonofe Beitrag anzeigen
    ggf. könnte eine Kommunikation von Lambda Function zu Edomi Skill via MQTT noch eine Verbesserung bringen. Das würde zusätzlich den offenen Port in der Firewall und den ReverseProxy beseitigen. Das wird aber noch dauern.
    ja gute Idee!! Das ist eine konsequente weiterentwicklung ....polling über cloud broker?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    HUE funktioniert ja ganz anders, da kann direkt im Homenetwork kommuniziert werden. Und der CustomSkill funktioniert anders und erfordert keine weitere Kommunikation über eine Lambda Function.
    Im Moment glaube ich nicht, dass da viel Potenzial zur Beschleunigung ist, wenn knapp 2 Sekunden im Alexa Service vergehen, bevor der Befehl überhaupt bei der Lambda Function ankommt.
    Interessant wäre, wie schnell die Smarthome Skills von HS2, SHNG, FHEM, NodeRed etc. reagieren.
    ggf. könnte eine Kommunikation von Lambda Function zu Edomi Skill via MQTT noch eine Verbesserung bringen. Das würde zusätzlich den offenen Port in der Firewall und den ReverseProxy beseitigen. Das wird aber noch dauern.

    Teutone : wie lange ist denn die Zeit von Ende des Befehls bis zum Schaltvorgang beim CustomSkill?

    Einen Kommentar schreiben:


  • Teutone
    antwortet
    jonofe, danke für die Aufklärung. Allerdings eine reine HUE Lampe zu schalten ohne EDOMI geht auch schneller und mit dem Custom Skill hatte ich die Problem auch nicht. Also kannst du performance Verbesserungen deinerseits bereits ausschließen?

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Zitat von jonofe Beitrag anzeigen

    Vielleicht deshalb: (?)

    SceneController und Powercontroller haben unterschiedliche Utterances

    Alexa, schalte #### ein/aus (PowerController)
    Alexa, (de)aktiviere #### (SceneController)

    Wobei beim SceneController evtl. auch das AUS/EIN funktioniert. Müsste man mal testen.
    Hi.
    Ja.. Kann schon sein.
    Obwohl ich bei dem power Controller auch "deaktiviere" sagen kann.

    Egal. Werde mir was bei gedacht haben ​​​
    Zuletzt geändert von trollmar; 10.01.2020, 22:30.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von philipp900 Beitrag anzeigen
    Ich habe gefühlt auch 3 Sekunden Verzögerung zwischen dem Ende meines Sprachbefehls und der Aktion.
    Zitat von philipp900 Beitrag anzeigen
    Kann das Delay verkürzt werden oder liegt das evenuell sogar an der Verarbeitungsgeschwindigkeit des Echo bzw. Amazon.
    Habe den Echo neu und sonst noch keine Vergleichswerte obs mit anderen Systemen schneller geht.
    Ca. 2.5 bis 3 Sekunden sind bei mir auch die Norm. Ich habe das damals (Herbst 2019) mal etwas genauer analysiert:

    Grundsätzlich läuft die Kette ja wie folgt:

    (1) Voice Befehl (Audio)
    (2) Empfang durch Echo Device
    (3) Aufruf Alexa Service (HTTPS)
    (4) Aufruf AWS Lambda (HTTPS)
    (5) HTTPS-GET an RevProxy
    (6) HTTPS-GET an Edomi Skill Skript
    (7) TCP Socket an Smarthome Skill LBS
    (8) IPC Message Queue an Smarthome Device Skill Device
    (9) Ausführung
    (10) Antwort an Smarthome Skill LBS (IPC Message Queue)
    (11) Antwort an Edomi Skill Skript (TCP Socket)
    (12) Antwort an RevProxy (HTTPS)
    (13) Antwort an AWS Lambda (HTTPS)
    (14) Antwort an Alexa Service (HTTPS)
    (15) Voice Antwort an Echo Device (HTTPS)
    (16) Sprachausgabe (Audio)
    Und danach die gleiche Kette zurück bis das Echo Device die Bestätigung ausgibt.

    Vom Voice Befehl (1) bis zur Lambda Funktion (4) hat man keinen Einfluss. (außer vielleicht durch die Entscheidung wo man seine Lambda Function provisioniert. Bei mir ist es Ireland, da m.W. der Alexa Service für Europe West auch in Ireland läuft)

    Von Start der Lambda Function (4) bis zum Empfang der Antwort (13) haben meine Messungen (via Python time() und AWS Cloudwatch) ungefähr 1.1 - 1.2 Sekunden ergeben.

    Vom Eingang im Skillskript (6) bis zum Senden der Antwort (12) zurück an die Lambda Funktion sind es ungefähr 0.6-07 Sekunden (gemessen im Edomi Skill Skript mit microtime()). Das ist also quasi die lokale Verarbeitungszeit im eigenen Netzwerk (ohne Reverse Proxy Weiterleitung).

    Das ergibt also 0.4-0.6 Sekunden für die Übertragung zwischen Lambda und Homenetwork (4+5+12+13).

    Das bedeutet, bei einer Gesamtdauer eines Befehls (Ende Sprachbefehl bis zum Schalten des Geräts) von 2.5 bis 3 Sekunden werden für die Schritte 2-4 ca. 1.4 bis 1.9 Sekunden verwendet.

    Keine Ahnung wie es sich aktuell verhält, aber da die gefühlten Reaktionszeiten sich bei mir nicht merklich geändert haben, vermute ich, dass das Timing noch vergleichbar sein sollte.

    Einen Kommentar schreiben:


  • Teutone
    antwortet
    Mit dem Alexa Custom Skill von jonofe hatte ich das Delay nicht!

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Was sind eigentlich übliche Verzögerungen beim Einsatz dieses Skills.
    Ich habe gefühlt auch 3 Sekunden Verzögerung zwischen dem Ende meines Sprachbefehls und der Aktion.
    Bestätigung durch Alexa und das Einschalten des Lichts passiert ziemlich zeitgleich.

    Kann das Delay verkürzt werden oder liegt das evenuell sogar an der Verarbeitungsgeschwindigkeit des Echo bzw. Amazon.
    Habe den Echo neu und sonst noch keine Vergleichswerte obs mit anderen Systemen schneller geht.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von Teutone Beitrag anzeigen
    wenn der Skill mehrfach im System vorhanden ist
    Der Skill darf nur einmal vorhanden sein, es sei denn du verwendest unterschiedliche Amazon Accounts.
    Lediglich den 19001201 LBS musst du je Gerät einmal verwenden.

    Denselben Befehl in unterschiedlichen Räumen kannst du mit dem Last-Active-Echo-Device LBS (19001202) umsetzen.
    Dazu gibt es hier im Thread schonmal irgendwo einen Screenshot von mir, wenn ich mich richtig erinnere. (EDIT: Hier der LINK)

    Sollte eigentlich auf nem Futro laufen.

    Einen Kommentar schreiben:


  • Teutone
    antwortet
    Hallo jonofe ,

    danke für die Arbeit. Ich habe den Skill jetzt endlich auch mal in Betrieb genommen und musste feststellen das mein Futro S900 damit überfordert ist, wenn der Skill mehrfach im System vorhanden ist, somit entsteht ein Delay von 2-4 Sekunden. Ich habe alles geprüft und es liegt an meiner Maschine. Wäre eine EXEC Lösung schneller oder wird das schon so gemacht? Ich wollte jetzt bevor ich neue Hardware anschaffe lieber erstmal andere Möglichkeiten prüfen.

    Andere Sache: Kann ich das Devicebezogen irgendwie machen? Ich habe in fast jeden Raum ein Echo stehen und "Alexa, schalte Licht ein" würde dann nur den entsprechenden Raum schalten, im Moment muss ich mir für jede Lampe einen Namen überlegen, was doof ist.

    Danke dir

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von trollmar Beitrag anzeigen
    Aber warum hab ich das gemacht?
    Vielleicht deshalb: (?)

    SceneController und Powercontroller haben unterschiedliche Utterances

    Alexa, schalte #### ein/aus (PowerController)
    Alexa, (de)aktiviere #### (SceneController)

    Wobei beim SceneController evtl. auch das AUS/EIN funktioniert. Müsste man mal testen.

    Einen Kommentar schreiben:


  • HeMichael
    antwortet
    danke jonofe das wars. hab Port 80 anscheinend nach dem Test gleich wieder ausgemacht

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Sagt mal

    War bei mir lange nicht mehr auf der Logikseiten zu den alexa Devices.
    Damals habe ich für alle knx lichtszene einen switch genommen.
    Aber warum hab ich das gemacht?
    Ich komm nicht mehr drauf.



    ​​​​Welchen Vorteil haben scenes im Vergleich zu einem switch?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Sieht so aus als würde letsencrypt deinen Server zur Validierung nicht erreichen. Hast du Port 80 weitergeleitet?

    Einen Kommentar schreiben:


  • HeMichael
    antwortet
    einfach die /etc/pip.conf löschen dann läuft das Script durch. (der angegeben Workaround)

    https://community.letsencrypt.org/t/...roblems/109907

    nur schmeißt er jetzt bei der Zertifikatsgenerierung folgenden fehler:

    Code:
     - The following errors were reported by the server:
    
       Domain: XXX.ddns.net
       Type:   connection
       Detail: Fetching
       http://XXX.ddns.net/.well-known/acme-challenge/tJZ3-AA7Hp4ZXKnGn2IDy3kJS7nyQFwNC8nUL-hplc0:
       Error getting validation data
    
       To fix these errors, please make sure that your domain name was
       entered correctly and the DNS A/AAAA record(s) for that domain
       contain(s) the right IP address. Additionally, please check that
       your computer has a publicly routable IP address and that no
       firewalls are preventing the server from communicating with the
       client. If you're using the webroot plugin, you should also verify
       that you are serving files from the webroot path you provided.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Hi
    da ich gerade am Fehlersuchen (meiner CentOS7 Installation) bin... ist mir aufgefallen das dieser Fehler im PDF immernoch enthalten ist:
    Zitat von ThorstenGehrig Beitrag anzeigen
    Dabei ist mir ein kleiner Fehler in der Anleting aufgefallen:
    Auf Seite 33 steht:
    Code:
    touch /usr/local/edomi/www/data/log/edomi-smarthome-skill.log
    chmod 666 /usr/local/edomi/www/data/log/edomi-smarthome-skill.log
    tail -f /usr/local/edomi/www/data/log/edomi-smarthome-skill.log
    das File heißt jedoch /usr/local/edomi/www/data/log/edomi-smarthome-skill-PLv3.log ... damit klappt dann das log...
    Vielleicht kannst du ihn ja bei der nächsten version mal rausnehmen :-)
    Gruß
    Thorsten

    Einen Kommentar schreiben:

Lädt...
X