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

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

Vorheriges Thema - Nächstes Thema

justme1968

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

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

Pjg

BananaPI, CUL 433, Somfy RTS, Hue LWL001, Hue LWB004, HM-CFG-LAN, HM-LC-SW2-FM

xanker

Vielen Dank an justme1968! Die Einrichtung verlief bei beiden Skills ohne Probleme.
Ich habe zwar den kompletten Thread durchgelesen, aber eine Frage bleibt offen: Ist es möglich beide Skills parallel laufen zu lassen?  Da ja beide Skills unterschiedliche Application IDs haben, bräuchte ich ja auch zwei alex-fhem Prozesse mit zwei verschiedenen Ports...
@justme1968 ich meine mich zu erinner dass du ein paar Seiten zuvor erwähnt hast, dass sich das mit einem alexa-fhem Prozess lösen lässt, aber wie?
Vielen Dank schonmal!
Maintainer vom flex Style.
Intel NUC mit fhem in Docker Container | Homematic | SIGNALduino 433MHz | HUE Bridge | Harmony HUB | lepresenced | alexa-fhem ...

justme1968

ja. beide skills können und sollen gleichzeitig laufen. mit einer aws lambda routine für beide skills und einem alexa-fhem prozess.

in config.json wird nur die application id des custom skills eingetragen. für den home automation skill ist die oauth client id relevant.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Pjg

hat jemand noch einen Tipp, wie ich die Lautstärke über Harmony absolut steuern kann?
Ein VolumeUp erhöht die Laustärke ja gerade einmal um 1, sowas wie Volume +10 oder Volume 20 gibt es ja nicht.
Danke.
BananaPI, CUL 433, Somfy RTS, Hue LWL001, Hue LWB004, HM-CFG-LAN, HM-LC-SW2-FM

justme1968

wie hast du denn volumeUp konfiguriert?

im home automation skill gibt es:
"alexa, stelle <gerät/raum> auf <wert> prozent"
"alexa, erhöhe <gerät/raum> um <anzahl> prozent"
"alexa, reduziere <gerät/raum> um <anzahl> prozent"
das geht aber nur wenn dein gerät absolute werte für die lausträrke kann also nicht die harmony.

aber auch hier kannst du doch mehrere volumeUp senden. im custom skill genau so.

oder du legst in der harmony jeweils eine sequenz an die mehrere ir kommandos sendet und löst die dann nur aus.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

boke

#696
Hallo,
ich habe jetzt den Custom Skill am laufen, aber immer wenn ich schalte Sidebord lampe oder Fensterlame einschalten sage, schaltet sie die Deckenlampe, die Sideboardelampe und die Fensterlampe. Nur die Deckenlampe kann ich einzeln schalten, woran könnte das liegen?
Und bei Status meldet sie immer Deckenlampe an, auch wenn sie aus ist. Bei den anderen Lampen stimmt der Statuswert.
Viele Grüße!



justme1968

hast du die anderen device namen unter FHEM_DEVICES bei den Custom Slot Types ergänzt?

alexa versteht nur was dort aufgelistet ist.

wenn der status nicht stimmt: auf der alexa-fhem konsole schauen ob die longpoll events beim schalten erscheinen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

boke

Ich danke dir! Wer lesen kann...

Echt toll was du hier leistest!

Grimm80

#699
Ich habe gerade ein Update von fhem gemacht, da war ein Update von alexa dabei. Jetzt bekomme ich folgenden Fehler im Log und in FHEM:

Cannot load module alexa


PERL WARNING: Backslash found where operator expected at ./FHEM/39_alexa.pm line 189, near "Dumper \"
PERL WARNING: (Do you need to predeclare Dumper?)
reload: Error:Modul 39_alexa deactivated:
syntax error at ./FHEM/39_alexa.pm line 189, near "Dumper \"
syntax error at ./FHEM/39_alexa.pm line 189, near "Dumper


Hat jemand eine idee?

justme1968

#700
lösch die zeilen mit Dumper. oder bau am anfang einuse Data::Dumper;im file ein.

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

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

Pjg

Zitat von: justme1968 am 05 Dezember 2016, 17:20:43

das geht aber nur wenn dein gerät absolute werte für die lausträrke kann also nicht die harmony.

aber auch hier kannst du doch mehrere volumeUp senden. im custom skill genau so.

oder du legst in der harmony jeweils eine sequenz an die mehrere ir kommandos sendet und löst die dann nur aus.

Genau, die harmony kann nicht absolut. Das ist mein Problem.
Mehrere Kommandos in der harmony Sequenz ist für das starten der Aktivität schon mal eine gute Idee, da ich hier eben unterschiedliche Ausgangslautstärken der Zuspieler anpassen kann. Also Echo Dot ist z.B. viel leiser als Sky oder FireTV.

