Sonos2mqtt - vielleicht hat jemand Lust mitzumachen

Begonnen von Otto123, 31 Mai 2020, 18:30:55

Vorheriges Thema - Nächstes Thema

TomLee

Nochmal.

wegen dem hier:

return fhem("set $lgtvs mute on;set $sonosps mute");

das man auch verkürzt und nach DevelopmentGuidelinesAV auch so coden könnte:

return fhem("set $lgtvs,$sonosps mute on");

war ich damals für on/off, ja mir gefällt nur mute auch, aber ums gefallen gehts ja nicht.

Zitat von: Otto123 am 27 Oktober 2020, 19:35:03

mute: Ja kann sein, da waren wir auch schon mal bei on/off letztlich liefert das System true / false und man muss true / false setzen. Ich habe dann Kurzerhand die Sache "verkürzt" (und nicht zweimal umgewandelt). Aber ja können wir wieder anders machen. Ich suche mal den Code (der steht hier noch irgendwo im Thread).





Otto123

Ja ja ja :)
Änderung in Zeile 121
my %t=('true'=>'mute','false'=>'unmute','on'=>'mute','off'=>'unmute');
Änderung jetzt im SVN gemacht

Aber nutzt Dir ja nix ;) :
ZitatHab ehrlich gesagt noch nicht umgestellt auf die aktuelle Version,

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Zitat von: Otto123 am 21 März 2021, 19:15:11
Aber nutzt Dir ja nix ;) :

Noch nicht umgestellt heißt nicht das ich kein Test-Device habe  :P




Wie wärs wenn mans endgültig mal genauso umsetzt wie es bisher in DevelopmentGuidelinesAV festgehalten ist ?   :P

my $tmute = ReadingsVal($NAME,'mute','') eq 'true' ? 'unmute' : 'mute';
my %t=('true'=>'mute','false'=>'unmute','on'=>'mute','off'=>'unmute','toggle'=>"$tmute");

Otto123

Moin Thomas,

so (zusammengezogen) eingecheckt :)

Ich hätte es gern "rekursiv" gemacht - aber da gibts das Henne / Ei Problem
Funktioniert NICHT
my %t=('true'=>'mute','false'=>'unmute','on'=>'mute','off'=>'unmute','toggle'=>$t{ReadingsVal($NAME,'mute','')});

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Zitat von: TomLee am 21 März 2021, 15:59:52
... in meinem Device mappe ich transportState noch nach state.

Scheinbar mach nur ich das, dachte das wurde mal mit in das Template übernommen.
Das war ziemlich am Anfang des Thread mal Thema. Hab ja nur einen Player und bisher war das Mappen von transportState nach state für mich schlüssig. Keine Ahnung welche Werte transportState evtl. noch annehmen kann mit mehreren Player oder Gruppen.
Spricht denn irgendwas was dagegen ?
Ohne Mapping steht doch immer der letzte ausgeführte Befehl in state, braucht man das, wird der letzte Wert irgendwo benötigt, find das gut wenn transportState das dann überschreibt ?

TomLee

Eine Frage hab ich noch, würde gerne noch verstehen weshalb du weiterhin false und true bei mute drinlässt ?

Otto123

bei state wandert alles durch, jeder set Befehl, jede Reaktion. Wenn man das als finale Zentrale nimmt, muss man tausend Sachen abfragen und abfangen (z.B. devStateIcon)
deswegen habe ich das wieder rausgenommen und frage konsequent transportState ab. Damit es gut aussieht und nicht jeder Mist in der Ansicht landet habe ich stateFormat auf transportState gesetzt. Das spart z.B. im devStateIcon ein drittel der Zeilen an Code.

