Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa4p3 für Dummies

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

    Alexa4p3 für Dummies

    Hallo in die Runde,

    vielleicht sind meine Fragen ja eher doofer Natur - aber ich komme einfach zu keinen "echten" Ergebnissen.

    Ich tüftle aktuell am AlexaPlugin herum und und es klemmt an der ein oder anderen Stelle.... und ich habe mich nun schon tagelang durch das Forum gewälzt, ohne endgültig die gesuchten Antworten zu finden. Daher habe ich mich zu einer Anmeldung entschlossen und hoffe meinen Aha-Effekt.

    Meine LinuxKenntnisse halten sich stark in Grenzen und durch SmartHomeNG habe ich nun endlich mal das PackAn gefunden, mich einmal mit Linux auseinanderzusetzen. Auch sind mir viele Zusammenhänge nicht klar - ja sogar eher total schleierhaft. Da ich vermutlich nicht der einzige Mensch hier bin, der sich wirklich unglaublich schwer mit der ganzen Sache tut, hoffe ich mit dem neuen Beitrag nicht nur mir, sondern vielleicht auch anderen weiterhelfen zu können.

    Aktuell scheitere ich zum Beispiel beim Versuch http://<meinelokaleIP>:8383/alexa4p3 aufzurufen. Hier erhalte ich den Fehler 500: The server encountered an unexpected condition which prevented it from fulfilling the request.

    Das hat für mich die Frage aufgeworfen, welche Voraussetzungen denn nun wirklich erfüllt sein müssen, damit die Seite lokal aufgerufen werden kann.

    Es ist nicht der einzige Fehlerpunkt auf meiner Liste und ich habe die leise Hoffnung, dass die Lösungen schnell eingängig werden, wenn der ein oder andere Hintergrund und Zusammenhang verstanden wurde. Vielleicht fällt dann auch die Forensuche bzw. das Verstehen anderer Lösungsansätze leichter.

    Zunächst versuche ich mal darzustellen, was ich so gebastelt habe:

    - Als Grundlage dient das fertige Image von OnkelAndy mit der Version 1.7.1, python 3.7.3 und ich verwende das knxd-Plugin
    - Ich habe aktuell nur eine test.yaml mit einer Testlampe. Diese kann ich via Putty, SmarthomeNGBackend und via SmartVisu erfolgreich schalten.
    - Das Alexa4p3 Plugin habe ich in den Ordner /usr/local/smarthome/plugins/ kopiert
    - In der Plugin.yaml ist das Plugin mittels plugin_name: alexa4p3 und service_port: 9000 aktiv gesetzt
    - Die Konfiguration der Testlampe in der test.yaml sieht wie folgt aus:

    Code:
    # test.yaml
    Lampe:
        LampeSchalten:
            type: bool
            knx_dpt: 1
            knx_cache: 0/4/17
            knx_send: 0/1/17
            visu_acl: rw
            alexa_name: Lampe
            alexa_device: Lampe_Test
            alexa_desctiption: LampeTest
            alexa_icon: OTHER
            alexa_actions: TurnOn TurnOff
            alexa_proactivelyReported: 'False'
            enforce_updates: 'true'
    - Entsprechend der Anleitung habe ich mir einen Amazon-Developer-Account zugelegt
    - Ich konnte auch den AlexaSkill (AlexaSmartHomeNG) erstellen.
    - Die PayloadVersion ist v3
    - Lambda ARN und Endpoint sind eingetragen
    - Unter AccountLinking sind neben den Eintragungen auch die RedirectURLs (3 Stück an der Zahl) eingepflegt
    - Die LambdaFunktion ist angelegt (mit Ausnahme des Ziels (ich konnte weder in der Dokumentation, noch im Web bei der Konfiguration die Möglichkeit finden, wie man als Ziel "CloudWatch Logs" hinzufügen kann)
    - Der Funktionscode wurde hineinkopiert
    - Die Umgebungsvariablen wurden gesetzt:
    SMARTHOME_AUTH <user>:<password> (jeweils gefüllt mit meinen Daten für die SmartHomeNG Umgebung) RICHTIG?
    SMARTHOME_HOST: https://www.ddnss.de/upd.php?user=<username>&pwd=<pass>&host=<domain> (hier also die Daten für meine DDNS-Zugang
    SMARTHOME_PATH: /alexa/ (müsste hier nicht alexa4p3 rein??)
    SMARHTHOME_PORT: 443 (ist auf der FritzBox freigegeben und leitet auf die Alexa weiter)
    - Der Skill ist aktiviert und auf meinem Smartphone hinterlegt

    Die Konfiguration von NGINX als ReverseProxy habe ich mir bisher gespart, da ich glaube, dass es wenig Sinn macht, das auf der gleichen Raspi zu installieren wie SmartHomeNG? Oder täusche ich?

    Aktuell kann ich das Backend nicht aufrufen und die AlexaApp findet keine neuen Geräte (sollte ja meine Testlampe finden).

    Was hab ich übersehen? Wo habe ich die falschen Schlüsse gezogen?
    Und mir erschließt sich irgendwie überhaupt nicht, wie man unter amazon die Tests ausführt.

    So - nu bin ich gespannt, wer es geschafft hat bis hierher zu lesen und ich hoffe, jemand kann mir mal den Baum im Wald zeigen....

    Vielen Dank schon einmal vorab!!
    Zuletzt geändert von bmx; 14.10.2020, 20:45. Grund: YAML bitte korrekt posten mit Einschluss mit [CODE] ... [/CODE]

    #2
    Jetzt hab ich gerade - hab ich vorher bestimmt 2 mal überlesen - die pdf-Anleitung von schuma gefunden (https://knx-user-forum.de/forum/supp...69#post1461569).

    Das ist je genial!!

    Aber das heißt auch - ich MUSS den NGINX verwenden - er ist nicht nur eine optionale Installation für eine sichere Verbindung. Stimmts?
    Also in diesem Falle eben erst einmal auf der gleichen Raspi, auf der auch SmartHomeNG läuft.

    Kommentar


      #3
      sooo - ich bin jetzt die pdf-Anleitung 2 mal durch und hab alles anhand der Beschreibung überprüft.

      Ich hab jetzt den NGINX installiert und konfiguriert und folgende Änderungen vorgenommen:

      - die Lambda-Funktion nach Anleitung neu generiert (ein Ziel fehlt aber immer noch)
      - die Umgebungsvariablen habe ich streng nach Anleitung mit meinen Daten befüllt

      An meinen Ergebnissen hat sich aber leider nichts geändert. Das BackEnd ist trotzdem nicht zu erreichen und die App findet weiterhin meine Testlampe nicht.



      UND! Ich kann meine SmartVisu nicht mehr erreichen - die Webseite hat die Verbindung abgelehnt (SmarthomeNGBackend geht noch)
      Zuletzt geändert von 2malmama; 14.10.2020, 18:20.

      Kommentar


        #4
        uiuiui - bin noch immer dran

        der Beitrag von AndreK mit dem Bugfix (https://knx-user-forum.de/forum/supp...56#post1502956) hat schon mal das AlexaBackend zum Laufen gebracht.

        Stand aktuell: Die Smartvisu ist weiterhin tot und die Lampe find ich noch immer nicht in der App.

        Kommentar


          #5
          Hallo,

          mal langsam.
          Erstmal die Lampe in der SV zum laufen bringen. Dann mit Alexa weiter machen.


          Zu Alexa aber:
          -Das Plugin wird normalerweise mit SH-ng mitgeliefert. Ich weiß nicht, warum du es kopieren musst
          -Der Port 443 muss von Außen erreichbar und auf den Raspi weitergeleitet werden.
          Konkret: vom Handy mit abgeschaltetem Wifi https://meinserver.dyndns.org aufrufen. Du solltest nach User/Pass gefragt werden. Wenn du die eingibst, die du bei AWS angegeben hast, solltest du rein kommen. Sonst nen Fehler 401.

          Wenn das nicht läuft, brauchst du bei AWS nichts versuchen.

          Gruß,
          Hendrik

          Kommentar


            #6
            https://knx-user-forum.de/core/image...EAAAICRAEAOw==​​​​​Hallo Hendrik,
            super schön von Dir zu lesen!

            Also - die Lampe ging ja über die SmartVisu zu schalten, nur dass durch die ganze Bastelei aufeinmal meine SmartVisu nicht mehr erreichbar ist.

            Interessanterweise ist, dass zeitweise auch mein SmartHomeNGBackend weg ist.... Ebenfalls mit dem Hinweis, dass die Verbindung abgelehnt wurde.
            Das lässt sich dann mit einem reboot der Raspi aber wieder erreichen.

            Das Schalten mit dem BackEnd funktioniert weiterhin.

            Die Portfreigaben habe ich in der FritzBox gesetzt. Die Ports 80 und 443 zeigen auf die Raspi.

            Auf dem Handy bekomme ich allerdings keine Verbindung (Seite nicht erreichbar). Nun habe ich mich bei meinem DDNS-Anbieter eingeloggt - hier wird mir angezeigt, dass die Ports geschlossen wären. Auch eine LogIn-Abfrage kommt nicht. Mmh - wie krieg ich sie also nun auf?

            Portfreigaben Fritz.jpg DDNS Ports zu.jpg


            Angehängte Dateien
            Zuletzt geändert von 2malmama; 15.10.2020, 19:44. Grund: Bilder nochmal eingepflegt

            Kommentar


              #7
              Hi Jaennine,

              ich gehe mal davon aus, das Du die Doku und insbesondere die Übersicht kennst?
              Dann wirst Du auch recht schnell feststellen, das die SmartVISU durch einen Apache2 Webserver unter Zuhilfenahme von PHP bereitgestellt wird. Das ganze läuft über Port 80. Wenn Du also die Portfreigabe der Fritzbox auf Port 80 machst, dann öffnest Du allen die Deine IP Adresse kennen den Port für die SmartVISU. Das halte ich für eine sehr schlechte Idee solange Du Dir kein fundiertes Linux Wissen angeeignet hast und das nicht absichern kann. Im Umkehrschluß bedeutet das, das Du eine andere Anwendung auf Port 80 nicht nutzen kannst.

              Das Thema Backend: Es gibt ein Plugin namens Backend das aber nicht mehr weiterentwickelt wird. An seine Stelle ist das Admin Interface getreten. Es ist verständlicher für andere wenn Du also entweder vom Admin Interface schreibst oder aber vom Backend Plugin.

              Über das Admin Interface kannst Du eigentlich mittlerweile alle Plugins konfigurieren und auch einen Neustart von SHNG einleiten um die frisch konfigurierten Plugins dann auch zu nutzen.

              Alexa ist ehr die Kür als die Pflicht. Da würde ich mich an Deiner Stelle erst dransetzen, wenn Du ein tieferes Verständnis entwickelt hast.

              Zwischenzeitlich empfehle ich einen VPN Zugang vom Handy, alles andere ist - nunja - waghalsig...

              Kommentar


                #8
                Hallo bmx,

                ja, die Übersicht kenne ich - ich hab mich sowohl durch diese Übersicht, wie auch durch jede Menge Einzelseiten und das Forum gewühlt.
                Ich habe glaub ich irgendwo auf halbem Weg den Überblick verloren. Mir fehlt so ein bisschen die Schritt-für-Schritt Anleitung mit Infos. Genauso, wie man am Anfang der Doku an die Hand genommen wird.

                Wenn ich Dich also richtig verstehe, habe ich - theoretisch zumindest - aller Welt nun Zugriff auf meine Testlampe gegeben (nur ich hab keinen weil die Visu nicht mehr mitspielt).

                Kann ich nicht das ganze auf einen "anderen Port" umleiten? Nur wegen der Sicherheit - ansonsten benötige ich bisher zumindest keinen Zugriff von Außen auf diesen Port.

                Mit Backend meine ich tatsächlich die Admin-Oberfläche - sorry, hier handelt es sich um eine fälschlicherweise verwendete Begrifflichkeit von mir. Ich meine natürlich das Admin Interface.

                Der Grund warum ich mich - mitunter - in Alexa so verbissen habe ist ein wenig kompliziert .

                Wir haben seit Jahren eine dumme KNX-Installation (programmiert mit der ETS). Ich habe nun verschiedene Ansätze zum Thema Visualisierung durch und überlege welche Version für mich die richtige ist. SmartHomeNG ist bei mir aktuell favorisiert. Voraussetzung für den dauerhaften Einsatz ist für mich unter anderem aber eben genau die Einbindung der Sprachsteuerung.

                Es bringt mir nämlich nix, wenn ich die Medion-Lampe via Alexa schalten kann, wenn ich dann doch nix schalten kann, weil der Schalter aus ist (der parallel verwendet werden können soll).

                Daher ist mir die Umsetzung - gerade in meinem Testprojekt - so wichtig.

                Wenn ich jetzt nicht nur die Lösungen für die einzelnen Probleme finde, sondern dabei auch noch den ein oder anderen Zusammenhang verstehen lerne, dann ist am Ende alles richtig gelaufen.

                Kommentar


                  #9
                  Zitat von 2malmama Beitrag anzeigen
                  ja, die Übersicht kenne ich - ich hab mich sowohl durch diese Übersicht, wie auch durch jede Menge Einzelseiten und das Forum gewühlt.
                  Gut. Das ist dannja schon mal die halbe Miete ;-)

                  Wenn ich Dich also richtig verstehe, habe ich - theoretisch zumindest - aller Welt nun Zugriff auf meine Testlampe gegeben (nur ich hab keinen weil die Visu nicht mehr mitspielt).
                  Jein. Über die Fritz kommst Du entweder auf die SmartVISU oder aber auf den NGinx (?) den Du stattdessen installiert hast.

                  Kann ich nicht das ganze auf einen "anderen Port" umleiten? Nur wegen der Sicherheit - ansonsten benötige ich bisher zumindest keinen Zugriff von Außen auf diesen Port.
                  Das ist der Punkt wo jemand antworten müßte, der sich mit Alexa und NGinx auskennt.
                  (OffTopic: Ich selbst nutze kein Alexa weil ich alles von Amazon ablehne da die unsere Wirtschaft schon jetzt ruiniert haben)


                  Wir haben seit Jahren eine dumme KNX-Installation (programmiert mit der ETS). Ich habe nun verschiedene Ansätze zum Thema Visualisierung durch und überlege welche Version für mich die richtige ist. SmartHomeNG ist bei mir aktuell favorisiert. Voraussetzung für den dauerhaften Einsatz ist für mich unter anderem aber eben genau die Einbindung der Sprachsteuerung.
                  Hast Du denn wenigstens eine knxproj Datei? Oder gar die ETS selber?

                  Es bringt mir nämlich nix, wenn ich die Medion-Lampe via Alexa schalten kann, wenn ich dann doch nix schalten kann, weil der Schalter aus ist (der parallel verwendet werden können soll).
                  Du willst also sicherstellen, das ein Befehl an Alexa die Lampe anzuschalten auch dazu führt, das der Aktor den Kanal auch auf jeden Fall einschaltet, richtig?


                  Kommentar


                    #10
                    Hallo,

                    "Geht nicht über die SV zu schalten" ist jetzt auch keine präzise Fehlermeldung...".

                    Wie auch immer: Du musst erst zusehen, dass der von mir geschilderte Test funktioniert.

                    Deine Anhänge funktionieren übrigens nicht:
                    Wenn der Test aus dem Internet nicht funktioniert, versuch mal
                    https://IP_DES_RASPI

                    Wenn das nicht geht:
                    Code:
                    netstat -tulpn |grep 443
                    Das sollte ergeben:
                    Code:
                    tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1325/nginx: master

                    Gruß,
                    Hendrik

                    Kommentar


                      #11


                      Zitat von bmx Beitrag anzeigen

                      Hast Du denn wenigstens eine knxproj Datei? Oder gar die ETS selber?
                      Ja, ich hab mir auch mal eine ETS 4 zugelegt.



                      Zitat von bmx Beitrag anzeigen

                      Du willst also sicherstellen, das ein Befehl an Alexa die Lampe anzuschalten auch dazu führt, das der Aktor den Kanal auch auf jeden Fall einschaltet, richtig?
                      Genau, denn alles andere macht in meinen Augen wenig Sinn wenn man KNX im Haus hat.



                      Zitat von henfri Beitrag anzeigen
                      "Geht nicht über die SV zu schalten" ist jetzt auch keine präzise Fehlermeldung...".
                      mmmh - aber das hab ich doch gar nicht gesagt.... reden wir aneinander vorbei?



                      Zitat von 2malmama Beitrag anzeigen
                      - Ich habe aktuell nur eine test.yaml mit einer Testlampe. Diese kann ich via Putty, SmarthomeNGBackend und via SmartVisu erfolgreich schalten.
                      Zitat von 2malmama Beitrag anzeigen
                      UND! Ich kann meine SmartVisu nicht mehr erreichen - die Webseite hat die Verbindung abgelehnt (SmarthomeNGBackend geht noch)


                      Zitat von henfri Beitrag anzeigen
                      Deine Anhänge funktionieren übrigens nicht:
                      ich hab sie oben noch einmal neu eingebunden - sie funktionieren jetzt



                      Der Tag heute hat folgende Erkenntnisse gebracht...:
                      • mein DDNS kommt überhaupt nicht nach auf die Raspi, auch eine Prüfung über den Anbieter selbst ist nicht erfolgreich - ich habe noch keine Erklärung dazu
                      • da die SmartVisu aber auch schon intern nicht erreichbar ist, ist das vermutlich das vorrangig zu lösende Problem
                      • meine verknüpften Laufwerke unter Windows - damit ich die yaml-Dateien auf meinem Windows-PC mit Notepad++ bearbeiten kann sind auch neuerdings gekappt , obwohl sie dauerhaft eingerichtet sind - so wie andere Netzlaufwerke hier (nach dem Neustart des Win-Rechners heute)
                      • auf der PlugIn Seite der Administrationsoberfläche fehlt der WebIf-Button für das SmartVisuPlugin. Ich könnte mich irren, aber ich glaube, der war da (vorher)

                      Ich vermute nun , dass ich mir mit dem NGINX irgendwas zerschossen habe (Vorher klappte ja auch noch die SmartVisu). Ich habe die Anleitung nach schuma heute noch mal in aller Ruhe durchgemacht.



                      Es ist alles - soweit ich das gesehen - habe ohne Fehler durchgelaufen, allerdings wollte ich am Ende das Backup machen - hierbei gab es den Hinweis, dass ich keine Berechtigung hätte.



                      - Beim Versuch netstat -tulpn |grep 443 auszuführen erhalte ich folgende Meldung:
                      Code:
                      Es konnten nicht alle Prozesse identifiziert werden; Informationen über
                      
                      nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.




                      Ich habe die raspi mehrfach neu gestartet.

                      Ich habe auch versucht mit systemctl status nginx.service mehr zu erfahren (bin mir nicht sicher, ob das zielführend ist - mir ist meist nicht klar, wann ich welches log aufrufen muss, um die richtigen Sachverhalte klären zu können). Folgende Meldung gab es:



                      Code:
                      ● nginx.service - A high performance web server and a reverse proxy server
                      
                      Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
                      
                      Active: failed (Result: exit-code) since Thu 2020-10-15 20:37:00 CEST; 36s ago
                      
                      Docs: man:nginx(8)
                      
                      Process: 743 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

                      Welchen Befehl muss ich ausführen um mehr über die Unzulänglichkeit meines Proxys zu erfahren?
                      Zuletzt geändert von 2malmama; 15.10.2020, 19:52.

                      Kommentar


                        #12
                        Wie schon geschrieben, bin ich bei Alexa raus. Aber ich würde beim aktuellen Stand an Deiner Stelle einfach deine *.yaml sichern und dann einfach noch mal frisch mit einem neuen Image beginnen.
                        Es gibt zwei Artikel auf der SmartHomeNG Webseite im Blog zum Thema Alexa. Das eine wäre der NGinx als Reverse Proxy und das andere die Einrichtung des Plugins. Dabei bin ich mir aber nicht sicher, ob der Blog Beitrag auch das alexa4p3 Plugin meint oder nicht. Außerdem könnte ich mir vorstellen, das die Einrichtung des NGinx als Reverse Proxy aktuell so nicht mehr klappt weil sich beim Thema Geo Ip wohl was geändert hat. Eventuell kann psilo Dir da weiterhelfen oder auch Hasenradball

                        Kommentar


                          #13
                          mmmh - das ist dann schon das dritte Neuaufsetzen. Naja. Man lernt ja bei jedem Mal was Neues dazu

                          Ich meine, die Beiträge, von denen Du berichtest, hab ich auch schon durch - das Thema mit den GeoIPs kommt mir so bekannt vor. Da bin ich wegen der Umwandlung der Daten aus der alternativen Quelle komplett ausgestiegen (ich verstehe noch nicht, wie mir der github-Link da weiterhelfen soll) - das hatte ich deswegen erst mal hinten angestellt.

                          Ich guck mal noch, ob wir eine Möglichkeit finden meine Visu wieder zum Laufen zu kriegen - vielleicht löst sich ja der Rest dann fast von selbst.

                          Und zur Not setze ich eben - wie Du vorgeschlagen hast - das System einfach noch mal neu auf.

                          Ich hoffe, dass bei der ein oder anderen Erkenntnis die ich hier gewinne auch manch anderer noch was hat.

                          Kommentar


                            #14
                            Ja, neu aufsetzen.
                            dann nur den nginx einrichten.
                            Dann erstmal dyndns und Router/portforwarding.

                            Kommentar


                              #15
                              ok

                              melde mich, sobald ich soweit bin

                              Kommentar

                              Lädt...
                              X