Alexa genericDeviceType media - wie mappen?

Begonnen von Stonemuc, 30 September 2019, 13:02:27

Vorheriges Thema - Nächstes Thema

Stonemuc

Hallo,

ich habe eine kurze Frage zum gDT media und dem dazugehörigen Mapping von dummys.
Einfach gesagt, möchte ich, nachdem ich auf den FHEM-Connector und damit verbunden einer neuen Version von alexa-fhem umgestigen bin, meine Lüftungssteuerung umbauen.

Aktuell habe ich jeweils einen Dummy als gdT switch zu jedem Status 0-4 angelegt und schalte die Lüftung per Sprachbefehl über ein entsprechend langes DOIF.

Nachdem ich nun entdeckt habe, dass es das gdT media gibt, welches Dann einen Chanel umschalten kann, möchte ich das einfach druch ein Dummy lösen und dann die Werte 0-3 schalten. Das sollte damit ja gehen. Da ich bei den mappings aber momentan wirklich noch null durchblicke, wäre ich über etwas Hilfe dankbar.

Im Wiki ist das so angegeben:
ZitatGeräte, deren Kanal sich umschalten lässt (ab alexa-fhem version 0.5.13)

    Über genericDeviceType media
    hombridgeMapping ChannelController:reading=<reading>,cmd=<cmd>
    Erlaubte Werte siehe hier: https://developer.amazon.com/de/docs/device-apis/alexa-channelcontroller.html#changechannel

So richtig weiter komme ich damit aber nicht - was setze ich denn beim cmd=<cmd> ein? Und ist der vordere Teil bei meinem Dummy richtig?

Hier mal das List:
Internals:
   CFGFN     
   FUUID      5d91d34a-f33f-6467-6987-800fa36ef5cc4a20
   NAME       Lueftung
   NR         17402
   STATE      2
   TYPE       dummy
   READINGS:
     2019-09-30 12:22:46   state           2
Attributes:
   genericDeviceType media
   homebridgeMapping ChannelController:reading=state,cmd=<cmd>
   room       alexa
   setList    state:slider,0,1,3
   webCmd     state



FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

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)

Stonemuc

Sollte es dann so klappen?

homebridgeMapping ChannelController:reading=state,cmd=state

Also such ich mir im ersten Teil den Teil wo Alexa die Information herbekommt und im zweiten Teil, wo Alexa die Information dann hinschreiben soll?
Hab ich das richtig verstanden? Bei mir also beide male state?
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Brauchst du es unbedingt im state!?

state ist ja auch bzgl. Events/Notify (DOIF?) "besonders"...

Probiere es doch einfach aus ;)


Ansonsten baue es doch einfach wie in meinem Dummy.

dann noch ein setreading Device channel 1 (um mal das Reading zu haben) und gut isses.

D.h. wenn du sagst: "Alexa schalte auf AlexaName auf Kanal 2" wird das Reading channel (wenn alles gut geht) auf 2 gestellt... -> Notify und dann eben machen was du machen willst.

Bzw. wenn die Nummer direkt passt und du das "nur" an ein richtiges Gerät per Notify weitergibst/geben würdest, kannst du doch auch gleich beim richtigen Gerät mit homebridgeMapping ansetzen...

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)

Stonemuc

Ich hab es mit obigem Kommando tatsächlich hinbekommen.
Allerdings besteht folgender Fehler:
Wenn ich sage: Alexa schalte XY auf Kanal 1, schreibt we mir eins in den state. Ich benötige aber die 1. Warum ist das so? 0,2,3 wird normal als Ziffer erkannt.

Oder gibt es einen anderen genericDeviceType mit dem ich die Werte 0-3 in den State schalten kann. Könnte ich das irgendwie anders lösen? Z.B. mit Hue und im alexa device entsprechend hue mappen?
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Also bis vor kurzem (habe es aber schon länger nicht mehr genutzt) muss es bei mir mit genericDeviceType media geklappt haben.

Also: Alexa, stelle mediabox auf Kanal eins -> im Reading channel stand dann 1 (zumindest habe ich keinen speziellen Code für eine "Umsetzung" von eins -> 1)

Evtl. ist es ein "Problem" mit state...

Oder mal im alexa-fhem Log (NICHT! fhem Log) schauen was von Amazon kommt und dann "draus wird"...

Aber wie geschrieben, vielleicht hat das bei mir nur "früher" (zufällig) funktioniert und wurde mittlerweile geändert (Amazon schraubt ja gerne immer wieder rum / nicht immer zum "Besseren" ;)  )...

Kann ich aber erst heute Abend testen...

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)

ioT4db

Hallo stonemuc,

ich möchte auch meine Lüftung (Ich glaube Du hast auch eine THZ wie ich) mit Alexa einstellen und bin in diesem Thread gelandet.

Irgendwie komm ich da nicht weiter. Ich bin soweit, dass ich einen dummy mit gDT "media" definiert habe, aber im state dann sowas wie "state 2" auftaucht. Aber eigentlich soll da 1, 2 oder 3 stehen. Auch ist mir nicht klar, ob es möglich ist anstatt "Kanal 1" z.B. "Sufe 1" sagen zu können. Ich habe da auch schon was mit dem attr alexaMapping "rumprobiert", leider ohne Erfolg.

