Alexa, mapping für Lautstärke auf Fernseher?

Begonnen von gestein, 09 September 2022, 08:45:39

Vorheriges Thema - Nächstes Thema

gestein

Hallo,

Ich bin gerade dabei meinen alten Fernseher, der nur per IR zu bedient werden kann, über Alexa zu steuern.
Dafür habe ich mir ein DOIF gebastelt, dass über den FHEM Connector und Alexa aufgerufen wird.
Zum Ein-/Ausschalten und zum Umschalten der Kanäle reicht es schon mal.

Dafür habe ich u.a. im DOIF die folgenden Alexa-Attribute gesetzt:
alexaName Fernseher
alexaRoom Wohnzimmer
genericDeviceType media

homebridgeMapping On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
ChannelController:reading=channel,cmd=channel
InputController:reading=channel,cmd=channel,values=HDMI1;video;apple;appleTV;playstation;netflix
PlaybackController:playback,values=play;pause;stop;zurück;vorwärts
Volume:reading=volume,cmd=volume,minValue=0,maxValue=60,minStep=3 Mute:reading=mute,cmd=mute


Allerdings klappt das Verstellen der Lautstärke so gar nicht.
Im Alexa-log kommt folgender Eintrag, wenn ich folgendes sage: ,,Alexa, mach den Fernseher leiser"
[9.9.2022, 08:36:16] >>>> [ssh] {"directive":{"header":{"messageId":"23116deb-d933-4151-aefe-56a58f897d14","namespace":"Alexa.Speaker","name":"AdjustVolume","payloadVersion":"3","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"4B615A00-DD234D0DDA7C73A8"},"endpointId":"63171992-f33f-7e6e-47da-bb355c4b14be7bd1","cookie":{"device":"diAlexaFernsehen","fuuid":"63171992-f33f-7e6e-47da-bb355c4b14be7bd1"}},"payload":{"volume":10,"volumeDefault":true}}}
[9.9.2022, 08:36:16] TypeError: Cannot read property 'informId' of undefined
    at Server.handleSpeaker (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:4253:94)
    at Server.handler (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:2352:44)
    at Server.verifyToken (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:1442:23)
    at Server.processBody (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:151:31)
    at Server.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:162:33)
    at IncomingMessage.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
[9.9.2022, 08:36:16] <<<< [ssh] null

Und Alexa meldet, dass sie Schwierigkeiten hat, ,,Null" zu erreichen.

Wie muss ich das Mapping richtig machen?

Danke für jede Hilfe.
Lg, Gerhard

gestein

Hallo,

nach dem Lesen von etlichen Anleitungen und Beiträgen hier im Forum, sowie den logs und Events, ist die Lösung dafür recht simple.
Allerdings habe ich das Verhalten von Alexa bei den Befehlen, um die Lautsärke einzustellen,  noch nicht ganz verstanden.

Zumindest läuft es so ab (bei mir):
* Im DOIF habe ich ein reading "volume" mit dem Wert 80 angelegt.
   Die Werte für "volume" kommen nämlich von im Bereich 0..100.
* Wenn ich zu Alexa "lauter" sage, kommt ein Event mit "volume 90" (+10 zum Reading-Wert)
* Wenn ich zu Alexa "leiser" sage, kommt ein Event mit "volume 70" (-10 zum Reading-Wert)
* Wenn ich zu Alexa "setzte auf Lautstärke 15" sage, kommt ein Event mit "volume 15"

Damit lässt sich zumindest alles steuern.

lg, Gerhard