Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Smarthome Skill (Payload Version 3)

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

    Dank dir für die Recherche und deine ganzen Mühen. Bei mir war es wirklich nur ein Schuss ins Blaue, aber damit scheine ich ja Glück gehabt zu haben
    Gruß David

    Kommentar


      Zitat von shortyle Beitrag anzeigen
      Bei mir war es wirklich nur ein Schuss ins Blaue
      Ich hatte das bei gregorS Problem in Post 191 schon mal vorgeschlagen, bin mir aber auch nicht sicher, ob dies auch sein Problem gelöst hat.

      Kommentar


        So, fast geschafft.
        Bis einschließlich Pkt. 6.1 hat alles reibungslos geklappt.
        Wenn ich allerdings den Skill in Alexa aktivieren will erscheint "Verknüpfung mit EDOMI könnte diesmal nicht hergestellt werden."

        Probiert habe ich die Aktivierung über die App und im Browser...beides Mal mit dem Selben Ergebnis

        Kann es daran liegen, dass ich im Amazon Web Service eine andere E-Mailadresse angelegt habe als bei Amazon Developer bzw. bei Amazon Alexa?
        Gruß David

        Kommentar


          Kann ich mir nicht vorstellen.
          Wichtiger wäre was im Log des Skillskripts steht. Kommt da was an?

          Kommentar


            Im Log ist leider nichts drin...

            Zuletzt geändert von shortyle; 01.12.2018, 20:08.
            Gruß David

            Kommentar


              Dann ist auf der Alexa Seite irgendetwas nicht richtig konfiguriert. Bei der Skillaktivierung sollte eigentlich ein Authorization Request im Logfile ankommen.

              Kommentar


                Ok, dann beginne ich dort zu suchen und wenn alles nichts hilft, dann mache ich diesen Teil einfach nochmal.
                Gruß David

                Kommentar


                  Am besten mal mit der Prüfung der URL in der Lambda Funktion beginnen. Diese URL solltest du auch von außen aufrufen können und es sollte etwas im Log erscheinen. Wenn das funktioniert, dann ist das Problem vermutlich in der Verbindung von Alexa Skill zur Lambda Funktion.

                  Kommentar


                    Du meinst diese URL aus der Anleitung (natürlich angepasst auf meine DDNS)
                    Bildschirmfoto 2018-12-02 um 16.41.57.png
                    muss dort zwischen die ddns Adresse und "edomi-smarthome-skill-PLv3.php" eigentlich /edomi/ oder /alexa-dev/ stehen?

                    Aber beide Varianten führen nicht zum erfolgt und die Seite kann nicht angezeigt werden...dementsprechend auch kein Eintrag im Log.
                    Gruß David

                    Kommentar


                      Wenn du nach Anleitung vorgegangen bist, dann muss da /edomi/ stehen:

                      ProxyPass /edomi https://<IP_EDOMI_SERVER>/admin/lbs/alexa
                      ProxyPassReverse /edomi https://<IP_EDOMI_SERVER>/admin/lbs/alexa
                      Mach mal auf deinem EDOMI Server:

                      Code:
                      sudo echo "<?php phpinfo(); ?>" > /usr/local/edomi/www/admin/lbs/alexa/phpinfo.php
                      danach müsstest du z.B. folgenden Link von extern aufrufen können:

                      Code:
                      https://<DYNDNS_NAME>/edomi/phpinfo.php
                      Wenn das nicht funktioniert, dann ist dein ReverseProxy vermutlich das Problem.
                      Verwendest du apache oder nginx? Neugestartet hat du den Webserver nach den Änderungen, oder?

                      Kommentar


                        Ja hab alles nach Anleitung gemacht.

                        Aber in der Tat scheint was beim Reverseproxy nicht zu stimmen. Ich kann Apache nicht neustarten, da kommt nach folgenden Fehlermeldung

                        Ich bilde mir aber ein, dass ich beim einrichten des RP die Seiten https://<DYNDNS_NAME>/ und https://<DYNDNS_NAME>/phpinfo.php
                        aufrufen konnte.


                        Code:
                        root@raspberrypi:/home/pi# service apache2 restart
                        Job for apache2.service failed because the control process exited with error code.
                        See "systemctl status apache2.service" and "journalctl -xe" for details.
                        und darin steht wiederum
                        Code:
                        root@raspberrypi:/home/pi# systemctl status apache2.service
                        [COLOR=#FF0000][B]●[/B][/COLOR] apache2.service - The Apache HTTP Server
                           Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
                           Active: [COLOR=#FF0000][B]failed[/B][/COLOR] (Result: exit-code) since Sun 2018-12-02 16:47:05 GMT; 2min 53s ago
                          Process: 10741 ExecStart=/usr/sbin/apachectl start [COLOR=#FF0000][B](code=exited, status=1/FAILURE)[/B][/COLOR]
                        Dec 02 16:47:05 raspberrypi systemd[1]: Starting The Apache HTTP Server...
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: AH00526: Syntax error on line 13 of /etc/apache2/sites-enabled/000-default-le-ssl.conf:
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: Unknown Authz provider: IP
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: Action 'start' failed.
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: The Apache error log may have more information.
                        Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Control process exited, code=exited status=1[/B]
                        Dec 02 16:47:05 raspberrypi systemd[1]: [COLOR=#FF0000][B]Failed to start The Apache HTTP Server.[/B][/COLOR]
                        Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Unit entered failed state.[/B]
                        Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Failed with result 'exit-code'.[/B]
                        root@raspberrypi:/home/pi#
                        Code:
                        Dec 02 16:45:55 raspberrypi sudo[10699]: [B]      pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/bash[/B]
                        Dec 02 16:45:55 raspberrypi sudo[10699]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
                        Dec 02 16:47:05 raspberrypi systemd[1]: Starting The Apache HTTP Server...
                        -- Subject: Unit apache2.service has begun start-up
                        -- Defined-By: systemd
                        -- Support: https://www.debian.org/support
                        --
                        -- Unit apache2.service has begun starting up.
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: AH00526: Syntax error on line 13 of /etc/apache2/sites-enabled/000-default-le-ssl.conf:
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: Unknown Authz provider: IP
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: Action 'start' failed.
                        Dec 02 16:47:05 raspberrypi apachectl[10741]: The Apache error log may have more information.
                        Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Control process exited, code=exited status=1[/B]
                        Dec 02 16:47:05 raspberrypi systemd[1]: [COLOR=#FF0000][B]Failed to start The Apache HTTP Server.[/B][/COLOR]
                        -- Subject: Unit apache2.service has failed
                        -- Defined-By: systemd
                        -- Support: https://www.debian.org/support
                        --
                        -- Unit apache2.service has failed.
                        --
                        -- The result is failed.
                        Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Unit entered failed state.[/B]
                        Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Failed with result 'exit-code'.[/B]
                        Zuletzt geändert von shortyle; 02.12.2018, 17:56.
                        Gruß David

                        Kommentar


                          Mit dem Fehler kann der apache gar nicht starten. Da musst du das config file korrigieren. Bei der Installation war es ein phpinfo auf dem reverse proxy nicht auf den edomi Server. Den Fehler hast du vermutlich danach eingebaut.

                          Kommentar


                            Ok dank dir. Ich setz dort nochmal an.
                            Gruß David

                            Kommentar


                              So ich hab Apache einmal deinstalliert und dann wieder installiert

                              Code:
                              apt-get remove --purge apache2
                              apt -y install apache2
                              die Apache Seite ist intern und extern (über Port 80) erreichbar. Allerdings nicht von extern über https

                              Meine „000-default-le-ssl.conf“ sieht wie folgt aus.

                              Code:
                              <IfModule mod_ssl.c>
                              <VirtualHost *:443>
                              
                              ServerName ddnsvon.goip.de
                              ServerAdmin xxx@yyyyy.de
                              DocumentRoot /var/www/html
                              <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 10.0.0.0/24 54.240.197.0/24
                                  </RequireAll>
                              </Location>
                              SSLEngine on
                              SSLProxyEngine On
                              SSLProxyVerify none
                              SSLProxyCheckPeerCN off
                              SSLProxyCheckPeerName off
                              SSLProxyCheckPeerExpire off
                              ProxyPass /edomi https://10.0.20.10/admin/lbs/alexa
                              ProxyPassReverse /edomi https://10.0.20.10/admin/lbs/alexaU
                              ErrorLog ${APACHE_LOG_DIR}/error.log
                              CustomLog ${APACHE_LOG_DIR}/access.log combined
                              SSLCertificateFile /etc/letsencrypt/live/ddnsvon.goip.de/fullchain.pem
                              SSLCertificateKeyFile /etc/letsencrypt/live/ddnsvon.goip.de/privkey.pem
                              Include /etc/letsencrypt/options-ssl-apache.conf
                              
                              </VirtualHost>
                              </IfModule>
                              Ich habe dann auch nochmal „Require all granted“ aktiviert und die IPS von Amazon und meinem Netz auskommentiert. Leider auch ohne Erfolg.
                              Gruß David

                              Kommentar


                                Wenn https intern geht aber nicht extern, dann liegt es an der Weiterleitung des Ports 443.

                                Du musst "Require all granted" verwenden.

                                Kommentar

                                Lädt...
                                X