Wie hast Du das mittlerweile gelöst? Könntest Du mir Deine Konfiguration zur Verfügung stellen?

Vielen Dank schonmal,
Daniel
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

MadMax-FHEM

#7
Hallo,

dann poste ich halt mal meinen "MediaDummy". Wichtig: Raw-Def also inkl. der setstate! ODER: die Readings anderweitig setzen (z.B. manuell setreading):


defmod dmControl_MediaBox dummy
attr dmControl_MediaBox alexaName media box
attr dmControl_MediaBox genericDeviceType media
attr dmControl_MediaBox homebridgeMapping PlaybackController:reading=playback,values=Play;;Pause;;Stop;;Previous;;Next,cmd=playback ChannelController:reading=channel,cmd=channel
attr dmControl_MediaBox readingList volume mute playback channel
attr dmControl_MediaBox setList playback:Play,Pause on off volume mute channel
attr dmControl_MediaBox webCmd :

setstate dmControl_MediaBox 2020-12-27 20:10:13 channel 1
setstate dmControl_MediaBox 2020-08-01 19:12:15 mute 0
setstate dmControl_MediaBox 2020-12-28 17:29:14 playback Play
setstate dmControl_MediaBox 2021-01-05 18:01:09 state off
setstate dmControl_MediaBox 2020-11-24 16:31:39 volume 40


Aber es ist ein "Irrglaube", dass mit dem homebridgeMapping auch beeinflusst werden könnte WAS man zu Alexa sagt!

Es wird nur verstanden, was eben von Amazon "vorgesehen" ist!
https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Ger.C3.A4te_im_FHEM-Webfrontend_zuweisen

D.h. (Link im Wiki) was Amazon nicht unterstützt kann auch nicht funktionieren!
https://developer.amazon.com/es-ES/docs/alexa/device-apis/list-of-interfaces.html

Das homebridgeMapping unterstützt nur alexa-fhem beim Umsetzen der "Kommandos" von Amazon (also was muss in fhem dann passieren) und wie der Status der an Amazon gehen soll/geht eben in fhem zu finden ist.

Nicht mehr nicht weniger...

Daher kannst du verm. Stufe nicht bei media sagen. Du kannst aber bei Amazon suchen (Link im Wiki) ob es etwas gibt was dir sprachlich zusagt und dann das statt media verwenden...
...dann aber homebridgeMapping selber anpassen...

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)

ioT4db

Hallo MadMax-FHEM,

danke für das posten Deines Dummys!

kurz OT: Grundsätzlich hatte ich mich ja schon mit dem Thema beschäftigt und auch war ich schon auf den verschiedenen Wiki- und Forenseiten, aber das Thema alexa-fhem, homebridge, custom_skill, fhem_connector usw. zu durchdringen, bedarf es, jedenfalls bei mir, deutlich mehr Anstrengung, als alle anderen Themen, die ich bis dato mit und um FHEM hatte. Mein Empfinden.
Deshalb danke nochmal für Deinen Post mit den Links! Ich hab die Seiten echt schon x-mal gelesen und immer fällt einem ein neues Detail auf und nach und nach setzt sich das Puzzle zusammen :) OT-Ende

so, eigentlich wollte ich nur kurz meine Lösung für die Lüftungssteuerung hier posten. Ich verwende mich den gDT "media" sondern einfach einen switch und "mißbrauche" hier die Möglichkeit "Brightness" für die Lüfterstufen zu mappen. So ist es möglich "Alexa stelle Lüftung auf 2" oder auch "aus" sagen zu können, also ohne noch "Kanal" o.ä. sagen zu müssen. (Dass Alexa "Stufe" nicht kennt ist mir mittlerweile auch klar ;) )

Ansonsten hier mal mein RAW. Ich habe es direkt mit einem DOIF und nicht mit einem dummy umgesetzt, da ich im DOIF nun noch weitere Bedingungen einbauen werde...

VG
Daniel


defmod Test_Alexa DOIF ([$SELF:Stufe]>0)
attr Test_Alexa DbLogExclude .*
attr Test_Alexa alexaName Lüftung
attr Test_Alexa alias Test_Alexa
attr Test_Alexa cmdState on|off
attr Test_Alexa genericDeviceType switch
attr Test_Alexa group alexa
attr Test_Alexa homebridgeMapping Brightness=Stufe,cmd=Stufe,minValue=0,maxValue=3 On:cmdOn=on,cmdOff=Stufe+0
attr Test_Alexa readingList Stufe
attr Test_Alexa room Labor
attr Test_Alexa setList on off Stufe:slider,0,1,3

setstate Test_Alexa off
setstate Test_Alexa 2021-01-07 15:48:03 Stufe 0
setstate Test_Alexa 2021-01-07 15:48:03 cmd 2
setstate Test_Alexa 2021-01-07 15:48:03 cmd_event Test_Alexa
setstate Test_Alexa 2021-01-07 15:48:03 cmd_nr 2
setstate Test_Alexa 2021-01-07 15:48:03 e_Test_Alexa_Stufe 0
setstate Test_Alexa 2021-01-07 15:26:03 mode enabled
setstate Test_Alexa 2021-01-07 15:48:03 state off


FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50