alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

justcallmeal

...ich würde das Attribut löschen, das das log erzeugt.

z.B.:

attr alexa alexaFHEM-log ./log/alexa-%Y-%m.log

vg,
al
HM-Sen-DB-PCB, HM-Sec-SCo, HM-MOD-Re-8, HM-SEC-SC-2, HM-Sen-MDIR-O, HM-LC-Sw1PBU-FM, HM-LC-RGBW-WM, HM-ES-PMSw1-SM, HM-LC-Sw1-DR

justme1968

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

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

The-Holgi

Das Attribut löschen funktioniert nicht, hatte ich schon versucht.
/dev/null scheint zu funktionieren. Danke für den Tipp

Gruß Holger
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

skycrack

Hallo,

Begeistert über die Neuen Funktionen wollte ich diese gleich mal testen, da ich einige Anwendungsfälle dafür habe.
Aber Alexa führt meine Routinen nicht aus.

Habe das Dummy wie im Wiki angelegt,
Das Gerät erschein in der Alexa App und ich kann unter Smarthome dieses auch als Aktor auswählen.
Die Routine testen kann ich auch.
Die Zustandsänderung ist beim Gerät in der App auch ersichtlich ( Offen, Geschlossen )
Nur die Routine reagiert nicht darauf.
Hat eventuell noch jemand einen Denkanstoß ?

define voicetrigger1 dummy
attr voicetrigger1 alexaName alle Fenster
attr voicetrigger1 alexaProactiveEvents 1
attr voicetrigger1 genericDeviceType contact
attr voicetrigger1 homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED
attr voicetrigger1 setList open closed


Danke
Gruß Rene

gvzdus

Was sagt das Alexa-Log, wenn Du den Status änderst? Und: "alexaProactiveEvents" steht auf 1?

cpet

Zitat von: skycrack am 19 Januar 2021, 12:43:49
Hallo,

Begeistert über die Neuen Funktionen wollte ich diese gleich mal testen, da ich einige Anwendungsfälle dafür habe.
Aber Alexa führt meine Routinen nicht aus.

Habe das Dummy wie im Wiki angelegt,
Das Gerät erschein in der Alexa App und ich kann unter Smarthome dieses auch als Aktor auswählen.
Die Routine testen kann ich auch.
Die Zustandsänderung ist beim Gerät in der App auch ersichtlich ( Offen, Geschlossen )
Nur die Routine reagiert nicht darauf.
Hat eventuell noch jemand einen Denkanstoß ?

define voicetrigger1 dummy
attr voicetrigger1 alexaName alle Fenster
attr voicetrigger1 alexaProactiveEvents 1
attr voicetrigger1 genericDeviceType contact
attr voicetrigger1 homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED
attr voicetrigger1 setList open closed


Danke
Gruß Rene

Hast du auch ein notify oder doif eingerrichtet welches auf den Trigger vom Dummy reagiert und deine Routine dann schaltet?
RPI 3 mit 1x SCC 868MHz für FS20; 1x SCC 433MHz SlowRF; 1x SCC 868MHz Homematic;
Rollladen-/Markisensteuerung, Fußboden-Heizungssteuerung 
diverse Licht-/Schaltungssteuerungen
ALEXA-Integration;
Statusmeldungen über  Fernseher

MadMax-FHEM

#4401
Zitat von: cpet am 19 Januar 2021, 16:25:02
Hast du auch ein notify oder doif eingerrichtet welches auf den Trigger vom Dummy reagiert und deine Routine dann schaltet?

Hier geht darum, dass man das (neuerdings) mit der Alexa-App machen kann.

Also Auslöser einer Routine nicht Sprache sondern eben ein Ereignis eines "Smart Home Geräts" (wie z.B. Fenster-Sensor)...

@skycrack: welche alexa-fhem Version läuft?

Ansonsten kann ich nur sagen: bei mir geht es mit einem (ähnlichen/diesem) dummy...
EDIT: bzw. vor ein paar Tagen/Wochen noch. Nutze das nicht wirklich, war nur "Spielerei"... Ich habe lieber meine Automatisierungen an EINER Stelle (in meinem Fall fhem). Automatisierungen verteilen macht es schwer "Fehler" (oder "komisches Verhalten") zu finden/analysieren...

