Hallo, stehe etwas auf dem Schlauch.
Ich möchte über ein DOIF erst eine Structure schalten und anschliessend Sonos gruppieren über folgende Befehle:
(set strThanosOccupation on)
(set Sonos Groups [Sonos_Badezimmer], [Sonos_Flur_Erdgeschoss], [Sonos_Julia], [Sonos_Kueche, Sonos_Esszimmer, Sonos_Terrasse, Sonos_Port_Yamaha], [Sonos_Schlafzimmer]
Leider wird für den 2. Befehl für die Gruppierung ein Fehler ausgegeben:
error
appeared ~ 0.0% (0:00:00 / 0:00:00): Unknown command appeared, try help. appeared ~ 0.0% (0:00:00 / 0:00:00): Unknown command appeared, try help. appeared ~ 0.0% (0:00:28 / 0:00:00): Unknown command appeared, try help. appeared ~ 0.0% (0:00:00 / 0:00:00) : Unknown command appeared, try help.
Ich setze doch klar den Befehl ab "set Sonos groups..." und nicht "set Sonos appeared..."
Was läuft hier schief?
Das LIST vom Device anbei,
Gruss Jan
Internals:
DEF ([Home:mode] eq "absent")
(set strThanosOccupation off)
{GlobalOffNoPresence()}
DOELSEIF ([Home:location] eq "home")
(set strThanosOccupation on)
(set Sonos Groups [Sonos_Badezimmer], [Sonos_Flur_Erdgeschoss], [Sonos_Julia], [Sonos_Kueche, Sonos_Esszimmer, Sonos_Terrasse, Sonos_Port_Yamaha], [Sonos_Schlafzimmer]
)
FUUID 6328443a-f33f-8cc0-7998-1ae7865abacf5822
FVERSION 98_DOIF.pm:0.264350/2022-09-20
MODEL FHEM
NAME AktivierungOccupancy
NOTIFYDEV Home,global
NR 1099
NTFY_ORDER 50-AktivierungOccupancy
STATE cmd_2
TYPE DOIF
VERSION 26435 2022-09-20 20:49:19
eventCount 71
READINGS:
2022-09-22 16:46:43 cmd 2.2
2022-09-22 16:46:43 cmd_event set_cmd_2
2022-09-22 16:46:43 cmd_nr 2
2022-09-22 16:46:43 cmd_seqnr 2
2022-09-22 16:46:43 error appeared ~ 0.0% (0:00:00 / 0:00:00): Unknown command appeared, try help. appeared ~ 0.0% (0:00:00 / 0:00:00): Unknown command appeared, try help. appeared ~ 0.0% (0:00:28 / 0:00:00): Unknown command appeared, try help. appeared ~ 0.0% (0:00:00 / 0:00:00) : Unknown command appeared, try help.
2022-09-22 16:46:06 mode enabled
2022-09-22 16:46:43 state cmd_2
2022-09-22 16:46:43 wait_timer no timer
Regex:
accu:
collect:
cond:
Home:
0:
mode ^Home$:^mode:
1:
location ^Home$:^location:
attr:
cmdState:
wait:
0:
0
5
1:
0
30
waitdel:
condition:
0 ::ReadingValDoIf($hash,'Home','mode') eq "absent"
1 ::ReadingValDoIf($hash,'Home','location') eq "home"
do:
0:
0 set strThanosOccupation off
1 {GlobalOffNoPresence()}
1:
0 set strThanosOccupation on
1 set Sonos Groups [Sonos_Badezimmer], [Sonos_Flur_Erdgeschoss], [Sonos_Julia], [Sonos_Kueche, Sonos_Esszimmer, Sonos_Terrasse, Sonos_Port_Yamaha], [Sonos_Schlafzimmer]
2:
helper:
NOTIFYDEV Home,global
event
globalinit 1
last_timer 0
sleepdevice set_cmd_2
sleepsubtimer -1
sleeptimer -1
triggerDev
triggerEvents
triggerEventsState
readings:
all Home:mode Home:location
uiState:
uiTable:
Attributes:
DbLogExclude .*
alias AktivierungOccupancy
icon status_away_2
room 40_Residents,80_DOIF
verbose 0
wait 0,5:0,30
Hi,
ich weiß noch nicht genau was Deine eckigen Klammern im DOIF machen (DOIF liest in eckigen Klammern Inhalte von Geräten - aber laut Damian (https://forum.fhem.de/index.php/topic,39070.msg360528.html#msg360528)sollte das gehen.), aber grundlegend: im DOIF musst Du Befehle mit Kommas zusätzlich klammern!
https://fhem.de/commandref_modular_DE.html#DOIF_Angaben_im_Ausfuehrungsteil
((set Sonos Groups [Sonos_Badezimmer], [Sonos_Flur_Erdgeschoss], [Sonos_Julia], [Sonos_Kueche, Sonos_Esszimmer, Sonos_Terrasse, Sonos_Port_Yamaha], [Sonos_Schlafzimmer]))
Gruß Otto
Hallo Otto,
vielen lieben Dank, ich hab mir diesen Abschnitt sogar vorhin noch durchgelesen, aber das wohl nicht richtig interpretiert ;-)
Macnhmal schwiereig nach einem langen Tag vor dem Monitor ;-)
Jetzt funzt es :-)
Gruss Jan