alexa-fhem: amazon alexa smart home skill für fhem, api version 3

Begonnen von justme1968, 19 Dezember 2017, 22:16:30

Vorheriges Thema - Nächstes Thema

juemuc

Zitat von: juemuc am 25 Dezember 2017, 19:50:43
Hallo,

ich habe meinen "v2-Smart home skill" nun noch einmal als "v3 smart home skill" eingerichtet und die Skill-ID zusätzlich hinterlegt. In der Alexa-App konnte ich den 2. Skill auch problemlos aktivieren. Allerdings erkennt er keine Geräte. Im Logfile taucht auch kein Hinweis auf den v3-skill auf. Was habe ich vergessen?

Ps.: Ich nutze die Version 0.4.1

Viele Grüße
Jürgen

Hallo,

an alle die ein ähnliches Schicksal haben. Ein Blick auf den Trigger kann hilfreich sein. Ich hatte schlicht vergessen den neuen Skill dort ebenfalls einzutragen  8) :-[
Jetzt funktioniert alles bestens  ;D
In der App wird der Status der Geräte nun angezeigt. Kann man den Status auch schon per Sprachnachricht abfragen? Wenn nein, ist dafür ein Customskill notwendig oder fehlt das "nur" in der fhem-api?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

justme1968

ja. kann man. aber es ist leider nicht dokumentiert was alles geht und welcher wortlaut nötig ist.

,wie ist die temperatur von/in ...' geht zum beispiel.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

juemuc

Zitat von: justme1968 am 26 Dezember 2017, 13:24:18
ja. kann man. aber es ist leider nicht dokumentiert was alles geht und welcher wortlaut nötig ist.

,wie ist die temperatur von/in ...' geht zum beispiel.
Hallo Andre,
das Abfragen der "IST"-Temperatur nutze ich schon. Mir geht auch um die Soll-Temperatur und den Status der Schalter ("AN/AUS"). Geht das auch? In der App werden die Werte ja angezeigt.
Die Frage nach "Welchen Status hat Schalter1" kommt die Antwort "Das weiß ich leider nicht".

Viele Grüße
Jürgen 
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

viegener

Alexa und SOMFY-Rolläden - Fragen und Vorschlag

Frage: Ich bekomme meine SOMFY-Rolläden zwar über Alexa gesteuert, allerdings wird jeder Befehl mit der Antwort "Ich weiss nicht was schief gelaufen ist", die Steuerbefehle werden aber gesendet und auch die Abfrage der Position im nodejs-Skript geht.

Vorschlag: In fhem.js wird bei den SOMFY-Rolläden grundsätzliche die invertierung der Position eingeschaltet (allerdings auch erst seit ich dem Somfy-Modul ein Kommando position hinzugefügt habe). Allerdings sollte die Invertierung nur erfolgen, wenn das Attribut positionInverse am Rolladen nicht auf 1 gesetzt ist.

Mein Vorschlag für die Codeänderung (ab Zeile 2093 in fhem.js):


      } else if( s.Internals.TYPE == 'SOMFY' ) {
        if ( (! s.Attributes.positionInverse) || ( s.Attributes.positionInverse != '1') ) {     
          this.mappings.CurrentPosition.invert = true;
          this.mappings.TargetPosition.invert = true;
        }
        this.mappings.TargetPosition.cmd = 'pos';
      }


Frage2: Hat schon jemand die Position eines Rolladens erfragen können?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

justme1968

@juemuc: du musst probieren. 'ist xy eingeschaltet' und 'auf welche temperatur ist xy gestellt' gingen schon mal. da das alles auf amazon seite noch ziemlich neu ist brauchen die wahrscheinlich noch etwas bis alles geht.

@wenn alexa mit einem fehler antwortet ist eventuell noch ein fehler in der antwort bzw. der status rückmeldung.

zur invertierung: bei homekit und auch bei alexa ist es wie bei den hm rollläden: 100 ist offen und 0 ist zu.
bei SOMFY war es mal so das es genau umgekehrt war und deshalb wird invert immer gesetzt.

wie genau verhalten sich die SOMFY jetzt? was bedeutet 0 und 100 ohne gesetztes attribut und was bedeuten sie mit gesetzte attribut?

wichtig: mit dem attribut kann man nicht umkehren was man sagen muss sondern nur das was an fhem gesendet wird. d.h. um den rolladen zu schliessen muss man immer 0% sagen.

der grund warum man das nicht umdrehen kann: homekit und alexa verstehen (manchmal) auch auf und zu und setzen dies selber automatisch auf 100 und 0 um. wenn man jetzt versucht mit invert die gesprochenen 0 und 100 umzudrehen passt das nicht mehr zum automatischen 0 und 100 vom zu und auf kommando.

zur abfrage: versuch mal 'auf wieviel prozent ist xy gestellt'
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

wie oben vermutet: der fehler lag in der rückmeldung. bitte in zeile 1930 und 2474 jeweils "brightness" durch "percentage" ersetzen. dann sollte der status in der app stimmen und alexa nicht mehr mit einem fehler antworten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

viegener

Zitat von: justme1968 am 26 Dezember 2017, 17:23:53
@wenn alexa mit einem fehler antwortet ist eventuell noch ein fehler in der antwort bzw. der status rückmeldung.

zur invertierung: bei homekit und auch bei alexa ist es wie bei den hm rollläden: 100 ist offen und 0 ist zu.
bei SOMFY war es mal so das es genau umgekehrt war und deshalb wird invert immer gesetzt.

