Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Custom Skill für EDOMI (LBS 19000646 und 19000647)

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

    Ich doktore jetzt schon über 1 Monat an dem Smarthome Skill und bekomme es einfach nicht zum Laufen.
    Vielleicht kann mir jemand weiterhelfen?

    Ich habe das Smarthome Skill aktiviert.
    Wenn ich jedoch Alexa nach meinen Smarten Geräten suchen lasse, wird nur meine Homebridge gefunden.
    Das verherende ist, dass auch überhaupt nichts im Log steht.

    Wenn ich von außen auf die URL https://dyn.net/edomi/edomi-smarthome-skill.php aufrufe, finde ich wenigstens folgenden plausiblen Logeintrag
    Received (JSON) Event from alexa@amazon
    =========================================

    No OAUTH Access Token received
    Wenn ich nach Geräten suche, kommt nicht einmal irgend eine Logmeldung dazu.

    Edomi_Alexa1.jpg

    so sieht meine Config aus

    Code:
    // #######################
    // ### Smarthome Skill ### 
    // #######################
    
    $user_id   = '';
    $client_id = 'amzn1.application-oa2-client.xxx'; 
    
    // ###############
    // ### General ### 
    // ###############
    
    $debug   = true;
    $targets = array(
        array(
            'ip' => '192.168.1.66',
            'protocol' => 'tcp',
            'port' => 8000,
            'status' => true
        )
    );
    Ich bräuchte den kleinsten Logeintrag, dass ich weiß wo ich ansetzen muss.

    Receiver Log

    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD]2017-06-02 21:08:00[/TD]
     			[TD]766434[/TD]
     			[TD]13448[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000646 [v0.5]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
    [TR]
    [TD]2017-06-02 21:08:00[/TD]
     			[TD]766804[/TD]
     			[TD]13448[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000646 [v0.5]: {"Device001":{"id":"Device001","name":"Lampe","actions":["turnOn","turnOff"]}}[/TD]
     		[/TR]
    [TR]
    [TD]2017-06-02 21:08:00[/TD]
     			[TD]767075[/TD]
     			[TD]13448[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000646 [v0.5]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
    [/TABLE]
    Smarthome Command Validator Log

    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD]2017-06-02 21:07:59[/TD]
     			[TD]948296[/TD]
     			[TD]13448[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000806 [v0.1]: LBS started (290)[/TD]
     		[/TR]
    [TR]
    [TD]2017-06-02 21:07:59[/TD]
     			[TD]955148[/TD]
     			[TD]13448[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000806 [v0.1]: LBS ended (290)[/TD]
     		[/TR]
    [/TABLE]
    Trotz Loglevel 8 kommt hier gar nix verwertbares raus

    Kommentar


      solange im edomi-smarthome-skill.log nicht autaucht funktioniert die Kommunikation von Amazon Alexa zu deinem Server nicht, d.h. etwas stimmt in der Alexa Konfiguration nicht. Ohne ein paar Screenshots von den o.g. Seiten kann man da nicht viel sagen.

      Kommentar


        muss man noch etwas ändern, wenn man einfach sagen möchte
        Alexa fahre den Rollladen im Büro rauf/runter ?
        Oder sollte das klappen? Nimmt man für rauf/runter den On/Off Ausgang

        Kommentar


          Rollläden werden vom Smarthome Skill nicht unterstützt.

          Kommentar


            wäre es möglich für das Smarthome Skill jeweils ein Beispiel zu den Eingängen anzuführen (vom Sprachbefehl).
            Aus der Hilfe des Bausteines, kann ich nicht viel herauslesen.

            Was hat es mit dem Status E20-E29 auf sich?

            Ich würde gerne über das Skill die Lautstärke um x% erhöhen können.
            Zuletzt geändert von eriche; 03.06.2017, 15:03.

            Kommentar


              Im Moment wird nur der Status percent und Status temperature verwendet und diese beiden Eingänge sind nur wichtig für die Erhöhungs- und Verringerungsbefehle. Also zum Beispiel: Alexa Erhöhe die Temperatur um 2 Grad. Dazu muss der LBS natürlich wissen wie hoch die aktuelle Temperatur ist, um am Ausgang direkt die neue Ziel Temperatur zu haben.

              in dem konkreten Fall also deine Status Lautstärke auf den Status percent Eingang und am percent Ausgang kommt dann die neue percent Angabe raus.

              Kommentar


                Erstmal vielen Dank für die super Anleitung. Hat auf Anhieb alles funktioniert (bis auf, dass man keine 2 Receiver definieren sollte mit gleichen Port...)!

                Eine Übersicht mit Beispielen, was mit den Smarthome Skills möglich ist und was nicht wäre echt super.

                Was ich noch nicht ganz verstanden habe ist folgendes:
                - Wenn ich eine Lampe habe die ich dimmen und an/ausschalten will, brauch ich dann zwei unterschiedliche Smart Home Validatoren? Wenn ich nur einen definiert habe und E5-E9 auf 1 setze, dann kann er zwar an/aus, aber nicht dimmen (Das Gerät XY unterstützt diesen Befehl nicht). Zwei SH Validatoren mit dem gleichen Namen funktioniert ja leider nicht.
                - Aktuell sage ich nur: Schalte die Lampe ein. Wie kann ich dem Smart Home Validator noch den Raum beibringen (z.B. Schalte die Lampe in der Küche ein)?

                Kommentar


                  eigentlich sollte es genau mit E5 bis E9 auf 1 funktionieren. Dann dürfen die anderen Eingänge nicht auf 1 stehen. Dann sollte ein command validator ausreichend sein.

                  Kommentar


                    Dann muss ich das gleich nochmal testen. Danke für die schnelle Rückmeldung!

                    Wie ist das mit der Raumangabe bei den Smart Home Skills?

                    Kommentar


                      Was meinst du mit raum Angabe?
                      kannst den Raum in den Device Namen integrieren, z. B. "Fernseher im Esszimmer"

                      Kommentar


                        ich habe einmal
                        "Box im Wohnzimmer" - für Lautsprecher
                        und dann
                        "Licht im Wohnzimmer"

                        Die Box läßt sich einwandfrei ein/ausschalten.

                        Aber wenn ich sage

                        "Alexa, schalte das Licht im Wohnzimmer ein" sagt Alexa immer, dass sie 2 Geräte mit dem Namen gefunden hat.
                        Wenn ich nach der Frage welches Gerät meinst du "Licht im Wohnzimmer" sage, schaltet sie das Licht ein.

                        Nur warum kommt es überhaupt zu dem Problem?

                        Kommentar


                          ich denke weil die beiden Namen zu ähnlich sind.

                          Kommentar


                            bitte laßt uns Erfahrungen austauschen zu den Sprachbefehlen.

                            Egal ob

                            Lautsprecher im Wohnzimmer
                            Licht im Wohnzimmer
                            Rolllladen im Wohnzimmer

                            Alexa kann das nicht unterscheiden,...

                            Welche Schlüsselwörter kann ein Smarthome Skill verstehen?
                            vom klang her sind die 3 aber schon eindeutig unterschiedlich.

                            Alexa bockt jedoch.

                            Deshalb meine Bitte - machen wir doch eine Befehlssammlung (wortlaut) zu den Eingängen des Smarthome Skills.

                            P.S.
                            hier einige dokumentierte Befehle (ungetestet)
                            Ihr Smart Home-Gerät ein- oder ausschalten "Schalte [Smart Home-Gerät / Gruppenname] ein / aus."
                            Eine Szene aktivieren / deaktivieren "Schalte [-Gerät / Gruppenname] ein / aus."
                            Die Helligkeit kompatibler Lampen einstellen "Stelle [Smart Home-Gerät / Gruppenname] auf [##]%."

                            "Erhelle / dimme [Smart Home-Gerät / Gruppenname]."
                            Ein Thermostat steuern "Stelle [Smart Home-Gerät / Gruppenname] auf [##] Grad."

                            "[Erhöhe / verringere] die Temperatur von [Smart Home-Gerät / Gruppenname]."
                            Die Geschwindigkeit des Ventilators ändern "Stelle meinen Schlafzimmerventilator auf [##]%."
                            Überprüfen Sie Ihr Thermostat "Wie hoch ist die Temperatur hier?"

                            "Wie ist mein Thermostat eingestellt?"
                            Kontrolle eines Türschlosses "Ist die Eingangs-/Hintertür geschlossen?“

                            "Schließe die Eingangs-/Hintertür"
                            P.P.S.

                            na toll - genau was ich befürchtete

                            Das Kommando muss den Namen des angesprochenen Geräts enthalten.
                            Aus der Gerätebezeichnung und der Aktion leitet das System ab, was zu tun ist.
                            Naheliegende Begriffe wie Licht oder Temperatur werden ignoriert.
                            Aus dem Satz „Das Licht im Wohnzimmer einschalten“ verwertet Alexa aktuell nur „Wohnzimmer“ und „einschalten“.
                            Zuletzt geändert von eriche; 04.06.2017, 07:59.

                            Kommentar


                              Hallo jonofe !

                              Ich habe beim Einrichten vergessen den Cronjob für die Aktualisierung des SSL-Zertifikates anzulegen, da ich nur die Anleitung für nginx durchgegangen bin. Die Angaben dazu sind nur im Apache-Teil vorhanden (gestern nochmals heruntergeladen und daher ein kleiner Verbesserungsvorschlag von mir).

                              Nun aber zu meinem Problem: Ich hatte ein Mail bekommen, dass mein Zertifikat abläuft (fehlender Cronjob). Diesen habe ich letzten Sonntag dann eingepflegt und, wenn ich als Noob es richtig verstehe, hätte sich am Montag um 2:30Uhr das Zertifikat erneuern müssen. Da dies aber nicht geschehen ist, habe ich gestern per SSH folgenden Befehl am Raspberry versucht "/opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log". Dieser wurde zuerst mit "permission denied" verweigert, danach habe ich es mit sudo -i und obigem Befehl nochmals ohne Erfolg probiert.
                              Gibt es ein Log wo ich nachsehen kann oder muss ich, wie bei meiner Synology, auch den Port 80 für diesen Zweck weiterleiten?

                              Danke und LG

                              Kommentar


                                Du musst den nginx Prozess erst stoppen, dann Befehl ausführen und dann nginx nochmal starten.

                                Liegt daran weil nginx den Port 443 belegt.

                                gruß

                                Kommentar

                                Lädt...
                                X