Hallo,
wie ist es möglich ein switch mit zwei data-fhem-cmd funktionen darzustellen?
Habe zur Zeit zwei Symbole und ich will nur eins
<div
data-type="switch"
data-device="Sonos_Oben"
data-get="transportState"
data-states='["PLAYING","STOPPED"]'
data-fhem-cmd="set Sonos_Oben StartRadio /NDR.2.NDS/;set Sonos_Oben Volume 10"
data-icons='["fa-play","fa-play"]'
data-colors='["green","gray"]'
data-background-icon="fa-circle-thin" data-off-background-color="#7A7A7A" data-on-background-color="#7A7A7A"
class="cell bigger"
>
</div>
Das will ich noch integrieren
<div data-type="push" data-device="Sonos_Oben" data-cmd="set" data-set-on="Pause" class="cell bigger"></div>
Wie stelle ich das an?
Welche Funktionen willst du damit erreichen? Zwischen Play und Pause hin und her schalten?
Ja, Play und Pause.
Aber Play ist bei mir ein wenig mehr:
set Sonos_Oben StartRadio /NDR.2.NDS/;set Sonos_Oben Volume 10
Hallo Otto,
ich hatte ein ähnliches Problem: Ein Befehl aus FTUI sollte zwei unterschiedliche Befehle auslösen. Befehl aus FTUI war set Sonos_Kueche_RF StartFavourite /ANTENNE.BAYERN./ und gleichzeitig sollte die Favouritenliste aktualisiert werden ( set SONOS_Kueche_RF LoadFavourites). Das ging bei mir über zwei zusätzliche Schritte. 1. Schritt ein dummy Select sensor kopiert die Aktionen in das userReading copyState . Das notify SonosSendFavourite sendet die zwei gewünschten Befehle.
1. dummy SonosSelectSensor
Internals:
NAME SonosSelectSensor
NR 36
STATE Sonos_Kueche StartFavourite ANTENNE BAYERN Oldies but Goldies
TYPE dummy
Readings:
2016-05-10 13:58:59 FAV_FTUI ANTENNE BAYERN Oldies but Goldies:Abba The Radio:Heart Beat Radio Memory Hits:WDR2 Rheinland
2016-05-11 11:03:30 FAV_SEND /ANTENNE.BAYERN./
2016-05-11 11:03:30 FAV_SONOS Sonos_Kueche
2016-05-11 11:03:30 copyState Sonos_Kueche StartFavourite ANTENNE BAYERN Oldies but Goldies
2016-05-11 11:03:30 state Sonos_Kueche StartFavourite ANTENNE BAYERN Oldies but Goldies
Attributes:
event-on-update-reading copyState
room Sonos
userReadings copyState { ReadingsVal("SonosSelectSensor","state","");; },
FAV_SONOS {my $l = ReadingsVal("SonosSelectSensor", "copyState", ""); $l =~ s/ .*//;
return $l;},
FAV_SEND {my $m = ReadingsVal("SonosSelectSensor", "copyState", "");$m = "/".substr ($m,28,15)."/";
$m =~ s/ /./g ;return $m;},
verbose 3
2. notify SonosSelectSensor
Internals:
DEF SonosSelectSensor {fhem "set Sonos_Kueche_RF StartFavourite ".ReadingsVal("SonosSelectSensor","FAV_SEND"," ")};;{fhem "get Sonos_Kueche Favourites"}
NAME sonosSendFavorite
NOTIFYDEV SonosSelectSensor
NR 37
NTFY_ORDER 50-sonosSendFavorite
REGEXP SonosSelectSensor
STATE active
TYPE notify
Readings:
2016-05-10 19:38:55 event Error evaluating sonosSendFavorite userReading event: Global symbol "$EVENT" requires explicit package name at (eval 414) line 1.
2016-05-30 17:56:10 state active
Attributes:
room Sonos
verbose 3
Ist nicht auf meinem Mist gewachsen, deshalb funktioniert es auch ;) ;).
Gruß Eberhard
Hallo Eberhard,
zwei Befehle sind nicht das Problem, das mache ich ja:
data-fhem-cmd="set Sonos_Oben StartRadio /NDR.2.NDS/;set Sonos_Oben Volume 10"
Mir gehts um ein Switch der mir ein data-fhem-cmd-on und data-fhem-cmd-off gibt.
Aber das gibt es wohl nicht, so muss ich das über ein dummy / notify lösen.
Hallo Otto,
ich glaube, Dich verstanden zu haben: Mangels einer Fernbedienung für Sonos willst Du über einen Schalter die Sonos-Box anhalten und wieder starten. Ich habe den Schalter hier schon liegen. Bin nur noch nicht dazu gekommen das umzusetzen. Ich bin deshalb an Deiner entgültigen Lösung sehr interessiert.
Teilweise habe ich das stop-and-go bei abgehenden/ankommenden Telefonanrufen schon umsetzen können.
Gruß Eberhard
Hallo Eberhard,
hier meine schnelle Lösung, ist nicht optimal, weil ich keine Rückmeldung vom device bekomme.
<div
data-type="switch"
data-device="du_Sonos_Wz"
data-set-on="An"
data-set-off="Aus"
data-states='["An","Aus"]'
data-icons='["fa-play","fa-play"]'
data-colors='["gray", "gray"]'
data-background-icon="fa-circle-thin" data-off-background-color="#7A7A7A" data-on-background-color="#7A7A7A"
class="cell bigger"
>
</div>
define du_Sonos_Wz dummy
attr du_Sonos_Wz room 7.5_Sonos
attr du_Sonos_Wz webCmd An:Aus
define n_Sonos_Wz_An notify du_Sonos_Wz:An set Sonos_Wohnzimmer StartRadio /NDR.2.NDS/;;set Sonos_Wohnzimmer Volume 10
attr n_Sonos_Wz_An room 7.5_Sonos
define n_Sonos_Wz_Aus notify du_Sonos_Wz:Aus set Sonos_Wohnzimmer Pause
attr n_Sonos_Wz_Aus room 7.5_Sonos