Depuis mon passage en V4 et l'installation de la dernière version du plugin squeezbox j'ai plein de dysfonctionnement et de comportement aléatoire.
En cherchant j'ai réussi a réduire ca à 3 problèmes que je n'arrive pas à résoudre :
1/ La commande parle n'accepte plus les caractères unicode alors que ça marchait très bien depuis toujours, par exemple je fait parle avec "accentué " et voici le log :
[2019-09-12 19:02:12.855][DEBUG] : Parle {'volumetts': '55', 'tts': 'accentu\xe9 ', 'webip': 'none', 'amp': '100', 'bitrate': '128', 'multitarget': [Player: b8:27:eb:44:55:0b], 'options': 'fr-FR', 'datafolder': '/var/www/html/plugins/squeezeboxcontrol/core/class/../../data', 'freq': '44100', 'jeedompath': '
http://192.168.253.30:80', 'moteur': 'picotts', 'action': 'parle', 'ttspath': 'none', 'player': Player: b8:27:eb:44:55:0b, 'device': 'b8:27:eb:44:55:0b', 'blank': 0, 'jingle': 'nojingle'}
[2019-09-12 19:02:12.855][DEBUG] : Hash is : 7fa6367259fe3fae2873130d2b077efa built with fr-FRaccentu\xe9 nojinglepicotts12844100100b827eb44550b
[2019-09-12 19:02:12.855][DEBUG] : exception action 'utf-8' codec can't decode byte 0xe9 in position 7: invalid continuation byte
2/ Dés que 2 client sont synchronisés maitre/esclave le comportement devient erratique (la musique se coupe, reprend, etc.) et une erreur apparait dans les logs en plusieurs centaine d'exemplaire :
[Thu Sep 12 08:25:04.598639 2019] [:error] [pid 26386] [client 127.0.0.1:50428] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/plugins/squeezeboxcontrol/core/php/jeeSqueezeboxcontrol.php on line 146
[Thu Sep 12 08:25:05.261091 2019] [:error] [pid 26305] [client 127.0.0.1:50480] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/plugins/squeezeboxcontrol/core/php/jeeSqueezeboxcontrol.php on line 146
[Thu Sep 12 08:25:05.517743 2019] [:error] [pid 2541] [client 127.0.0.1:50506] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/plugins/squeezeboxcontrol/core/php/jeeSqueezeboxcontrol.php on line 146
[Thu Sep 12 08:25:05.678857 2019] [:error] [pid 26386] [client 127.0.0.1:50518] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/plugins/squeezeboxcontrol/core/php/jeeSqueezeboxcontrol.php on line 146
[Thu Sep 12 08:25:05.841705 2019] [:error] [pid 26523] [client 127.0.0.1:50530] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/plugins/squeezeboxcontrol/core/php/jeeSqueezeboxcontrol.php on line 146
[Thu Sep 12 08:25:06.096937 2019] [:error] [pid 26217] [client 127.0.0.1:50542] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/plugins/squeezeboxcontrol/core/php/jeeSqueezeboxcontrol.php on line 146
J'ai verifié le code et voici le log debug du JSON qui est recu :
[2019-09-12 19:02:01][DEBUG] : Received Player State from daemon Array ( [repeat] => 0 [statut] => Lecture [synced] => Array ( [master] => Array ( [mac] => b8:27:eb:75:67:99 ) [slave] => null ) [volume] => 45 [shuffle] => 0 [player] => b8:27:eb:44:55:0b [etat] => On )
Et effectivement, dans le code quand master est non null, il fait un foreach sur slave qui dans mon cas est null. Bizarre... Bug ?
3/ Troisième chose qui apparaît a répétition dans les logs :
[2019-09-12 18:55:29.678][ERROR] : Exception on socket : 'dict' object has no attribute 'lower'
[2019-09-12 18:55:43.672][ERROR] : Exception on socket : 'dict' object has no attribute 'lower'
[2019-09-12 18:55:52.630][ERROR] : Exception on socket : 'dict' object has no attribute 'lower'
[2019-09-12 18:56:35.777][ERROR] : Exception on socket : 'dict' object has no attribute 'lower'
[2019-09-12 18:56:44.624][ERROR] : Exception on socket : 'dict' object has no attribute 'lower'
[2019-09-12 18:58:56.027][ERROR] : Exception on socket : 'dict' object has no attribute 'lower'
Sinon, j'ai tout verifié, les ports sont configuré, j'ai rescanné les clients, ré-installé le plugins, mis a jour lé dépendances, coté lms le plugin est en 2.1.1 depuis un certain temps, la clé api avait deja été mise et elle est bonne, lms a été redémarré un certain nombre de fois.
Là, Je séche.