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

aktives Mitglied des FHEM e.V. (Technik)

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

aktives Mitglied des FHEM e.V. (Technik)

andre07

Danke damit geht es jetzt  :)