[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

Begonnen von dominik, 10 Dezember 2015, 22:43:49

Vorheriges Thema - Nächstes Thema

buki

Zitat von: dominik am 19 Januar 2018, 22:58:57
An diejenigen mit dem "initialized" nach Reboot Problem, könnt ihr bitte prüfen was für einen status "presence" nach dem Reboot hat?

Der Status "presence" ist "offline"

dominik

Kannst du mir mal mit verbose 5 das Log nach dem Reboot posten?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Grml

Zitat von: dominik am 19 Januar 2018, 22:58:57
An diejenigen mit dem "initialized" nach Reboot Problem, könnt ihr bitte prüfen was für einen status "presence" nach dem Reboot hat?
"presence" ist offline, "state" ist online. Nach dem oben erwähnten defmod funktioniert das entsprechende Device wieder bis zum nächsten Reboot.

duke-f

Kann jetzt auf diese Frage nicht antworten, da ich ja mein "defmod" im Start habe. Aber ich habe ein neues Problem, bei dem ich GoogleCast als Mitverursacher im Verdacht habe.

Seit einigen Tagen startet mein Cubie per Watchdog neu, weil meine entsprechende Heartbeat-Datei von FHEM nicht mehr im Minutenrhythmus angetouched wird. Das passiert nahezu einmal täglich und verdächtigerweise erst die letzten Tage. Im FHEM-Logfile habe ic davor eine entsprechend lange Liste mit Einträgen:

To many open files

Meine Recherche führet mich auf den Thread
https://forum.fhem.de/index.php/topic,21732.msg152492.html#msg152492

Deshalb habe ich da mal die entsprechenden von Rudolf angegebenen Befehle ausgeführt mit folgenden Resultaten (Auszug, insgesamt in der ersten Ausgabe über 900 Zeilen bzw 430 in der zweiten Liste, davon großteils vom jeweils folgenden Typ):

{ `ls -l /proc/$$/fd` }
.
.
.
lrwx------ 1 fhem dialout 64 Jan 20 13:25 890 -> socket:[117717]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 891 -> socket:[116428]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 892 -> socket:[118862]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 893 -> socket:[116677]
lrwx------ 1 fhem dialout 64 Jan 20 13:40 894 -> socket:[1458048]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 895 -> socket:[118126]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 896 -> socket:[118129]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 897 -> socket:[116731]
.
.
.




{`netstat -a` }
.
.
.
tcp        1      0 Cubie.fritz.box:60756   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:60265   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:36601   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:35877   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:49633   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:59155   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:37043   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:43258   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:34047   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:60122   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:44746   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:58414   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:35382   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp      381      0 Cubie.fritz.box:52058   Chromecast.fritz.b:8009 CLOSE_WAIT
.
.
.


Vielleicht liege ich falsch, aber angesichts dieser Ausgaben scheint mir ein Verdacht doch naheliegend. Ich werde jetzt mal GOOGLECAST einige Zeit deaktivieren und dann sehen, ob sich das ganze wieder so einstellt oder ob die Neustarts unterbleiben.

@dominik:
Falls Du gerne nähere Information zu meiner Konfiguration brauchst, können wir uns gerne auch per PM austauschen. Zu viel will ich hier natürlich nicht offenlegen, wenn dies für niemanden sonst hilfreich ist.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

meddie

ich habe das gleiche Problem:
hier das Logfile (ich habe ein paar Zeilen von googlemaps wo meine Adresse ersichtlich ist und IP Adressen aus Datenschutzgründen entfernt)


2018.01.20 14:49:22 0: Server shutdown
2018.01.20 14:49:34 1: Including fhem.cfg
2018.01.20 14:49:34 3: telnetPort: port 7072 opened
2018.01.20 14:49:34 3: WEB: port 8083 opened
2018.01.20 14:49:34 3: WEBphone: port 8084 opened
2018.01.20 14:49:34 3: WEBtablet: port 8085 opened
2018.01.20 14:49:34 2: eventTypes: loaded 3698 events from ./log/eventTypes.txt
2018.01.20 14:49:34 3: Opening JeeLink_PCA device /dev/ttyUSB0
2018.01.20 14:49:39 3: Setting JeeLink_PCA serial parameters to 57600,8,N,1
2018.01.20 14:49:40 3: JeeLink_PCA device opened
2018.01.20 14:49:40 3: Waschmaschine: I/O device is JeeLink_PCA
2018.01.20 14:49:40 3: Waeschetrockner: I/O device is JeeLink_PCA
2018.01.20 14:49:42 1: HMLAN_Parse: HMLAN1 new condition disconnected
2018.01.20 14:49:42 3: Opening HMLAN1 device xxx.xxx.xxx.xxx:1000
2018.01.20 14:49:42 1: HMLAN_Parse: HMLAN1 new condition init
2018.01.20 14:49:42 3: HMLAN1 device opened
2018.01.20 14:49:42 3: Jet: Defined with URL http://www.clever-tanken.de/.....................................
2018.01.20 14:49:42 3: Jet: the attribute readingsExpr_Diesel should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Jet: the attribute readingsExpr_SuperE5 should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Jet: the attribute readingsName_SuperE5 should no longer be used. Please use reading01Name syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Jet: the attribute readingsRegex_SuperE5 should no longer be used. Please use reading01Regex syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: Defined with URL http://www.clever-tanken.de/tankstelle_details/23022 and interval 600
2018.01.20 14:49:42 3: Agip: the attribute readingsExpr_Diesel should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: the attribute readingsExpr_SuperE5 should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: the attribute readingsName_SuperE5 should no longer be used. Please use reading01Name syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: the attribute readingsRegex_SuperE5 should no longer be used. Please use reading01Regex syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet/:
2018.01.20 14:49:42 3: Registering HTTPSRV TABLETUI for URL /ftui   and assigned link ftui/ ...

2018.01.20 14:49:42 3: Opening fbCallMonitor device: xxx.xxx.xxx.xxx:1012
2018.01.20 14:49:42 3: TelegramBot_Define teleBot: called
2018.01.20 14:49:42 3: Esspressomaschine: I/O device is JeeLink_PCA
2018.01.20 14:49:42 3: PCA301_019F22: I/O device is JeeLink_PCA
2018.01.20 14:49:42 3: PCA301_000000: I/O device is JeeLink_PCA
2018.01.20 14:49:42 3: PCA301_797087: I/O device is JeeLink_PCA
2018.01.20 14:49:43 1: PERL WARNING: keys on reference is experimental at ./FHEM/70_DoorPi.pm line 565, <$fh> line 1106.
2018.01.20 14:49:43 1: PERL WARNING: keys on reference is experimental at ./FHEM/70_DoorPi.pm line 584, <$fh> line 1106.
2018.01.20 14:49:43 3: MOBILEUI: new ext defined infix:fmui/: dir:./www/mobile/:
2018.01.20 14:49:43 3: Registering HTTPSRV MOBILEUI for URL /fmui   and assigned link fmui/ ...
2018.01.20 14:49:43 3: GOOGLECAST: GoogleCast v2.0.2
2018.01.20 14:49:43 3: GOOGLECAST: ccWohnzimmer initializing...
2018.01.20 14:49:43 3: GOOGLECAST: ccEsszimmer initializing...
2018.01.20 14:49:43 3: GOOGLECAST: ccAlle initializing...
2018.01.20 14:49:43 3: GOOGLECAST: ghmEsszimmer initializing...
2018.01.20 14:49:43 1: Including ./log/fhem.save
2018.01.20 14:49:43 3: WARNING: unsupported character in reading duEsszimmer_Jalousien, (not A-Za-z/\d_\.-), notify the dummy module maintainer.
2018.01.20 14:49:43 3: Device Bad.Heizung added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Device HM_2E69BE added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Device HM_2E6BC0 added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Device SZ.KIND1.Heizung added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Opening CUL_MySensors device xxx.xxx.xxx.xxx:5003
2018.01.20 14:49:43 5: MYSENSORS send: Rx: fr=000 ci=000 c=003(C_INTERNAL    ) st=002(I_VERSION       ) ack=0 ''

2018.01.20 14:49:43 5: SW: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018.01.20 14:49:43 3: CUL_MySensors device opened
2018.01.20 14:49:43 3: for: multicast server discovery started
2018.01.20 14:49:43 3: for: broadcast server discovery started
2018.01.20 14:49:43 3: for: multicast client discovery started
2018.01.20 14:49:43 3: for: broadcast client discovery started
2018.01.20 14:49:43 3: for: pht client discovery started
2018.01.20 14:49:43 3: for: timeline listener started
2018.01.20 14:49:43 1: usb create starting
2018.01.20 14:49:44 3: Probing CUL device /dev/ttyS0
2018.01.20 14:49:44 3: Probing CUL device /dev/ttyS1
2018.01.20 14:49:44 3: Probing CUL device /dev/ttyS10
2018.01.20 14:49:44 1: PERL WARNING: can't getattr: Input/output error at FHEM/DevIo.pm line 394.
2018.01.20 14:49:44 1: usb create end
2018.01.20 14:49:44 0: Featurelevel: 5.8
2018.01.20 14:49:44 0: Server started with 188 defined entities (fhem.pl:15881/2018-01-14 perl:5.022001 os:linux user:fhem pid:1221)
2018.01.20 14:49:44 3: telnetForBlockingFn_1516456184.52155: port 41911 opened
2018.01.20 14:49:44 3: for: server discovered: xxx.xxx.xxx.xxx
2018.01.20 14:49:44 3: for: notification websocket opened to xxx.xxx.xxxx.xxx
2018.01.20 14:49:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 2297.
2018.01.20 14:49:44 5: MYSENSORS/RAW: /0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.1.1
0;255;3;0;2;2.1.1

2018.01.20 14:49:44 5: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=014(I_GATEWAY_READY ) ack=0 'Gateway startup complete.'

2018.01.20 14:49:44 5: MYSENSORS Read: Rx: fr=000 ci=255 c=000(C_PRESENTATION) st=018(S_ARDUINO_REPEATER_NODE) ack=0 '2.1.1'

2018.01.20 14:49:44 5: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=002(I_VERSION       ) ack=0 '2.1.1'

2018.01.20 14:49:44 1: HMLAN_Parse: HMLAN1 new condition ok
2018.01.20 14:49:44 3: fbCallMonitor device opened
2018.01.20 14:49:44 2: for: notification websocket: Switching Protocols failed
2018.01.20 14:49:44 3: CUL_HM set Tuerschloss statusRequest
2018.01.20 14:49:47 3: ENIGMA2 Wohnzimmer.TvReceiver: ERROR: Unable to read tv bouquet '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.bef001.tv" ORDER BY bouquet' from device
2018.01.20 14:49:47 1: [DoorPi_GetConfig] has error connect to http://xxx.xxx.xxx.xxx:80 timed out
2018.01.20 14:49:47 1: [DoorPi_GetHistory] cannot be called, no connection
2018.01.20 14:49:47 1: PERL WARNING: Use of uninitialized value $ics in split at ./FHEM/57_Calendar.pm line 930.
2018.01.20 14:49:47 2: Calendar Abfall: error (data not in ICal format; even not gzip data)
2018.01.20 14:49:47 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/99_myUtils.pm line 118.
2018.01.20 14:49:47 3: eval: my $TYPE='Calendar';my $NAME='Abfall';my $EVENT='triggered';my $EVTPART0='triggered';my $SELF='notAbfalltermine';{ Abfalltermine() }
2018.01.20 14:49:47 2: Calendar Kalender_Temp: error (data not in ICal format; even not gzip data)
2018.01.20 14:49:47 3: CALVIEW vKalender_Familie - CALENDAR:Kalender_Familie triggered, updating CALVIEW vKalender_Familie ...
2018.01.20 14:50:38 3: for: notification websocket opened to xxx,xxx,xxx.xxx
2018.01.20 14:50:38 2: for: notification websocket: Switching Protocols failed
2018.01.20 14:50:39 3: for: client discovered: xxx.xxx.xxx.xxx


Ich hoffe Du kannst damit etwas anfangen
VG Eddie

meddie

Und eine Frage gleich hinterher:

ist es irgendwie möglich eine Wiedergabe entweder einzelner Songs oder Wiedergabelisten aus Plex auf den Chromecasts zu starten?

Vielen Dank im Voruas
VG Eddie

duke-f

#396
Habe ejtzt das "defmod" rausgenommen.

Status von presence nach shutdown restart:
Wenn TV und Chromecast eingeschaltet sind während dem Neustart: online
Wenn TV und Chromecast ausgeschaltet sind während dem Neustart: offline

Im zweiten Fall dauert es dann schon einige Minuten, bis der Chromecast nach Einschalten dann als online gemeldet wird.

Nebenbei: Ich hoffe, dass sich mein Problem aus obigem Post mit dem ENtfernen des automatischen defmod gelöst hat - mal sehen.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

Jab jetzt nach dieser Nacht wieder recht viele Eintrage nach {'netstat -a'} - ca. 100 von insgesamt 200 Einträgen, obwohl der Chromecast aus war und fürchte, über kurz oder lang macht der cubie wieder zu. Haben andere auch diese Einträge? Wieviele sind denn "normal"?


tcp        1      0 Cubie.fritz.box:34213   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:56198   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp      750      0 Cubie.fritz.box:51624   Chromecast.fritz.b:8009 ESTABLISHED
tcp        0      0 Cubie.fritz.box:43876   Chromecast.fritz.b:8009 ESTABLISHED
tcp        1      0 Cubie.fritz.box:55166   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp      905      0 Cubie.fritz.box:58721   Chromecast.fritz.b:8009 CLOSE_WAIT
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

meddie

Hallo Leute,

ich habe wie auf Seite von 23 von Joachim übernommen, ein Sub erstellt in der myUtils die wie folgt aussieht:

sub sayitDE($)
{
  my ($ccVolume) = ReadingsVal("ccAlle","volume",99);
  my ($Answer)  = @_;
  my $encodedAnswer = urlEncode($Answer);
  my $PreAnswer = "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=";
  fhem("set ccAlle volume 99");
  fhem("set ccAlle play $PreAnswer$encodedAnswer");
  fhem("set ccAlle volume $ccVolume");
}


Ich habe 2 Chromecasts und ein Google Home Mini alle zusammen in eine Gruppe ccAlle zusammengefaßt, und möchte eigentlich nur eine Durchsage machen wenn ein bestimmtes Ereignis passiert. (z. B. Waschmaschine ist fertig) Da die Chromecasts an Lautsprechern hängen die nicht immer an sind und an dem Google Home die Lautstärke manchmal relativ leise eingestellt ist möchte ich dass die Lautstärke vor der Ansage auf 99 erhöht wird, dann die Ansage erfolgt und anschließend die Lautstärke auf den vorher eingestellten Wert zurückgestellt wird.

Leider klappt das nicht. Ich habe schon mehrfach beobachtet, dass wenn ich die Gruppe ccAlle öffnet und dort die Lautstärke verändere dort immer wieder ein anderer Wert übernommen wird. Z. B. ich schiebe den Regler auf 30 % und drücke auf set dann springt die Lautstärke auf 78 Prozent statt meinen 30. Dieser Wert ist jedesmal anders.

Könnt Ihr mir sagen was ich falsch mache?
Danke
Gruß Eddie


MadMax-FHEM

Hallo Eddie,

was ist denn die Gruppe ccAlle?

Poste doch mal ein list.

Oder hast du die GoogleCasts "nur" mittels Attribut group gruppiert?

Den "umständlichen" Code brauchst du gar nicht mehr, mittlerweile geht auch:

set myGoogleCast speak "Ok, das sage ich jetzt"

Warum merkst du dir nicht einfach von beiden GoogleCasts die Lautstärke, setzt bei beiden auf 99, machst die Ansage (mittels speak ;)  ) und stellst die Lautstärken zurück?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

