Sonos steuern

Begonnen von Will, 05 Januar 2013, 15:51:12

Vorheriges Thema - Nächstes Thema

frankBN


juemuc

Ich nutze
{my $s_m = ReadingsVal("Sonos","MasterPlayer","");;
$s_m =~ s/['[\]]+//g;;
fhem("set $s_m:FILTER=presence=appeared Speak 20 de
           |Dingdong.mp3| ")}

Damit wird sichergestellt, dass nur die "Masterplayer" einer Gruppe angesprochen werden und diese auch "aktiv" sind. Ansonsten kommt es zu Mehrfachausgaben in einer Gruppe. 

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

DeeSPe

Zitat von: juemuc am 04 November 2017, 23:17:16
Ich nutze
{my $s_m = ReadingsVal("Sonos","MasterPlayer","");;
$s_m =~ s/['[\]]+//g;;
fhem("set $s_m:FILTER=presence=appeared Speak 20 de
           |Dingdong.mp3| ")}

Damit wird sichergestellt, dass nur die "Masterplayer" einer Gruppe angesprochen werden und diese auch "aktiv" sind. Ansonsten kommt es zu Mehrfachausgaben in einer Gruppe. 

Viele Grüße
Jürgen

Statt dessen sollte auch das gehen:
set TYPE=SONOSPLAYER:FILTER=IsMaster=1:FILTER=presence=appeared Speak 20 de |Dingdong| Bla bla

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

juemuc

Zitat von: DeeSPe am 05 November 2017, 00:03:50
Statt dessen sollte auch das gehen:
set TYPE=SONOSPLAYER:FILTER=IsMaster=1:FILTER=presence=appeared Speak 20 de |Dingdong| Bla bla

Gruß
Dan

Stimmt. Danke für den Tipp  ;D

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Otto123

Hallo Dan,

ich finde dieses Beispiel gehört mit in die devspec Doku (commandref)
Das ist wirklich Klasse!  ;D

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

binford6000

Zitat von: Elektrolurch am 31 Mai 2017, 10:38:37
Hallo Reinerlein,

manchmal finde ich sowas im Log und jetzt habe ich mal stacktrace eingeschaltet. Das scheint bevorzugt aufzutreten, wenn das Gerät frisch am Strom eingeschaltet wird:

2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,currentTrackPosition,0:00:00) missed to call readingsBeginUpdate first.
2017.05.31 08:35:45 1: stacktrace:
2017.05.31 08:35:45 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1252)
2017.05.31 08:35:45 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.05.31 08:35:45 1:     main::CallFn                        called by fhem.pl (686)
2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,currentTrackPositionSec,1) missed to call readingsBeginUpdate first.
2017.05.31 08:35:45 1: stacktrace:
2017.05.31 08:35:45 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1252)
2017.05.31 08:35:45 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.05.31 08:35:45 1:     main::CallFn                        called by fhem.pl (686)
2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,numberOfTracks,3) missed to call readingsBeginUpdate first.
2017.05.31 08:35:45 1: stacktrace:
2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
2017.05.31 08:35:46 1: readingsUpdate(Sonos_Wohnzimmer,currentStreamAudio,1) missed to call readingsBeginUpdate first.
2017.05.31 08:35:46 1: stacktrace:
2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
2017.05.31 08:35:46 1: readingsUpdate(Sonos_Wohnzimmer,currentNormalAudio,) missed to call readingsBeginUpdate first.
2017.05.31 08:35:46 1: stacktrace:
2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
Gruß Elektrolurch
Hi Elektrolurch,
konntest Du hier was erreichen? Ich habe eine ähnliche Situation, auch immer nur nach dem Einschalten über eine Funksteckdose:

readingsUpdate(Sonos_Kueche,currentTrackPositionSec,0) missed to call readingsBeginUpdate first.
2017.11.05 17:24:44 1: stacktrace:
2017.11.05 17:24:44 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1207)
2017.11.05 17:24:44 1:     main::SONOS_Read                    called by fhem.pl (3497)
2017.11.05 17:24:44 1:     main::CallFn                        called by fhem.pl (700)
...
readingsUpdate(Sonos_Kueche,currentTrackPositionSec,0) missed to call readingsBeginUpdate first.
2017.11.05 17:24:52 1: stacktrace:
2017.11.05 17:24:52 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1207)
2017.11.05 17:24:52 1:     main::SONOS_Read                    called by fhem.pl (3497)
2017.11.05 17:24:52 1:     main::CallFn                        called by fhem.pl (700)