@skycrack: was ist der Vorteil (in deinem Fall) davon das in Alexa/Amazon zu machen, statt (wie cpet angemerkt) per notify/DOIF in fhem? Wenn es Sprachausgaben sind, das ginge mit dem Echodevice-Modul. brigens auch das Starten von Routinen aus fhem heraus... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

skycrack

Zitat von: MadMax-FHEM am 19 Januar 2021, 16:33:18
Hier geht darum, dass man das (neuerdings) mit der Alexa-App machen kann.

Also Auslöser einer Routine nicht Sprache sondern eben ein Ereignis eines "Smart Home Geräts" (wie z.B. Fenster-Sensor)...

@skycrack: welche alexa-fhem Version läuft?

Ansonsten kann ich nur sagen: bei mir geht es mit einem (ähnlichen/diesem) dummy...
EDIT: bzw. vor ein paar Tagen/Wochen noch. Nutze das nicht wirklich, war nur "Spielerei"... Ich habe lieber meine Automatisierungen an EINER Stelle (in meinem Fall fhem). Automatisierungen verteilen macht es schwer "Fehler" (oder "komisches Verhalten") zu finden/analysieren...

@skycrack: was ist der Vorteil (in deinem Fall) davon das in Alexa/Amazon zu machen, statt (wie cpet angemerkt) per notify/DOIF in fhem? Wenn es Sprachausgaben sind, das ginge mit dem Echodevice-Modul. brigens auch das Starten von Routinen aus fhem heraus... ;)

Gruß, Joachim

Vorab vielen Dank.
Jochen hat recht, ich möchte die Routinenfunktion in der Alexa App verwenden.
Das Event kommt bei der Alexa in der APP auch an, was bedeutet, dass der "Contactsensor" dort auch richtig den Staus anzeigt oder wechselt. Nur die Routine reagiert nicht darauf.
Es läuft die Version 0.5.57.
Vielleicht kann das ja mal kurz einer bei sich nachstellen.

@Joachim
Ich habe Geräte, welche nicht durch Fhem steuerbar sind jedoch aber über die Alexa APP. Ein Trigger in Fhem und ein Aktor über Routinen kommt mir da sehr gelegen. Natürlich auch die
einfache Möglichkeit dort noch eine Sprachausgabe hinzuzufügen hatte Charme.
Wenn du jetzt schreibst, dass ich ebenso auch per Fhem über das Echodevice Routinen starten kann, wäre es ja eine super Lösung.
Kann man eigentlich auch einen geschriebenen "Sprachbefehl" an Alexa über Fhem absetzen?
Ich schaue gleich mal nach den Möglichkeiten vom EchoDevice Modul.

Danke, Rene

MadMax-FHEM

Ja, Sprachbefehl wie gesprochen geht auch:

set ECHO_XXX textcommand schalte XYZ ein

set ECHO_XXX textcommand spiele hits von 123

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

gvzdus

Moin Rene,
also: "MadMax" ist der mit dem Echo-Device, ich bin der mit der Routine in der Alexa-App :-)
Geht beides.

Für Alexa-Routine guckst Du Dir bitte noch mal meinen Post an (Logfile, Attribut).

Meine Alexa-Routinen sind:
- Im Büro: Nach 2 Stunden Bewegungslosigkeit im Büro wird der Strom abgeklemmt. Die Frühschicht ist aber so konzentriert, dass sie tatsächlich diese Zeit auch nicht in den Erfassungsbereich kommt. Alexa sagt nun kurz vorher: "Achtung, Achtung, der Strom schaltet ab".

- Ein Shelly 2.5 steuert die 15-Euro-China-Kugelventilpumpe. Wenn der Rasensprenger umgesetzt werden soll, sagt man "Alexa: Wasser Pause". Diese Routine schaltet das Wasser für 90 Sekunden ab. Vor Ablauf kommt die klare Warnung "Wasser marsch!".

skycrack

Grandios,
habe nun alle beide Module am laufen und auch um einige graue Haare reicher.
Funktioniert wirklich gut, den Rest bekomme ich auch noch hin. Zumindest geht das schalten von Aktoren über Fhem. Meine Frau ist Glücklich, dass sie das Hoftor und Garagentor wieder per Tablet öffnen kann. :-)

Eine Frage habe ich jedoch noch. Von Fhem zu Alexa geht ja nun. Kann ich auch den Status eines Alexa Gerätes Abfragen und verwerten?
Also eine Audioanfrage an Alexa " ist Garagentor eingeschaltet" bringt mir ja den Status, welchen ich eigentlich gerne im Fhem darstellen möchte. ( Tor offen oder geschlossen ).