meddie

Hallo Joachim,

die Gruppe ccAlle ist eine Chromecastgruppe, die kann man in der Google Home App bilden und mehrere Chromecasts zusammenfassen. Diese Gruppe erscheint dann als ein eigenes Chromecastgerät mit dem gewählten Namen bei mir ccAlle, wenn Du dann auf dieser Gruppe etwas wiedergibst spielt die Musik synchron auf allen Chromecasts in dieser Gruppe.

genau das habe ich in der Sub versucht abzubilden, aber das interessante ist dass ein set ccAlle volume 30 nicht dazuführt dass die Lautstärke auf 30 gesetzt wird. Ich muss alle Chromecasts einzeln auf 30 setzen und dann die Gruppe dann geht es, aber leider muss man ab und zu das ganze zwei drei mal wiederholen.

Hast Du ein Tipp wie ich das machen kann? Danke

meddie

Als ob, wenn man bei der Chromecast Gruppe die Lautstärke ändert es dann einen "durchschnittswert" von allen Geräten zusammen einnimmt. 

Wenn der ghmEsszimmer (google home mini) auf 60 steht und ich die Gruppe ccAlle auf 70 stelle, dann springt mir der Wert sofort auf 64 führe ich gleich danach ein set ccAlle volume 64 aus (also den gleichen Wert wieder) dann setzt er sich auf 62. Mann muss mehrfach den set volume 70 ausführen damit die Gruppe ccAlle den Wert 70 auch übernimmt.

