Switch mit data-fhem-cmd

Begonnen von Otto, 29 Mai 2016, 12:22:26

Vorheriges Thema - Nächstes Thema

Otto

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?
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

setstate

Welche Funktionen willst du damit erreichen? Zwischen Play und Pause hin und her schalten?

Otto

Ja, Play und Pause.

Aber Play ist bei mir ein wenig mehr:
set Sonos_Oben StartRadio /NDR.2.NDS/;set Sonos_Oben Volume 10
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

FHEm2005

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
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

Otto

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.
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

FHEm2005

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
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

Otto

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
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic