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

    Ah ok hab verstanden. Ich dachte man muss auch die "Testskills" eine Certification starten.

    Ich dachte daher würde mein Problem mit Alexa kommen. Wenn ich Alexa sage: Starte Edomi.... bekomme ich Fehlermeldung: Bei er Kommunikation mit dem angeforderten Still ist ein Problem aufgetreten. (wie schon weiter oben geschrieben)

    Im Log kommt keine Meldung.

    In meiner Alexa App steht:

    Unexpected Communication Issue Edomi
    Request Indentifier: amzn1.echo-api.cc usw

    There was a problem communicating with requested skill



    Kommentar


      Hast du dein Echo Device mal neu gestartet (stromlos schalten)
      Sieht für mich so aus, als würde der Invocation Name nicht mehr erkannt.
      Ggf. mal mit einem anderen ausprobieren, z.B. "smarthome"

      Kommentar


        Werde ich nachher mal testen. Danke

        Kommentar


          Hi,

          habe jetzt mal alles romgetestet. Alexa neu gestartet, Invitation Name geändert.....

          Allerdings funktioniert es nicht, bekomme immer noch die gleiche Fehlermeldung...

          Noch jemand eine Idee??

          Gruß

          Kommentar




            ich hatte in der alexa.php für die ID des Skills ein Zeichen beim kopieren vergessen.


            wenn ich alexa einen Befehl gebe dann stürzt dabei mein Edomi ab und pausiert:

            Code:
             2017-04-02 15:23:16	768728	?	5018	Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000646.php | Fehlercode: 1 | Zeile: 109 | Call to undefined function msg_get_queue()	FATALERROR 2017-04-02 15:23:16	790430	?	4978	Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 1 | Zeile: 157 | Call to undefined function msg_get_queue()	FATALERROR 2017-04-02 15:23:16	834964	MAIN	4947	Prozess LOGIC läuft nicht mehr!	FATALERROR 2017-04-02 15:23:32	219454	MAIN	5150	ACHTUNG: EDOMI wurde unerwartet beendet: FATALERROR in LBS 19000647 | EDOMI wird pausiert	ERROR

            Eigentlich ist Alexa bis zum em letzten Update wunderbar bei mir gelaufen.... Ich wollte jetzt allerdings mal Statusmeldungen testen und habe deswegen ein Update gemacht.

            Kommentar


              Das sollte aber dann im Log stehen, dass die Autorisierung fehlschlägt. Hast du mal ins Log geschaut?

              Keine Ahnung was du gemacht hast, aber die Fehlermeldung ist schon sehr oft hier diskutiert worden.
              Es scheint kein php-process installiert zu sein.

              Sind das jetzt Fehlermeldungen von einem neuen EDOMI System? Denn auch die vorherigen Alexa LBS haben schon message queues eingesetzt.

              yum install php-process

              sollte den o.g. Fehler beheben.

              Kommentar


                Hi,


                im log stand nichts davon.


                Nein war kein neues Edomi System. Jetzt funktioniert es aber.

                Danke

                Kommentar


                  Hi,

                  ich wollte mal nachfragen wie Ihr die Statusabfragen realisiert. Ich habe jetzt mal mehrere Varianten getestet, leider will es nicht richtig funktionieren.
                  Ich hab folgende Logik zum testen eingesetzt:

                  22.png


                  Wenn ich Alexa nun Frage: "Alexa frage Edomi wie die Temperatur im Büro ist" passiert nichts.

                  Gruß benji

                  Kommentar


                    Statusabfrage habe ich meinen Fehler gefunden. Habe mir "Intent" mal angeschaut und gesehen, dass Group als Temperatur Status kommt mit Leerzeichen.


                    Ich habe da aber noch zwei andere Fragen... hab den Thread schon durchsucht aber nichts gefunden.


                    1. Wenn ich einen Dimmwert setze über Edomi beträgt mein Value 100 wenn ich 100% sage, im Wert entspricht dies aber nur ca. 40%. Der Wert müsste ja eigentlich 255 sein. Bei den Rolladen funktioniert dies, wenn ich dort 100% sage kommt 255.

                    2. Ich würde meine Rolladen lieber Jalousie nennen da es eigentlich Jalousien sind :-) Hierzu würde doch reichen wenn ich dies in Utterances anpasse, quasi alles Rolladen gegen Jalousie tauschen sowie die Funktion zu Rolladen in der alexa.php oder ist es nicht so einfach getan???


                    Gruß Benji

                    Kommentar


                      Zitat von benji Beitrag anzeigen

                      1. Wenn ich einen Dimmwert setze über Edomi beträgt mein Value 100 wenn ich 100% sage, im Wert entspricht dies aber nur ca. 40%. Der Wert müsste ja eigentlich 255 sein. Bei den Rolladen funktioniert dies, wenn ich dort 100% sage kommt 255.
                      Derzeit ist es tatsächlich so, dass der eigentlich Prozentwert ausgegeben wird. Wenn du die Skala 0-255 brauchst, dann musst du im Moment mit 2.55 multiplizieren.

                      Zitat von benji Beitrag anzeigen
                      2. Ich würde meine Rolladen lieber Jalousie nennen da es eigentlich Jalousien sind :-) Hierzu würde doch reichen wenn ich dies in Utterances anpasse, quasi alles Rolladen gegen Jalousie tauschen sowie die Funktion zu Rolladen in der alexa.php oder ist es nicht so einfach getan???
                      Ich würde an deiner Stelle lediglich das Wort "Rolläden" in den Utterances in "Jalousie" ändern und sonst nichts verändern. Kannst Utterances auch kopieren, dann sollte es sowohl mit Rolläden als auch mit Jalousie funktionieren. Lediglich beim Group Eingang E3 des Command Validators benutzt du weiterhin Rolläden. Dies wird ja nur zu Identifizierung gemacht und hat keinen Einfluss auf die Sprachbefehle.



                      Kommentar


                        Zitat von jonofe Beitrag anzeigen

                        Derzeit ist es tatsächlich so, dass der eigentlich Prozentwert ausgegeben wird. Wenn du die Skala 0-255 brauchst, dann musst du im Moment mit 2.55 multiplizieren.
                        Hm Ok, hab ich auch schon getestet. Nachteil ist, dass bei Neustart von Edomi die Lampen alle den Hwert = 0 bekommen da ja value leer und somit leer * 2,5 = 0
                        Muss ich mir mal überlegen.


                        Zitat von jonofe Beitrag anzeigen
                        Ich würde an deiner Stelle lediglich das Wort "Rolläden" in den Utterances in "Jalousie" ändern und sonst nichts verändern. Kannst Utterances auch kopieren, dann sollte es sowohl mit Rolläden als auch mit Jalousie funktionieren. Lediglich beim Group Eingang E3 des Command Validators benutzt du weiterhin Rolläden. Dies wird ja nur zu Identifizierung gemacht und hat keinen Einfluss auf die Sprachbefehle.

                        Ok, dann werde ich es kopieren und mal teste. Denkst du, dass irdgendwann noch Funktion Lamelle integriert wird???

                        Gruß Benjamin

                        Kommentar


                          Als kleine Preview: Der Smarthome Skill ist so gut wie fertig und läuft bei mir recht zuverlässig, inkl. Discovery der Smarthome Devices, die jeweils durch eine LBS Instanz des Alexa Smarthome Command Validators abgebildet werden:
                          Screenshot from 2017-04-03 22-38-21.png




                          E1 ist die Verbindung zum Alexa Receiver
                          E2 ist der Loglevel
                          E3 ist eine eindeutige frei wählbare ID
                          E4 ist der Name, den man auch später bei den Sprachkommandos verwendet
                          E5-E15 erlaubt die Konfiguration welche Befehle von diesem virtuellen Smarthome Device unterstützt werden. Dazu müssen die enstprechen Eingänge auf 1 gesetzt werden. Bsp.: E5=1 E6=1 bedeutet ein einfaches Schalt-Device
                          E16-E20: Hier werden die entsprechenden Statuswerte angelegt, um z.B. Statusabfragen zu beantworten oder bei Increment/Decrement Befehlen auch den neuen Zielwert berechnen zu können.

                          A1 Hier wird der Discovery JSON String an den Receiver LBS gesendet. Dieser baut dann bei einem eingehenden Discovery Request ("Alexa, finde meine smarten Geräte") die Liste der Devices zusammen.
                          A2 wird 1 sobald ein Befehl für dieses Device empfangen wurde
                          A3 Enthält die Device ID des empfangenen Befehls (wird eigentlich nicht benötigt)
                          A4 bekommt die On/Off Befehle
                          A5/A6 bekommt die Prozentwerte (z.B. Dimmen); A5 ist dabei der neue Dimwert und A6 der Deltawert, sofern ein Increment/Decrement Befehl empfangen wurde
                          A7/A8 funktioniert wie A5/A6 nur mit Temperaturwerten
                          A9 funktioniert derzeit nur mit US Alexa Service in Englisch, sollte dann aber sofort funktionieren, wenn von Amazon in deutsch umgesetzt
                          A10 Timestamp des letzten validierten Befehls
                          A11 Die Response als JSON auf den letzten empfangenen und validierten Befehl. Dieser wird auch per MessageQueue an den Alexa Receiver weitergereicht und von dort an die Lambda Funktion gesendet.

                          Gefühlt ist die Reaktionszeit des Smarthome Skills etwas länger als die vom Custom Skill, was vermutlich am Umweg über die Lambda Funktion liegt. Diese reicht den Befehl allerdings nur an den Smarthome Skill durch, den ich in PHP implementiert habe.

                          Vom Ende des Sprachbefehls bis zur Schaltaktion sind es ungefähr 3 Sekunden.
                          Habe es gerade mal verglichen mit dem Custom Skill. Dort sind es ca. 1,8 Sekunden bis zur Schaltaktion.
                          Ich werde bald mal durchmessen, wo die Zeit verbraten wird, ggf. lässt sich da noch etwas optimieren.

                          Ein Sprachbefehl bis zur Bestätigung durch das Echo Device läuft also wie folgt ab: (Bsp.: Ich: "Alexa, schalte die Deckenleuchte ein." Alexa: "OK")

                          Sprachbefehl => Echo Device => Alexa Voice Service => Lambda Smarthome Skill Adapter => PHP Smarthome Skill => Alexa Receiver => Alexa Smarthome Validator (Schaltaktion + Antwort generieren) => Alexa Receiver => PHP Smarthome Skill => Lambda Smarthome Skill Adapter => Alexa Voice Service => Echo Device => Ohren des Benutzers

                          Falls Interesse vorhanden ist, würde ich als nächstes die Doku angehen...

                          Zuletzt geändert von jonofe; 03.04.2017, 22:08.

                          Kommentar


                            Zitat von jonofe Beitrag anzeigen
                            Falls Interesse vorhanden ist, würde ich als nächstes die Doku angehen...


                            Aber natürlich. Ich wollte heute schon für Lichtbefehle den LBS 19000660 bei mir integrieren. So gut ich das Custom Skill auch finde ist das SmartHome schon etwas genialer.

                            Also ich bin voller Vorfreude auf dein Werk......

                            Gruß Benji

                            Kommentar


                              Zitat von benji Beitrag anzeigen



                              Aber natürlich. Ich wollte heute schon für Lichtbefehle den LBS 19000660 bei mir integrieren. So gut ich das Custom Skill auch finde ist das SmartHome schon etwas genialer.
                              Also ich bin da nicht ganz so sicher. Der Smarthome Skill ist schon ziemlich eingeschränkt von den Sprachkommandos. Einziger Einfluss, den man hat ist der Name des Devices, der Rest ist komplett von Amazon vorgegeben. Ich finde der Custom Skill hört sich vom eigentlichen Befehl natürlicher an, wobei das "starte edomi, und ..." natürlich dann nicht so schön ist. Naja, kann ja dann jeder selbst für sich entscheiden ... und man kann es ja dann auch mischen ...

                              Kommentar


                                Das mag sein, ich werde es definitiv mal testen wenn du es online hast...... Eigentlich wäre für mich die Traumlösung, dass SmartHome Skill durch ein eigenes Zustrom Still in Alexa ersetzen zu können. Quasi wie ein Favorit wählen und dann gehen alle SmartHome Sachen an dieses CustomSkill.

                                Dadurch könnte man sich dann den Aufruf des Skills sparen. Aber ich glaube das bleibt auch ein Traum.

                                Kommentar

                                Lädt...
                                X