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

  • junibart
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Habe es gerade mal verifiziert. Wenn die Anführungszeichen mit einem \ escaped werden, dann funktioniert SSML wie erwartet.
    Werde dies in der nächsten Version automatisch durch den LBS machen.

    Hallo,

    ja, der Workaround mit den Backslashes funktioniert. Besten Dank für den Tip!

    Für mich reicht das dann hinsichtlich des Custom Skills, bis auf ein Detail:

    Wenn man einen Rolladen-Fahrbefehl abgesetzt hat, ist der Stop-Befehl "Alexa, starte edomi und stoppe den Rolladen im Wohnzimmer" sehr unpraktisch- bis der ausgesprochen und interpretiert ist, ist das Teil schon am anschlag (und nicht in der Position, die man haben will...). Ist es möglich, dass Alexa den Dialog aufrecht erhält, also nach dem Ausführen noch ca. 10 Sekunden zuhört, ob ein "Stopp" kommt, und das dann auch ausführt?

    Bei der täglichen Nutzung ist allerdings das "starte edomi und..." auch bei einfachen Licht-Befehlen doch ganz schön umständlich. Du hattest in einem früheren Beitrag angedeutet, dass Du Dir nach dem Custom Skill auch nochmal den Smarthome-Skill ansehen würdest- das wäre richtig gut.

    Ein einfaches "Alexa, schalte Licht am Esstisch ein!" würde die Akzeptanz in der Familie doch erheblich steigern. Das ist auch jetzt schon möglich (es gibt m.E. auch schon ein LBS dafür), aber eine Integration beider Skills wäre perfekt.

    Besten Dank für die Enwicklungsarbeit, die Du hier leistest.

    Grüße,
    Gunnar

    Einen Kommentar schreiben:


  • juliawf
    antwortet
    Nur kein Stress, es funktioniert alles, nur bei rote schrift auf grauen Hintergrund zucke ich leicht zusammen.

    Gruß Waleri

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Da ich derzeit beruflich unterwegs bin, kann ich mir das erst morgen anschauen. Für das Logging müssen auch noch zwei Variablen angelegt werden. Auch das werde ich am Wochenende anpassen.

    Einen Kommentar schreiben:


  • juliawf
    antwortet
    Morgen,
    Werde heute mein Glück mit austauschen versuchen.
    Kannst du mir vielleicht Sagen in welchen LBS es schon vorhanden ist? Es sind von dir 55 Stück in Downloadbereich.

    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD]2017-02-21 19:27:10[/TD]
     			[TD]383074[/TD]
     			[TD]?[/TD]
     			[TD]22989[/TD]
     			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 8 | Zeile: 148 | Undefined index: location[/TD]
     			[TD] ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-21 19:27:10[/TD]
     			[TD]384360[/TD]
     			[TD]?[/TD]
     			[TD]22989[/TD]
     			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 8 | Zeile: 156 | Undefined index: location[/TD]
     			[TD] ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-21 22:40:28[/TD]
     			[TD]406045[/TD]
     			[TD]?[/TD]
     			[TD]22989[/TD]
     			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 8 | Zeile: 148 | Undefined index: location[/TD]
     			[TD] ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-21 22:40:28[/TD]
     			[TD]407278[/TD]
     			[TD]?[/TD]
     			[TD]22989[/TD]
     			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 8 | Zeile: 156 | Undefined index: location[/TD]
     		[/TR]
    [/TABLE]
    So wie es aussieht habe ich ein generelles Problem mit Szenen.

    Gruß Waleri
    Zuletzt geändert von juliawf; 22.02.2017, 06:57.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Den Fehler schau ich mir mal an.
    Das mit dem Logfile habe ich in anderen LBS schon ungesetzt. Muss also nur die Loggingfunktion austauschen.
    Man kann dann einstellen, ob ein Logfile je LBS-Instanz oder ob ein gemeinsames Log mit Angabe der LBS-ID angelegt wird.

    Einen Kommentar schreiben:


  • juliawf
    antwortet
    Hallo André,
    Ich habe vorgestern die Bausteine und alexa.php aktualisiert, danke für die Umsetzung der Statusmeldungen.

    Heute früh habe ich gesehen, dass ich hin und wieder Fehler-log eintag bekomme.

    Code:
    2017-02-20 22:15:26 570729 ? 22989 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 8 | Zeile: 148 | Undefined index: location ERROR
    2017-02-20 22:15:26 571944 ? 22989 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 8 | Zeile: 156 | Undefined index: location ERROR
    In meinem Individual-log von Command Validator steht ungefähr 20x das hier:
    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 773933[/TD]
     			[TD] 22989[/TD]
     			[TD] debug[/TD]
     			[TD] LBS19000647 [v0.3.1]: LBS ended[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 778028[/TD]
     			[TD] 22989[/TD]
     			[TD] debug[/TD]
     			[TD] LBS19000647 [v0.3.1]: LBS started[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 779690[/TD]
     			[TD] 22989[/TD]
     			[TD] debug[/TD]
     			[TD] LBS19000647 [v0.3.1]: Array[LF]([LF] [group] => szene[LF] [name] => gutenacht[LF] [value] => gutenacht[LF] [queue] => 1424534575[LF])[LF][/TD]
     		[/TR]
    [/TABLE]
    mit einer Unterbrechung von:
    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 573682[/TD]
     			[TD] 22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: Sending message to Alexa Receiver:[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 573909[/TD]
     			[TD]22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 574126[/TD]
     			[TD]22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: group => szene[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 574381[/TD]
     			[TD]22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: name => gutenacht[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 574645[/TD]
     			[TD]22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: location =>[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 574846[/TD]
     			[TD]22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: status =>[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 575020[/TD]
     			[TD]22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: response => Gute Nacht[/TD]
     		[/TR]
    [TR]
    [TD]2017-02-20 22:15:26[/TD]
     			[TD] 575164[/TD]
     			[TD]22989[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000647 [v0.3.1]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
    [/TABLE]
    Läst sich da irgendwie eingrenzen welcher LBS mir da Schwierigkeiten macht.
    Was nicht schlecht wäre wenn mann die Möglichkeit hätte Bausteinen eigene ID oder Nummerierung zu verpassen damit Sie das auch mit ins Log reinschreiben.
    Allerdings denke ich, wird es ohne weiteres nicht gehen, und nur im log von Command Validator bringt es wahrscheinlich nichts.
    Da es bis Gestern alles einwandfrei lief habe ich bei den Meisten deinen LBS den Loglevel schon auf 0 gestellt, deshalb "nur" ca 20 Einträge. Soll ich alle wieder Aktivieren?

    Gruß Waleri

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Habe es gerade mal verifiziert. Wenn die Anführungszeichen mit einem \ escaped werden, dann funktioniert SSML wie erwartet.
    Werde dies in der nächsten Version automatisch durch den LBS machen.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    junibart : Versuch mal vor jedes Anführungszeichen einen Backslash zu setzen. Evtl. ist das schon die Lösung.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    okay, ich schau mir das mit SSML noch mal an. Zugegebenermaßen, habe ich keinen Test mit anderen SSML Tags gemacht, sondern lediglich das resultierende JSON mit der API Beschreibung verglichen. Evtl. geht da noch irgendwas mit den Sonderzeichen schief.

    EDIT: ich vermute es liegt an den Anführungszeichen, da sowohl der SSML Text als ganzes in Anführungszeichen eingeschlossen ist aber auch Anführungszeichen in deinem SSML Code verwendet werden. Werde morgen mal testen, wie man das lösen kann, so dass die Zuordnung eindeutig ist.
    Zuletzt geändert von jonofe; 19.02.2017, 23:26.

    Einen Kommentar schreiben:


  • junibart
    antwortet
    Hi Andrè,

    Zitat von jonofe Beitrag anzeigen
    Werde gleich mal ein Update hochladen. Das enthällt dann:[LIST=1][*]SSML Unterstützung: dazu muss der Response Text in <speak> </speak> Tags eingefasst sein
    Hmm... vielleicht mach ich auch was fasch, aber das funktioniert bei mir nicht.
    Wenn ausschließlich die <speak> </speak>-Tags und normaler Text in E8 stehen, wird der Text normal vorgelesen. Sobald weitere SSML-Tags dazukommen, z.B.
    Code:
    <speak><say-as interpret-as="digits"> %1%</say-as></speak>
    kommt die Fehlermeldung "Bei der Kommunikation mit dem angeforderten Skill ist ein Problem aufgetreten". %1% enthält eine 16-stellige Zahl. alexa.log schicke ich Dir per PN.

    Zitat von jonofe Beitrag anzeigen
    [*]Individuelle Alexa Rückmeldung auch bei Kommandos. Dazu einfach den Response Text an E8 setzen. Dies ist dann die Antwort nach Ausführen des Befehls. Wenn nichts angegeben ist, ist die Default Antwort "Okay"
    Funktioniert perfekt!

    Zitat von jonofe Beitrag anzeigen
    [*]Status-Rückmeldung auch bei Kommandos: Funktioniert genau wie unter 2. beschrieben, nur dass jetzt auch E7 und E9 genutzt werden können.
    Wichtig: Wird ein Statuswert verwendet, welcher durch das Schaltkommando verändert wird, so wird diese Änderung nicht berücksichtig, d.h. es wird immer der Wert vor Ausführung des Schaltbefehls zurückgegeben.
    Teste ich in den nächsten Tagen. Mss mir erst eine Anwendung einfallen lassen, ein paar Ideen gab es hier ja schon.

    Freue mich auf euer Feedback.
    Der Command-Validator macht echt Spaß... Vielen Dank für die Entwicklung!

    Beste Grüße,

    Gunnar

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Werde gleich mal ein Update hochladen. Das enthällt dann:
    1. SSML Unterstützung: dazu muss der Response Text in <speak> </speak> Tags eingefasst sein
    2. Individuelle Alexa Rückmeldung auch bei Kommandos. Dazu einfach den Response Text an E8 setzen. Dies ist dann die Antwort nach Ausführen des Befehls. Wenn nichts angegeben ist, ist die Default Antwort "Okay"
    3. Status-Rückmeldung auch bei Kommandos: Funktioniert genau wie unter 2. beschrieben, nur dass jetzt auch E7 und E9 genutzt werden können.
      Wichtig: Wird ein Statuswert verwendet, welcher durch das Schaltkommando verändert wird, so wird diese Änderung nicht berücksichtig, d.h. es wird immer der Wert vor Ausführung des Schaltbefehls zurückgegeben.
    Freue mich auf euer Feedback.

    Einen Kommentar schreiben:


  • junibart
    antwortet
    Zitat von junibart Beitrag anzeigen
    Das wäre wirklich gut- gerade z.B. bei der Ansage von Messwerten würde ich alexa gern die Aussprache vorgeben.
    Hallo,

    mit SSML hat es ja noch nicht geklappt- hier ein Workaround, der für Ziffern/Messwerte mit Dezimalpunkt funktioniert:

    Die Ansage einzelner Ziffern kann man mit Semikolons dazwischen erzwingen. Messwertausgaben mit Nachkommastelle nehme ich am Dezimalpunkt mit dem "String Zerteilen"-Funktion auseinander und lasse Vor- und Nachkommastellen getrennt mit dem Text "Komma" dazwischen vorlesen.

    Bin jetzt bestens über die Außentemperatur und die Min/max-Werte der letzten 12 Stunden im Bilde... ;-)

    Grüße,

    Gunnar

    Einen Kommentar schreiben:


  • juliawf
    antwortet
    Hi André,
    Ist verständlich erklärt, in meinem Fall ist es genau das was ich brauche, ich möchte Status vor Türen etc. angesagt bekommen welche Szenen unabhängig sind.
    Das wären Computer oder Drucker in Arbeitszimmer vergessen auszuschalten, Terrassentür ist noch offen oder Eingangstür nicht verriegelt.
    Alles andere ist natürlich etwas problematisch, da hast du recht.

    Gruß Waleri

    Einen Kommentar schreiben:


  • crewo
    antwortet
    jonofe Da du dich ja wirklich bestens mit Alexa auskennst, was hälst du von dieser Idee: https://knx-user-forum.de/forum/öffe...nternettraffic

    Wäre das auch mit edomi möglich, hatte da vor 1-2 Wochen mal gefragt nach einer Möglichkeit, ohne externen Zugriff aus dem Internet Alexa trotzdem zu nutzen, das scheint ein Weg zu sein. Wie ist deine Einschätzung zu der Lösung?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von juliawf Beitrag anzeigen
    André,
    eine Frage noch, ist es möglich eine Scene oder Befehl mit Statusansage zu kombinieren?
    z.B aktiviere Szene Nacht und als Antwort "Szene aktiviert, die Eingangstür ist nicht verschlossen".
    Ist es generell möglich?
    Hi Waleri,

    habe das gerade mal implementiert, allerdings wird es vermutlich nicht so einfach funktionieren.
    Das liegt daran, dass du vermutlich den Status des KOs haben möchtest, welches du mit dem Sprachbefehl gerade geschaltet hast.
    Dieser Schaltvorgang ist aber ja noch gar nicht ausgelöst, wenn der LBS aufgerufen wird, sondern wird erst durch den Ausgang A1/A2 getriggert.
    D.h. selbst wenn du auf den "Status Values" Eingang das richtig KO legst, dann hat das natürlich immer noch den Wert vor dem Schaltvorgang.

    Hoffe das war verständlich.

    Ich habe noch keine Idee, wie man das lösen kann. Denn es müsste eigentlich mit der Antwort gewartet werden, bis der neue Status nach dem Schaltenvorgang am "Status Values" Eingang ankommt. Und erst dann darf man den ResponseText an den Skill zurückschicken.

    Einen Kommentar schreiben:

Lädt...
X