MadMax-FHEM

Zitat von: meddie am 21 Januar 2018, 20:25:54
Hallo Joachim,

die Gruppe ccAlle ist eine Chromecastgruppe, die kann man in der Google Home App bilden und mehrere Chromecasts zusammenfassen. Diese Gruppe erscheint dann als ein eigenes Chromecastgerät mit dem gewählten Namen bei mir ccAlle, wenn Du dann auf dieser Gruppe etwas wiedergibst spielt die Musik synchron auf allen Chromecasts in dieser Gruppe.

Ah, ok.

Musikwiedergabe etc. mache ich per Alexa.
(Ich vergleiche ja immer noch Alexa und Google Home ;)  )

Aber auch dort (Alexa) gibt es sowas wie ein "Group-Device".
Dabei funktioniert beim Group-Device auch nicht alles.
Lautstärke kann ich nur erhöen bzw. absenken aber nicht auf einen bestimmten Wert setzen.
Die einzelnen Geräte tun dann "irgendwas" aber es geht damit auch nicht so zuverlässig wie direkt am Gerät...

Vielleicht ist es hier ebenso...
(Sind sich Alexa und Google Home doch näher ;)  )

Zitat von: meddie am 21 Januar 2018, 20:25:54
Hast Du ein Tipp wie ich das machen kann? Danke

