Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon Alexa Plugin

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

    Hallo Andreas,

    Schock am Abend..
    Nein, bei mir läuft es aktuell.

    Gruß Jürgen

    Kommentar


      Hallo Andreas,

      wie kommst Du zu der Erkenntnis, dass die Node 4.3 nicht mehr unterstützt wird ? Bei mir läuft wie bei Jürgen alles ohne Veränderung durch.

      Zitat von ASSR85 Beitrag anzeigen
      ...dass das Alexa Plugin nicht mehr funktioniert da die nodejs4.3-Laufzeit wird nicht länger unterstützt wird?
      Fall das wirklich so ist, was ich im Moment zumindest nich nachvollziehen kann wechsle einfach auf den neusten Stand von Node-JS der bei Amazon
      zur Verfügung gestellt wird, das bisschen was wir in der AWS-Lambda-Funktion machen sollte immer kompatibel sein. Falls nicht gib ein kurzes feed-back

      Gruss Andre


      Kommentar


        Zitat von ASSR85 Beitrag anzeigen
        hat heute auch jemand das Problem dass das Alexa Plugin nicht mehr funktioniert da die nodejs4.3-Laufzeit wird nicht länger unterstützt wird?
        Bei mir läuft alles.

        Kommentar


          Guten Morgen Jungs,

          die Aussage kam von der Lambda. Als Alexa nicht mehr reagierte bin ich zu AWS und habe die Lamdba testen wollen und dann stand es als Meldung dort. Ich kann auch in dem DropDown kein 4.3 mehr auswählen.

          Ich werde es gleich mal testen mit der neueren Node.

          Grüße

          Edit:
          Lambda.JPG

          Ich habe nun auf Node.ja 8.10 umgestellt und getestet: Es werden die Geräte wieder gefunden
          War vorgestern irgendwie nicht der Fall. Ich finde es wieder faszinieren dass mir das wieder passiert der
          relativ wenig Ahnung von dem ganzen Programmieren etc. hat

          Danke für die Unterstützung!!!
          Zuletzt geändert von ASSR85; 28.09.2019, 04:59.

          Kommentar


            Zitat von AndreK Beitrag anzeigen
            Hallo Andreas,

            wie kommst Du zu der Erkenntnis, dass die Node 4.3 nicht mehr unterstützt wird ? Bei mir läuft wie bei Jürgen alles ohne Veränderung durch.



            Fall das wirklich so ist, was ich im Moment zumindest nich nachvollziehen kann wechsle einfach auf den neusten Stand von Node-JS der bei Amazon
            zur Verfügung gestellt wird, das bisschen was wir in der AWS-Lambda-Funktion machen sollte immer kompatibel sein. Falls nicht gib ein kurzes feed-back

            Gruss Andre

            Hallo,

            also ich habe nun Node.js 8.10 und 10.x im wechsel versucht. Nach ca. zwei Stunden funktionieren befehle über Alexa nicht mehr.
            "Das Gerät reagiert gerade nicht". Der Lambda test sagt: Task timed out after x.01 seconds.
            Starte ich das Rapi neu...geht es wieder für ca. 2 Stunden. Kann sich jemand einen Reim daraus machen?
            Wie gesagt die Node.js 4.3 steht bei mir nicht mehr zur Auswahl.

            Unbenannt.JPG

            Danke und Grüße

            Kommentar


              Hallo ASSR85 ,

              ich glaube hier ein Henne / Ei - Problem zu erkennen. In diesem Fall würde ich auf die Henne tippen

              Deine Geräte wurden nicht gefunden - Du versuchst den Fehler zu finden und musst zwangsläufig auf die neue Node-Version umstellen.
              Nach der Umstellung hast Du das ursprüngliche Problem wieder bzw. etwas anders. (Ich glaube nicht, dass das mit der Node-Version zu tun hat)

              Ich würde hier auf Verbindungsprobleme oder Probleme auf Deinem Raspi tippen. Versuch doch mal von einem zweiten Rechner aus mit einem "Dauer-Ping"
              ob Dein Raspi immer erreichbar ist. Wenn Alexa dann wieder die Geräte nicht erreichen kann prüfe das Ping-Protokoll ob es hier ebenfalls Aussetzer gibt.

              Eventuell gibt es auch Probleme bei der Internetverbindung, hier würd ich mal das Router-Protokoll checken. Je nachdem über welchen DynDNS-Dienst Du Deine
              Public-Domain beziehst könnten auch hier Probleme auftreten. Um das zu prüfen kannst Du vielleicht auf der Seite deines DynDNS-Anbieters mal nachsehen ob andere das Problem auch haben. (Pauschal Verbindunsgabbrüche bzw. nicht weitergeleitete DNS-Anfragen). Evenuell kannst du bei nicht beantworteten Anfragen aus der Lambda über eine öffentliche Seite einen Ping auf deine https-URL durchführen und prüfen ob diese von extern erreichbar ist.

              Vielleicht hilft das den Fehler zu finden oder zumindest einzugrenzen

              Gruss Andre


              Kommentar


                Guten Abend,

                ich versuche jetzt schon im x-ten Anlauf alles einzurichten und scheitere immer an der selben Stelle:

                Der neu erstellten Lambda-Funktion wird nun ein Alexa Smart Home Skill zugeordnet. Klickt man diesen unter „Auslöser hinzufügen“ an, so gibt man nun die Anwendungs-ID (die UUID aus dem vorherigen Schritt) ein! Der Auslöser wird als aktiviert gesetzt!

                wie ordne ich den Smart Home Skill zu? Bei mir sieht der Designer so aus:

                Bildschirmfoto 2019-10-14 um 22.13.49.png

                Bei Auslöser hinzufügen öffnet sich eine neue Seite. Dort kann ich aber Alexa Smart Home Skill nicht auswählen.
                Was mache ich falsch?
                Ich hoffe es kann mir jemand helfen.

                Gruß Markus

                Kommentar


                  Hallo SpowiM ,

                  ich würde vorschlagen mal folgende Punkte zu prüfen:

                  - bist du was die Lambda-Funktion betrifft auf dem "Ireland"-Server ?
                  - Hast Du eine IAM-Role definiert und diese auch ausgewählt ?

                  Wenn Du den Auslöser hinzufügen ausführst muss "Alexa Smart Home" gewählt werden.
                  Dann bei der Application-ID die Skill-ID aus der Amazon-Developer-Console einfügen (sollte mit : amzn1.ask.skill....... beginnen)

                  Auch nach Änderungen der Oberfläche bei Amazon funktioniert das nach wie vor.

                  NodeJS 8.10 wurde heute auch abgekündigt, einfach auf 10.x umstellen, es läuft dann alles ohne Probleme weiter.

                  Bei weiteren Problemen probier ich gerne weiter zu helfen.

                  Gruss Andre

                  Kommentar


                    Moin Männer,

                    ich migriere auch gerade (bzw. versuche es ehrlicherweise wieder ans laufen zu bekommen...) - ist
                    Code:
                    2019-10-27 08:06:18 WARNING lib.plugin PluginWrapper __init__: Section alexa, classname alexap3, classpath plugins.alexa4p3
                    2019-10-27 08:06:18 ERROR lib.plugin Plugin 'alexa' exception during execution of plugin: module 'plugins.alexa4p3' has no attribute 'alexap3'
                    Traceback (most recent call last):
                    File "/usr/local/smarthome/lib/plugin.py", line 553, in __init__
                    exec("self.plugin = {0}.{1}.__new__({0}.{1})".format(classpath, classname))
                    File "<string>", line 1, in <module>
                    AttributeError: module 'plugins.alexa4p3' has no attribute 'alexap3'
                    2019-10-27 08:06:18 ERROR lib.plugin Plugin 'alexa4p3' from section 'alexa' exception: 'PluginWrapper' object has no attribute 'plugin'
                    Traceback (most recent call last):
                    File "/usr/local/smarthome/lib/plugin.py", line 145, in __init__
                    plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._gtrans)
                    File "/usr/local/smarthome/lib/plugin.py", line 571, in __init__
                    if isinstance(self.get_implementation(), SmartPlugin):
                    File "/usr/local/smarthome/lib/plugin.py", line 715, in get_implementation
                    return self.plugin
                    AttributeError: 'PluginWrapper' object has no attribute 'plugin'
                    schon bekannt?

                    Grund ist in der plugins/alexa4p3/plugin.yaml
                    Code:
                    classname: alexap3
                    durch überschreiben in der globalen plugin.yaml oder korrigieren in der plugin-eigenen yaml funktioniert es dann.

                    Ist https://github.com/smarthomeNG/plugi...aster/alexa4p3 der Upstream für PRs?

                    Grüße
                    Robert
                    Zuletzt geändert von Robert; 27.10.2019, 08:24.

                    Kommentar


                      das attribut für die etc/plugin.yaml heisst class_name mit underscore.. class_path brauchst Du dann auch.. Ansonsten geht bei korrekter pluginspezifischer plugin.yaml (an der du nichts selber verändert hast) dann in der /etc/plugin.yaml auch ein plugin_name als attribut..
                      Code:
                      class_name: Alexa4P3
                      class_path: plugins.alexa4p3
                      In der plugin.yaml des Plugins ist ein "classname: alexap3" korrekt und läuft bei mir.. Bitte poste mal Deine Pluginkonfigration aus der etc/...

                      Kommentar


                        Zitat von psilo Beitrag anzeigen
                        In der plugin.yaml des Plugins ist ein "classname: alexap3" korrekt und läuft bei mir..
                        Warum ist das korrekt? Was refenziert "alexap3" im aktuellen Code? Dass das "läuft" liegt eben an deiner expliziten Nennung von
                        Code:
                        class_name: Alexa4P3
                        class_path: plugins.alexa4p3
                        in der etc/plugin.yaml

                        Ich verstehe aber die Doku so, dass ein
                        Code:
                        alexa:
                            plugin_name: alexa4p3
                            #sonst nix!
                        ausreichen sollte.

                        Ist z.B. beim Mail-Plugin auch so:
                        Code:
                        mail:
                            plugin_name: mailsend
                            #sonst nix!
                        reicht, in der plugin-spezifischen plugin-yaml with "classname: SMTP" gesetzt und damit auch die richtige Klasse des Plugins vom Plugin-Wrapper instantiiert...

                        siehe auch _get_classname_and_classpath in lib/plugin.py
                        1. erst wird versucht über "classname = plg_conf.get(KEY_CLASS_NAME,'')" mit der in lib/constants.py definierten Konstante "KEY_CLASS_NAME = 'class_name'" aufzulösen
                        2. wenn das nicht klappt (ich will das ja nicht immer redundant setzen - denke das war der Gedanke...) wird es mit classname = self.meta.get_string('classname') eben aus der plugin-eigenen plugin-yaml gelesen
                        Insgesamt unschön ist die verwirrende Schreibweise mal "class_name", mal "classname". Zeile 272 könnte generell auch die Konstante nehmen. Dann müssten aber alle Plugin.yaml geändert werden... Oder man versucht es dort mit beiden Schreibweisen.
                        Zuletzt geändert von Robert; 27.10.2019, 13:08.

                        Kommentar


                          Warum ist das korrekt? Was refenziert "alexap3" im aktuellen Code? Dass das "läuft" liegt eben an deiner expliziten Nennung von
                          pluginname in der plugin.yaml des plugins gibt dessen namen an, korrekt.
                          ok jetzt verstehe ich, da ist ein typo, weil es dort alexap3 und nicht alexa4p3 heisst.. habe die 4 ergänzt!

                          hatte das übersehen, dass die 4 fehlt.. mit dem fix sollte "plugin_name: alexa4p3" gehen

                          Push: https://github.com/smarthomeNG/plugi...235136101b17d7
                          Zuletzt geändert von psilo; 27.10.2019, 14:17.

                          Kommentar


                            Ok, dann wäre das erledigt. :-)

                            Was imho noch bleibt, ist die inkonsistente Schreibweise von class_name/classname in der globalen (/etc) bzw. Plugin-spezifischen (/plugin/xxxx/) plugin.yaml. Gemeint ist jeweils das selbe.
                            Es sollte 'classname' in classname = self.meta.get_string('classname') mit KEY_CLASS_NAME ersetzt werden. Das bedeutet aber, dass die yaml aller Plkugins einmal angepackt werden muss.

                            Auch seltsam: Trotz Benutzung von alexa_description steht als "Beschreibung" in der Alexa-App bei den Geräten immer "SmartHomeNG".

                            Kommentar


                              Zitat von Robert Beitrag anzeigen
                              Auch seltsam: Trotz Benutzung von alexa_description steht als "Beschreibung" in der Alexa-App bei den Geräten immer "SmartHomeNG".
                              Ich führe mein Selbstgespräch mal weiter: Ist ein Bug in der V3 Implementierung: https://github.com/smarthomeNG/plugins/pull/292

                              Trotzdem bin ich mit der Benutzung noch unglücklich:
                              • ich habe zwei Zimmer: "Emmas Zimmer" und "Johannas Zimmer"
                              • jedes Zimmer hat
                                • Deckenlicht (alexa_name "Deckenlicht", alexa_description "Deckenlicht in Emmas Zimmer")
                                • einen "Lumibär" mit HUE-Lampe (alexa_name "Emmas Lumibär")
                                • Rollade (alexa_name "Rollade", alexa_description "Rollade in Emmas Zimmer")
                                • Fensterkontakt (alexa_name "Fenster", alexa_description "Fenster in Emmas Zimmer")
                                • einen eigenen Echo Dot
                              • im Alexa-Universum (App etc.), im Hue-Universum (App etc.), in smarthome und smartVISU sind die Zimmer definiert
                              Ziel:
                              • bei "Deckenlicht an" soll im betreffenden Zimmer das Deckenlicht an gehen
                                • leider sagt Alexa "ich kenne mehrere Geräte mit dem Namen "Deckenlicht" -> logo, im Nachbarzimmer ist noch keins - kann Alexa nicht irgendwie den räumlichen Kontext auflösen?
                                • witzigerweise funktioniert genau das bei "Licht an" -> leider wird der Lumibär automatisch als Lampe beim generellen "Licht an" ebenfalls gesteuert, weil das Gerät wohl als Lampe generell "Licht" zugeordnet wird
                              • bei "setze Rollade auf 50%" soll die Rollade in verfahren werden -> Alexa: "Ich kenne mehrere Geräte mit dem Namen"...
                              • gleiches beim Fenster(kontakt)
                              Alexa beherrscht also grundsätzlich einen räumlichen Kontext für "Licht", aber nicht für gleichnamige Geräte in unterschiedlichen Räumen!? Schade, denn Deckenleuchten, Rolladen und Fenster innerhalb eines Raumes müssen dann scheinbar immer noch im NAMEN "in Emmas Zimmer" o.Ä. ergänzt werden und dann obwohl man im Zimmer ist mit "Deckenlicht in Emmas Zimmer einschalten" dediziert aufgerufen werden!?

                              Gibt's da nen Trick?

                              Grüße
                              Robert

                              Kommentar


                                Hallo Robert,

                                ich benutze das Alexa Plugin nicht. Aber hasst du evtl. schon mal in der Alexa App Räume angelgt (Emma ,Johannes) und da die "Geräte" eingefügt die in den Räumen sind. Hatte gemeint das irgendwo mal gelesen zu haben. Die passende Alexa muß dem Raum natürlich auch in der App zugewiesen werden.

                                Gruß Danny

                                Kommentar

                                Lädt...
                                X