Ich habe jetzt die templates noch nicht geändert, d.h. mute reagiert auf alle Befehle. In der Klappliste ist es noch "alt" - kann ich beim nächsten Template ändern. Bei der sonos2mqttUtils bin ich solo und damit Entschlussfreudiger.
Das sehe ich mittlerweile als Manko bei setList - alles ist dynamisch nur "der Anfang" nicht  :-[ schön wäre wenn das widget auch als Perlcode ginge.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Zitat- alles ist dynamisch nur "der Anfang" nicht  :-[ schön wäre wenn das widget auch als Perlcode ginge.

keine Vorstellung obs dann mit Perl-Code auch schon ginge: und die Möglichkeit den Namen des setters auf ein Reading zu Mappen.
Dann könnte man sich was basteln dass das Auswahlfeld immer den gerade spielenden Radiosender anzeigt, so ist die Liste nach akualisieren der Seite immer leer.
Also: playFav matchst du den Wert aus enqueuedMetadata_Title und spielst gerade ? dann zeig ihn an, sonst irgendeinen default-Wert, wie das halt auch bspw. bei volume ist (also da ohne default-Wert).

Spartacus

#983
Moin zusammen,
ich spiele heute ein wenig mit meinem System herum. Was mit aufgefallen ist, dass nicht alle Player/Komponenten erkannt wurden.
Stereopaare hat er als einzelnen Player aufgelistet (z.B. Bad und Bad; Garten und Garten, wobei das doof ist, da man links und rechts nicht direkt unterscheiden kann. Da muss man wohl mit Alias-Namen arbeiten)
Allerdings hat er meine Surround-Kombination aus AMP, SUB und 2 x One nicht erkannt und hat den SUB und die beiden "Ones" auch nicht als separate Player gefunden. Ist das "normal" Muss ich es erst mal trennen, damit Sonos2MQTT es erkennt? Oder geht das einfach noch nicht!

Spartacus

NACHTRAG:
einige Befehle, wie z.B. im fhem SONOS-Modul, scheint es auch noch nicht zu geben, oder?  LoadRadio, Treble, Bass, Loudness, LED,State etc.) Ist das im Sonos2Mqtt-Modul noch nicht verfügbar?
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

Hi,

StereoPaare sind etwas "besonders" - die werden auch im Sonos Modul anders behandelt (dort wird ein Player einfach mit anderer Bezeichnung _RF "weggedrückt". Hier laufen sie wie im angehängten Bild mit der Kennzeichnung des zweiten Players.
Surround Kombinationen werden nicht aufgelöst. Die werden als ein Player dargestellt. Das liefert sonos2mqtt mW nicht anders. Finde ich aber ok. Im Sonos Modul weiß ich gar nicht was ich mit der Info soll?

Loadradio weiß ich nicht was es tut, ich habe ja play mit 'Radio','Favorite','Playlist' eingebaut.
LED State müsste man schauen. Den Rest wüsste ich nicht ob und wozu man das in der Automatisierung braucht - wie gesagt ich wollte nicht die App nachbauen :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Spartacus

Hi Otto,
ja, alles gut! Ist mir halt aufgefallen. Play mit Radio, Favorite, Playlist?. Da verstehe ich die Syntax jetzt nicht.  Bei "set <Player> play" kann ich doch keine Parameter übergeben, oder wie meinst Du das? Wie steuere ich den jetzt WDR 2 oder  NDR 2 an? Hast Du ggf. mal ein Beispiel?

Das mit "Bass", "Treble",  etc. und dem "LoadRadio" war bei mir die SonosInit-Phase, wenn ein Player vom Strom getrennt wurde, wurde er mit Standardparameter geladen und bekam dann einen Radiosender mir Default Einstellungen mit. Ich glaube, die Sound-Einstellungen behält er mittlerweile auch nach einem poweroff.  Aber egal, das ist auch nicht so wichtig! Nur um den Anwendungsfall mal aufzuzeigen.

Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

#986
Habe ich sogar Doku :)
https://wiki.fhem.de/wiki/Sonos2mqtt#Listen_der_Favoriten_Radios_und_Playlist_erstellen

Ich hoffe ich habe da nichts übersehen ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Spartacus

Hi Otto,
so auf Anhieb versteh ich es mit dem set alias=xxx nicht! Muss mal das ganze Wiki lesen. Die Player-Devices fangen ja alle mit RINCON_B8E93.... an. Daher finde ich die Klartextnamen jetzt verwirrend. Aber ich lese mal das ganze Wiki...
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

hinter set kommt ja ein devspec, das kann der Name des Gerätes oder sowas wie alias=Name sein. Das kann auch model= sein.
Findest Du unter devspec in der Comamndref.
Da die Geräte automatisch angelegt werden, will ich sie nicht umbenennen und verwende immer die Aliase - kannst Du aber machen wie Du willst.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Spartacus

Hi Otto,
alles klar! Habe es geschnallt! Und es funzt auch, wenn man die Listen vorher läd!
Ich werde jetzt noch etwas rumspielen....

Ach ja, kann man die Devices "RINCON_B8E93xxxxx" umbenennen, oder sind damit Probleme vorprogrammiert. Die Rincon-Device-Namen passen nicht unbedingt in mein Namensschema!

Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R