wie genau verhalten sich die SOMFY jetzt? was bedeutet 0 und 100 ohne gesetztes attribut und was bedeuten sie mit gesetzte attribut?

wichtig: mit dem attribut kann man nicht umkehren was man sagen muss sondern nur das was an fhem gesendet wird. d.h. um den rolladen zu schliessen muss man immer 0% sagen.

der grund warum man das nicht umdrehen kann: homekit und alexa verstehen (manchmal) auch auf und zu und setzen dies selber automatisch auf 100 und 0 um. wenn man jetzt versucht mit invert die gesprochenen 0 und 100 umzudrehen passt das nicht mehr zum automatischen 0 und 100 vom zu und auf kommando.

zur abfrage: versuch mal 'auf wieviel prozent ist xy gestellt'

Also wenn positionInverse nicht gesetzt sind die Werte - 0 ganz offen 100 Rolladen unten  (200 geschlossen)
mit positionInverse auf 1 ist 0 ganz geschlossen - 100 ganz offen
(Ja, positionInverse habe ich mal für di homebridge eingebaut)

Aus meiner Sicht sollte mein Vorschlag deshalb passen?

Auch die Frage nach auf wieviel Prozent... geht leider auch nicht - "... unterstützt das nicht"

Bezüglich Status-Rückmeldung: Den Fehler habe ich gefunden:

in server.js steht an Zeile 2472 "brightness" statt "percentage" beim PercentageController:

Also ab Zeile 2469 sollte da stehen (nur Zeile 2472 geändert):


  var context = {
    "properties": [ {
      "namespace": NAMESPACE_PercentageController,
      "name": "percentage",
      "value": target,
      "timeOfSample": new Date(Date.now()).toISOString(),
      "uncertaintyInMilliseconds": 500
    } ]
  };


Dann sagt Alexa auch OK
Momentan kann ich nur erkennen, eine response gesendet wird, die soweit auch vernünftig aussieht.


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Zitat von: justme1968 am 26 Dezember 2017, 17:25:21
wie oben vermutet: der fehler lag in der rückmeldung. bitte in zeile 1930 und 2474 jeweils "brightness" durch "percentage" ersetzen. dann sollte der status in der app stimmen und alexa nicht mehr mit einem fehler antworten.

Jetzt warst Du schneller und die zweite Stelle hatte ich noch gear nicht gefunden - Super Danke!
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

justme1968

den code für positionInverse baue ich für das nächste update ein. auch in homebridge-fhem.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

juemuc

Hallo Andre,

vielen dank für Deine Tipps. 'auf welche temperatur ist xy gestellt' funktioniert schon  :D 'ist xy eingeschaltet' funktioniert noch nicht.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

dk3572

Hallo,
ist es eigentlich möglich die vorhandene Version einfach von v2 auf v3 umzustellen?
Bei der Payload Version gibt es ja die Option.
Danke und schönen Feiertag noch....

juemuc

Zitat von: dk3572 am 26 Dezember 2017, 20:21:12
Hallo,
ist es eigentlich möglich die vorhandene Version einfach von v2 auf v3 umzustellen?
Bei der Payload Version gibt es ja die Option.
Danke und schönen Feiertag noch....
Ich habe vorsichtshalber einen neuen (zweiten) Skill definiert und den alten deaktiviert. Falls etwas nicht funktioniert, kannst Du sonst nicht mehr zurück.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

xobd

geht so etwas auch für die Heizung?

,Alexa, setze die temperatur von/in auf auto'
also z.B: auto, off, boost, eco, comfort
FHEM 5.8 auf Raspberry 3
CUL 868 (1.62) / MAX Cube 868 (V 1.24.01 a-culfw Build 204) / MAX! / Z-Wave / FRITZ!DECT 200

justme1968

mit dem smart home skill/api nur über den umweg mit dummys und routinen.

mit dem custom skill bist du flexibler. musst aber immer fhem extra aufrufen.

eventuell geht es demnächst über custom modi im ThermostatController. das habe ich mir noch nicht angeschaut und ich weiß nicht wie gut alexa damit umgehe kann.

ich habe aber eine fußbodenheizung und es ist mir eh suspekt warum man die ganze zeit von hand an der heizung rumfummeln will. das sollte alles automatisch gehen. hat also keine große priorität.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

balli1187

Danke für das Modul und die Weiterentwicklung!
Im einganspost steht, dass es für v2 keine neuen Features geben wird. Da bleibt dann natürlich die Frage was nich geplant ist und hinzukommen soll?

Keine Ahnung ob das hier der richtige Ort ist aber so etwas wie einen ,,ideensammlungsthread" zu Alexa-FHEM hab ich auf die Schnelle nicht gefunden:
Im zusammenhang mit dem Modul gab/gibt es ja auch immer wieder die Frage, ob man aus FHEM heraus etwas über den Echo ausgeben kann. Da das Modul ,,nur" die Antworten des Servers wiedergibt, würde es ja immer verneint.
Vielleicht ist es ja mit der neuen ,,Telefonie"-Funktion des Echo irgendwie möglich? Quasi eine Nachricht fmulieren, die dann vom Echo wie eine Nachricht aus einem anderen Raum interpretiert wird. Leider fehlen mir die Fähigkeiten dies zu prüfen oder umzusetzen aber vielleicht kann jemand mit den passenden Kenntnissen die Idee aufgreifen?! Oder auch erkläre, weshalb das blödsinn ist 😉

Grüße, Stephan
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero