Moin,
ich habe eine (für mich) Kuriosität entdeckt.
Und ich würde gerne wissen wieso das so ist.
Also, ich habe ein GoogleCast-Device eingebunden:
Internals:
CASTNAME Kitchen
DEF googlecast "Kitchen"
FHEMPYTYPE googlecast
FUUID 6163e408-f33f-7c83-5ae0-dfbf6336d2a11ed8
FVERSION 10_PythonModule.pm:0.182830/2019-01-16
IODev local_pybinding
NAME GC_Kueche
NR 631
PYTHONTYPE googlecast
STATE online
TYPE PythonModule
READINGS:
2021-10-27 18:18:59 app_id
2021-10-11 09:13:42 cast_type audio
2021-10-28 07:46:15 connection connected
2021-10-27 18:18:59 display_name
2021-10-11 09:13:42 ignore_cec 0
2021-10-11 09:28:56 mediaPlayerState UNKNOWN
2021-10-11 09:28:56 mediaStreamType UNKNOWN
2021-10-11 09:13:42 model_name Chromecast Audio
2021-10-11 09:13:43 mute 0
2021-10-11 09:13:42 name Kitchen
2021-10-27 18:18:59 session_id
2021-10-28 07:46:04 spotify_login <html></html>
2021-10-28 07:46:06 spotify_user login required
2021-10-28 07:46:15 state online
2021-10-27 18:18:59 status_text
2021-10-27 18:18:59 transport_id
2021-10-11 09:13:42 uuid 6c42c2d
2021-10-28 07:54:43 volume 70
args:
GC_Kueche
PythonModule
googlecast
Kitchen
argsh:
Attributes:
cmdIcon pause:rc_PAUSE play:rc_PLAY
event-on-change-reading .*
event-on-update-reading .*
group googlecast
icon gassistant
room fhempy,Multiroom
userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
webCmd volume:play:pause
Dieses Device will ich in der Lautstärke begrenzen, wenn es über Volume 35 geht.
Der Verstärker der mit dem Chromecast bespielt wird, übersteuert sonst...
Also ein DOIF:
Internals:
DEF (
[GC_Kueche:volume] > 35
)
(set GC_Kueche volume 35)
FUUID 5cc58ebb-f33f-7c83-dbfe-14acc055b6b63560
FVERSION 98_DOIF.pm:0.249050/2021-09-01
MODEL FHEM
NAME di_multiroom_set_kitchen_vol_35
NOTIFYDEV global,GC_Kueche
NR 490
NTFY_ORDER 50-di_multiroom_set_kitchen_vol_35
STATE cmd_1
TYPE DOIF
VERSION 24905 2021-09-01 18:35:54
READINGS:
2021-10-28 07:53:05 cmd 1
2021-10-28 07:53:05 cmd_event di_multiroom_set_kitchen_vol_35
2021-10-28 07:53:05 cmd_nr 1
2021-10-28 07:53:02 mode enabled
2021-10-28 07:53:05 state cmd_1
Regex:
accu:
collect:
cond:
GC_Kueche:
0:
volume ^GC_Kueche$:^volume:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::ReadingValDoIf($hash,'GC_Kueche','volume') > 35
do:
0:
0 set GC_Kueche volume 35
1:
helper:
DEVFILTER ^global$|^GC_Kueche$
NOTIFYDEV global|GC_Kueche
globalinit 1
last_timer 0
sleeptimer -1
timerdev
timerevent
timerevents
timereventsState
triggerDev
readings:
all GC_Kueche:volume
uiState:
uiTable:
Attributes:
do always
icon helper_doif
room Multiroom
Wenn ich jetzt über die Google App, also von extern, die Lautstärke am Chromecast verstelle, dann triggert das DOIF und stellt mein Device auf Volume 35.
Wenn ich allerdings in fhem die Lautstärke ändere, dann triggert das DOIF nicht.
Habe bereits aus Verzweiflung die event-attribut-Karte gezogen. Ohne Erfolg.
Warum?
Thx und bis denn
SouzA