Sonos-Einrichtung

Begonnen von Bronze, 05 Mai 2020, 13:59:15

Vorheriges Thema - Nächstes Thema

andre07

#45

Internals:
   ALSADEVICE
   DEF        none
   FUUID      5f01f024-f33f-4a31-0b85-f956270981d57f67
   MODE       SERVER
   NAME       SonosTTS
   NR         42
   STATE      Initialized
   TYPE       Text2Speech
   VOLUME     90
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x1579660)
   READINGS:
     2020-07-06 23:21:59   Player          MQTT2_RINCON_5CAAFD243CDE01400
     2020-07-06 23:21:59   cifsName        /mnt/SonosSpeak/3c842c02c6a0ac7764e8f7c1b4f83ca9.mp3
     2020-07-06 23:14:51   host            192.168.178.46
     2020-07-06 23:21:59   lastFilename    /mnt/SonosSpeak/3c842c02c6a0ac7764e8f7c1b4f83ca9.mp3
     2020-07-06 23:21:59   playing         0
     2020-07-06 23:21:59   volume          90
   helper:
     Text2Speech:
Attributes:
   DbLogExclude .*
   TTS_CacheFileDir /mnt/SonosSpeak
   TTS_Language Deutsch
   room       System
   userReadings cifsName:lastFilename.* {my $host=ReadingsVal($name,'host','set host first');my $lastFileName=ReadingsVal($name,'lastFilename','');$lastFileName=~s/\/var/x-file-cifs:\/\/$host/g;$lastFileName}


Funktioniert leider immer noch nicht   :-[ oder fehlt da noch was

Im log kann man das sehen

2020.07.07 12:12:35.805 3: MQTT2_DEVICE set MQTT2_RINCON_5CAAFD243CDE01400 speak 80 Hier sollte mein Text erklingen
2020.07.07 12:12:36.142 3: MQTT2_DEVICE set MQTT2_RINCON_5CAAFD243CDE01400 notify 80 /mnt/SonosSpeak/4bb44b521006bb1a52cee0bc78745118.mp3
2020.07.07 12:12:36.193 4: MQTT2_DEVICE_Parse: MQTT2_RINCON_5CAAFD243CDE01400 sonos/RINCON_5CAAFD243CDE01400/error => { json2nameValue($EVENT) }


Otto123

Oh man, ich bin ein Dödel - jetzt sehe ich!
Du hast ja den Share namen anders, da kann meine Variante nicht gehen! 🙈

ZitatuserReadings cifsName:lastFilename.* {my $host=ReadingsVal($name,'host','set host first');my $lastFileName=ReadingsVal($name,'lastFilename','');$lastFileName=~s/\/var/x-file-cifs:\/\/$host/g;$lastFileName}
Ich mach das noch besser, aber probier mal so :)
userReadings cifsName:lastFilename.* {my $host=ReadingsVal($name,'host','set host first');my $lastFileName=ReadingsVal($name,'lastFilename','');$lastFileName=~s/\/mnt/x-file-cifs:\/\/$host/g;$lastFileName}

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

andre07

Ok das "var" hätte ich auch selber sehen können
aber so was es bequemer zum copy fand past.

Otto123

Ich hätte diesen Vorschlag:
attr SonosTTS userReadings cifsName:lastFilename.* {my $host=ReadingsVal($name,'host','set host first');;my $lastFileName=ReadingsVal($name,'lastFilename','');;my @arr=split('/',$lastFileName);;$arr[0]='x-file-cifs:/';;$arr[1]=$host;;join('/',@arr)}
Ersetzt in lastFileName den Pfad durch den Host und baut eine url x-file-cifs:/

Damit ist es egal wie der exakte lokale Pfad ist, nur der Sharename muss gleich dem letzten Teil des Pfadnamens sein.
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

andre07

Danke damit geht es jetzt  :)