Was genau?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

meddie

#403
den Wert merken und anschließend wieder setzen.

Ich habe auch beide Alexa und Google Home Mini und bin auch in der Findungsphase. Aber was mit an Google deutlich besser gefällt ist die Erkennung der Sprache und die Möglichkeit etwas auf dem Google auszugeben.


MadMax-FHEM

#404
Hmmm, eigentlich so wie du es gemacht hast, nur halt nicht vom Group-Device sondern von den einzelnen...


Sub my_Ansage($)
{
  my ($Ansage)  = @_;
  my $LSGoogleCast1 = ReadingsVal("GoogleCast1", "volume", 30); # oder anderer Ersatzwert
  my $LSGoogleCast2 = ReadingsVal("GoogleCast2", "volume", 30);

  fhem("set GoogleCast1 volume 99; set GoogleCast2 volume 99; set GoogleCast1 speak \"$Ansage\"; set GoogleCast2 speak \"$Ansage\"; sleep 20; set GoogleCast1 volume $LSGoogleCast1; set GoogleCast2 volume $LSGoogleCast2");
}


Allerdings habe ich gerade bemerkt, dass die Lautstärke hoch gestellt wird und bis die Ansage (inkl. buffering etc.) durch ist, ist die Lautstärke wieder runter...

Daher das sleep.
Wie lange das sein muss hängt halt von der Nachrichtenlänge ab.

Mit Potential zur Optimierung/Vereinfachung...

EDIT: man könnte sich die aktuelle LS auch in einem "eigenen" Reading merken und dann nach dem Abspielen der Nachricht (mediaPlayerState von playing auf idle könnte per Sequence "abgefragt" werden zusätzlich noch auf LS 99 prüfen) die Lautstärke auf den gemerkten Wert zurücksetzen. Damit wäre das dann passend zur Ansage und es wäre kein "fixer" Sleep. Einfachere Alternative: Sleep-Wert mit übergeben und somit je nach Ansagenlänge eine (hoffentlich) passende Pause...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)