Insgesamt etwa 5-7 mal pro Skeunde bis zum letzten Eintrag  :-\
VG Sebastian

Nobby1805

Hast du die aktuelle Version von Sonos? Das Problem wurde von Reiner (eigentlich) behoben
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

binford6000

Hallo Nobby,
ich hab die hier:
00_SONOS.pm           15151 2017-09-28 21:49:20Z Reinerlein
21_SONOSPLAYER.pm     14715 2017-07-14 10:39:57Z Reinerlein

VG Sebastian

Nobby1805

Hallo Sebastian,

das ist die aktuell verfügbare Version, damit kamen bei mir diese Fehlermeldungen nicht mehr ... da muss Reiner wohl noch einmal schauen
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

kumue

Ich habe seit ein paar Tagen meinen ersten Sonos, einen Play:1, integriert.
Im Log finde ich nun öfters diese Meldungen, immer gleich 10x hintereinander.
Loading device description failed with error: 400 Bad Request (Location: http://192.168.2.11:7676/smp_16_) at ./FHEM/00_SONOS.pm line 2443 thread 10.
400-URL-Absolute-Error! Location: "http://192.168.2.11:7676/smp_16_", Content: "" at ./FHEM/00_SONOS.pm line 2443 thread 10.


Die 192.168.2.11 ist ein Samsung TV.

Weiss jemand die Ursache ?


Esjay

Zitat von: kumue am 08 November 2017, 21:29:46
Ich habe seit ein paar Tagen meinen ersten Sonos, einen Play:1, integriert.
Im Log finde ich nun öfters diese Meldungen, immer gleich 10x hintereinander.
Loading device description failed with error: 400 Bad Request (Location: http://192.168.2.11:7676/smp_16_) at ./FHEM/00_SONOS.pm line 2443 thread 10.
400-URL-Absolute-Error! Location: "http://192.168.2.11:7676/smp_16_", Content: "" at ./FHEM/00_SONOS.pm line 2443 thread 10.


Die 192.168.2.11 ist ein Samsung TV.

Weiss jemand die Ursache ?
Schau dir mal das Wiki an..Da gibt es ein Attribut, wo du Ips ignorieren kannst,oder wo du expliziet die Ip des Sonos Device setzten kannst.Das sollte den Fehler beheben..Ich denke der TV nutzt das selbe Protokoll auf dem Sonos basiert,antwortet aber nicht so wie es das Modul erwartet..Ergo Fehler..
Gruß

kumue

Cool, danke für den Tipp.
Habe jetzt das Attribut ignoredIPs gesetzt.
Denke, damit erledigen sich die Logeinträge.


Tobias

HI,
ich habe heute mal wieder ein update gemacht und es scheint, als ob das Attribut "simulateCurrentTrackPosition" nix mehr macht. Bei mir steht es auf 5, aber es werden die Readings (currentTrackPositionSimulated,currentTrackPositionSimulatedPercent, currentTrackPositionSimulatedSec) nicht mehr aktualisiert. Ist das nur bei mir so?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

dantist

Zitat von: DeeSPe am 05 November 2017, 00:03:50
Statt dessen sollte auch das gehen:
set TYPE=SONOSPLAYER:FILTER=IsMaster=1:FILTER=presence=appeared Speak 20 de |Dingdong| Bla bla

Mit dem Befehl wird der Sound auf allen Master-Playern einzeln abgespielt, oder? Kommt es nicht zu unschönen Hall-Effekten, wenn die Player nicht gruppiert sind?

Otto123

Zitat von: dantist am 13 November 2017, 16:12:03
Mit dem Befehl wird der Sound auf allen Master-Playern einzeln abgespielt, oder? Kommt es nicht zu unschönen Hall-Effekten, wenn die Player nicht gruppiert sind?
Wenn Sie nicht gruppiert sind, läuft doch eh auf jedem was anderes.  ;D
Wenn man das nicht will muss man einfach vorher gruppieren. Aber dann ist es für das ding dong schon zu spät.  ::)

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