[ERLEDIGT] doif mit if - ich kapiers wieder mal nicht

Begonnen von the ratman, 09 Mai 2017, 21:25:19

Vorheriges Thema - Nächstes Thema

the ratman

ich hab mir ein doif gebastelt, um durchsagen an meine wlan-ls senden zu können.
das funzt mal.
allerdings wollt ich jetzt per if (mein allererstes) abfragen, ob ein vorher in einen dummy geschriebener wert zutrifft und entsprechend die vor der durchsage laufende musik wieder laufen lassen oder eben nicht.
der dummy wird super beschrieben, die durchsage kommt, aber das if wird scheinbar nicht abgearbeitet - mit oder ohne {}.
([Durchsage_miniLaerm:Text] ne "eingeben")

(
setreading Durchsage_Container cstate [DLNA_d5a619f4804c:state];
setreading Durchsage_Container stream [DLNA_d5a619f4804c:stream];
set DLNA_d5a619f4804c speak "[Durchsage_miniLaerm:Text]";
sleep 15;
IF ([Durchsage_Container:cstate] eq "playing") (set DLNA_d5a619f4804c stream [Durchsage_Container:stream]) ELSE (set DLNA_d5a619f4804c stop);
setreading Durchsage_miniLaerm Text eingeben;
)

DOELSE

was mach ich den jetzt schon wieder falsch? denk ich wieder zu kompliziert?
thx für eventuelle hilfen!
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 09 Mai 2017, 21:25:19
ich hab mir ein doif gebastelt, um durchsagen an meine wlan-ls senden zu können.
das funzt mal.
allerdings wollt ich jetzt per if (mein allererstes) abfragen, ob ein vorher in einen dummy geschriebener wert zutrifft und entsprechend die vor der durchsage laufende musik wieder laufen lassen oder eben nicht.
der dummy wird super beschrieben, die durchsage kommt, aber das if wird scheinbar nicht abgearbeitet - mit oder ohne {}.
([Durchsage_miniLaerm:Text] ne "eingeben")

(
setreading Durchsage_Container cstate [DLNA_d5a619f4804c:state];
setreading Durchsage_Container stream [DLNA_d5a619f4804c:stream];
set DLNA_d5a619f4804c speak "[Durchsage_miniLaerm:Text]";
sleep 15;
IF ([Durchsage_Container:cstate] eq "playing") (set DLNA_d5a619f4804c stream [Durchsage_Container:stream]) ELSE (set DLNA_d5a619f4804c stop);
setreading Durchsage_miniLaerm Text eingeben;
)

DOELSE

was mach ich den jetzt schon wieder falsch? denk ich wieder zu kompliziert?
thx für eventuelle hilfen!

hier am besten mit Befehlssequenzen und mit wait arbeiten:


([Durchsage_miniLaerm:Text] ne "eingeben")

(
setreading Durchsage_Container cstate [DLNA_d5a619f4804c:state];
setreading Durchsage_Container stream [DLNA_d5a619f4804c:stream];
set DLNA_d5a619f4804c speak "[Durchsage_miniLaerm:Text]")
(IF ([Durchsage_Container:cstate] eq "playing") (set DLNA_d5a619f4804c stream [Durchsage_Container:stream]) ELSE (set DLNA_d5a619f4804c stop);
setreading Durchsage_miniLaerm Text eingeben;
)
DOELSE

attr <dein DOIF> wait 0,15

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

alter, bist du flott

und langsam kommen so ideen in mir hoch wie: "ich will ein kind von dir!"
weil: funzt auf anhieb

VIELEN, VIELEN DANK (wieder mal)
→do↑p!dnʇs↓shit←