Besten Dank und viel Anerkennung an  eure investierte Zeit

Gruß Rene

justme1968

nein. das geht nicht. deshalb IMMER fhem als zentrale verwenden und nur geräte kaufen die fhem kompatibel sind. alles andere (sprachassistent, harmony, ...) nur als zusätzliches frontend verwenden und auch keine 'intelligenz' dort abbilden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

volschin

Nach der Änderung von 0.5.57 zu 0.5.58 funktioniert Alexa-fhem leider nicht mehr, wenn man nicht den ssh-Proxy benutzt.

[1/24/2021, 9:55:46 PM] Server listening on: http://:::3000 for direct connections
/usr/local/lib/node_modules/alexa-fhem/lib/server.js:379
    this._config.sshproxy.server = server;
                                 ^

TypeError: Cannot set property 'server' of undefined
    at Server.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:379:34)
    at Object.onceWrapper (events.js:421:28)
    at Server.emit (events.js:315:20)
    at emitListeningNT (net.js:1352:10)
    at processTicksAndRejections (internal/process/task_queues.js:79:21)
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

justme1968

ups...

sorry. die zeile gehört da überhaupt nicht hin. habs repariert.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

SonOfAbaddon

#4409
Guten Abend!

ich bin seit einigen Jahren dankender FHEM Nutzer und seit dem Sommer auch mit der ALexa-Anbindung unterwegs. Am Wochenende wollte ich mich daran machen KODI über Alexa ansprechbar zu machen. Automatisierte Meldungen an KODI zu versenden läuft, die Verbindung steht. Durch genericDeviceType media wird mir KODI im der Alexa-App nur als Fernseher ohne Funktion angezeigt.
Ich finde keinen Ansatz, wie ich die Befehle "Stop, Pause, Play, Taste 'links' (zum 10sek Vorspulen),... im KODI def unterbingen soll und wie ich meine Alexa-Definition anpassen muss. Hat jemand dafür einen Tipp, wo ich anfangen kann bzw. ein paar Codeschnipsel als Beispiel? Ich vermute, dass mir das HomebridgeMapping oder ein erweitertes AlexaMapping fehlt. Meine derzeitigen Definitionen:

defmod LibreELEC KODI 192.168.50.245 tcp
attr LibreELEC alexaName Media Center
attr LibreELEC genericDeviceType media
attr LibreELEC homebridgeMapping PlaybackController:playback,values=Play;;Pause;;Stop;;Previous;;Next
attr LibreELEC icon kodi@3399FF
attr LibreELEC room System->Funktionen
attr LibreELEC updateInterval 60


defmod Alexa alexa
attr Alexa alexaFHEM-config ./alexa-fhem.cfg
attr Alexa alexaFHEM-log ./log/alexa-%Y-%m-%d.log
attr Alexa alexaMapping #Characteristic=<name>=<value>,...\
On=verb=schalte,valueOn=an;;ein,valueOff=aus,valueToggle=um\
\
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
Hue=verb=stelle,valuePrefix=auf,values=rot:0;;grün:128;;blau:200\
Hue=verb=färbe,values=rot:0;;grün:120;;blau:220\
\
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\
Saturation=verb=sättige,values=AMAZON.NUMBER\
\
TargetPosition=verb=mach,articles=den;;die,values=auf:100;;zu:0\
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\
\
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
#Weckzeit=verb=stelle,valuePrefix=auf;;für,values=AMAZON.TIME,valueSuffix=uhr
attr Alexa alexaTypes #Type=<alias>[,<alias2>[,...]]\
light=licht,lampen\
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
attr Alexa devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
attr Alexa echoRooms #<deviceId>=<room>\

attr Alexa fhemIntents #IntentName=<sample utterance>\
gutenMorgen=guten morgen\
guteNacht=gute nacht
attr Alexa group Alexa
attr Alexa icon alexa
attr Alexa persons #<personId>=<name>
attr Alexa room System->Funk
attr Alexa stateFormat alexaFHEM


Für einen Denkanstoß wäre ich jederzeit zu haben!
FHEM in Docker auf HP T620, MQTT über Mosquitto, HomeMatic, Alexa, KODI, FritzBox, diverse gelötete HM-UNI- & ESP-Sensoren/Aktoren