Aber wie kann ich mehrere VolumeUp hintereinander senden im home automation skill?
Kann ja schlecht 20 mal "Alexa, schalte Lautstärkeerhöhung an" sagen um die Lautstärke um 20 Punkte anzuheben.

Über DOIF repeatsame/repeatcmd kann ich es mir vorstellen. Gibt es noch einen anderen Weg?


BananaPI, CUL 433, Somfy RTS, Hue LWL001, Hue LWB004, HM-CFG-LAN, HM-LC-SW2-FM

justme1968

das beste ist über eine sequenz in der harmony zu gehen. dann stimmt auch das timing bzw. die abstände zwischen dein einzelnen volumeUp. eventuell kannst du diese sequenzen auch direkt in die activities mit einbauen. d.h. in die activities die lauter sein müssen in den start das lauter machen und beim stoppen das leiser machen. schau mal im harmony remote forum nach long volume down. ich verwendet das z.b. um bei den aktivstes mit av verstärker den fernseher leise zu stellen und beim beenden wieder lauter.

eine solche sequenz kannst du dann auch über set <hub> command ... verwenden.

ansonsten definier dir über myUtils und cmdalias ein kommando das mehrere set volumeUp hintereinander macht, eventuell mit sleep 0.5 dazwischen und verwende dann das in cmdOn

DOIF braucht man ganz bestimmt nicht :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Grimm80

@justme1968: Danke! Hat dann wieder funktioniert.

@Pjg: Ich habe auch ein Harmony-Hub und mach das in der Squenz bei Harmony mit rein.
Nach den Standards wie "TV ein", "AVR ein" etc. setze ich danach eine Pause von 2 Sekunden und danach 12x den Befehl für Volume down.

Funktioniert bei mir damit einwandfrei.

visionsurfer

Hallo,

ich habe mit mit dem Modul lightscene beschäftigt. In meiner Küche hab ich 3 Szenen eingerichtet. Eine Szene die starten soll, wenn ich z.B. nur Essen vorbereite (also Herd noch nicht an ist), eine Szene die läuft, wenn auch der Herd an ist und eine Szene die alles wieder beendet.

Das ganze sieht dann im List so aus:


Internals:
   DEF        berbel kueche_hauptlicht kueche_LED_ww
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       lichtszene_kuche
   NR         681
   NTFY_ORDER 50-lichtszene_kuche
   STATE      Initialized
   TYPE       LightScene
   mayBeVisible 1
   Content:
     berbel     1
     kueche_LED_ww 1
     kueche_hauptlicht 1
   Readings:
     2016-12-05 20:26:21   state           kochen_ende
   Scenes:
     Kochen_ende:
       berbel     ;set berbel power; set berbel rauf; sleep 6; set berbel rauf; set berbel lichtunten
       kueche_LED_ww value 30 g1
       kueche_hauptlicht off
     Kochen_kochen:
       berbel     ;set berbel runter; set berbel stufe4
       kueche_LED_ww value 100 g1
       kueche_hauptlicht on
     Kochen_vorbereitung:
       berbel     lichtunten
       kueche_LED_ww value 100 g1
       kueche_hauptlicht on
   devices:
     berbel
     kueche_LED_ww
     kueche_hauptlicht
Attributes:
   room       Kueche


Nun möchte ich diese Szenen auch gerne per Sprache mit Hilfe von Alexa steuern. Ich kann ja im Modul lightscene nicht jeder Szene einen Alias vergeben. Also wurde schon mal an anderer Stelle geraten mit readingsProxy jeweils eigene Devices drauß zu machen. In der Theorie hab ich alles verstanden. Nur in der Praxis komme ich nicht drauf, wie dann ein solches readingsProxy aufgebaut werden muss und was alles an attr drin stehen sollte.

Ist z.B. eine solche Definition richtig:

define kochen_ende_proxy readingsProxy lichtszene_kuche:kochen_ende

Wenn ja, welche attr müssten noch gesetzt werden ?

Grundsätzlich stellt sich noch die Frage, wie ich das ganze sinnvoll benennen müsste, damit es auch gut per Sprache zu steuern ist ?

Alexa, starte essen vorbereiten
Alexa, starte kochen
Alexa, starte kochen ende

Würde sich dann vielleicht "starte kochen" und starte "kochen ende" beißen ?

Ich hab schon das hier durchgelesen: http://www.fhemwiki.de/wiki/Harmony#Button_f.C3.BCr_eine_bestimmte_Activity_im_Frontend_und_Homekit_.C3.BCber_readingsProxy
Nur leider hab ich das nicht in dem Zusammenhang bringen können, mit dem was ich brauche.

Grüße,
Visionsurfer