NEWS
Драйвер Sonos
-
В общем посмотрел всякие ролики про сонос, интерфейсы, мне понравился. Нацелюсь на покупку %).
Bluefox, я тут чуть чуть почитал. Человек (Jimmy Shimiz) который написал серверную часть Sonos Web Controller, написал еще воспроизведение TTS с остановкой и дальнейшим воспроизведением, может что подглядеть и добавить можно.
https://github.com/jishi/node-sonos-http-api
http://www.youtube.com/watch?v=GIPxEZx8m8k, где он показывает как работает.
А в описании я нашел еще вот что:
` > Say (TTS support)Experimental support for TTS. Action is:
/[Room name]/say/[phrase][/[language_code]]
/sayall/[phrase][/[language_code]]
Example:
/Office/say/Hello, dinner is ready
/Office/say/Hej, maten är klar/sv
/sayall/Hello, dinner is ready
Sayall will group all players, set 20% volume and then try and restore everything as the way it where. Please try it out, it will probably contain glitches but please report detailed descriptions on what the problem is (starting state, error that occurs, and the final state of your system). `
То есть есть возможность отправить голос в разные комнаты и во все. Я к чему, если есть например датчики движения и iobroker знает что люди есть только в зале, то можно голос направить только в эту зону.
Может вообще потом добавить как драйвер sonos-http-api
-
Это он недавно написал. Jan 11, 2015
Я об этом ещё не знал. Спасибо.
-
У меня тут вопрос назрел.
Если я через Сонос решил послушать музыку и выставил громкость скажем на максимум (по болдел), потом я закрываю приложение через которое управлял музыкой, то громкость остается на максимуме? А тут на тебе голос решил время проговорить и тут то я и налажу в штаны …
Как в такой ситуации быть? Громкость на колонке должна быть выставлена в 100%, а у голоса тогда например в 30%? Мне такой подход не нравится, на максимальной громкости, даже если ничего не поет, я думаю усилок будет жрать энергию, да и возможно будет слышно небольшое шипение.
Или может можно получить статус громкости и тогда убавив ее, дальше проговорить голосом?
-
Или может можно получить статус громкости и тогда убавив ее, дальше проговорить голосом? `
Можно попробовать так://Получаем уровень громкости var volume = getState('sayit.0.tts.volume').val; //Проверяем уровень, если 100 то уменьшаем до 70 if(volume == 100){ setState(('sayit.0.tts.volume'),70); }
Это на примере sayit, но я думаю в драйвере sonos тоже есть такой объект.
-
Да. Нормально, но я ещё не решил проблему (точнее не решал) с воcстановлением воспроизведения после говорения. `
Странно, но у меня работает, правда, такое ощущение сложилось, что песня с начала начинает играть после произношения голосом.Еще обнаружены баги, попробую их описать.
-
Попробовал я связку выход звука через сервер + sonos. Постепенно начинает раздражать, т.к. идет рассинхрон. Сначало голос из колонки которая подключена к серверу, а потом из колонок Sonos. Жена сказала что нужно оставить, что то одно. Оставлю сонос
Еще замет, что если играет радио через интерент и в это время произносится голос, то проигрывание радио останавливается, а если это папка с музыкой играет, то вроде все ок.
Bluefox, а на данный момент я могу как нибудь заставить играть радио через сонос по крону например, а не из web интерфейса или из телефона? Или это нужно делать драйвер на который я раньше ссылку давал (api sonos)?
-
Баг. Если играет интернет радио и объединены две зоны (например кухня и ванная), то при воспроизведении голоса идет рассинхрон, зоны разъединяются и воспроизведение интернет радио после голоса не восстанавливается.
-
Bluefox, в логе после проговаривания голоса, есть такая строка Restore state: volume - 14, mute: false, uri: x-file-cifs://192.168.0.50/share/Music/Music%20for%20Striptease/disk%202/GALA%20-%20FARAWAY.mp3
В объектах не нашел переменной uri, можно ли ее туда добавить? Может восстановление воспроизведения было бы проще сделать?
И я как понял в эту переменную можно подсунуть что угодно? В плане проигрывания? Можно свой url например или радиостанцию?
-
У меня перестал выводится звук на колонки Sonos.
Ни речи, ни дин дона. В логах все нормально.
Через приложение музыка работает, все ОК.
Что может быть? И такое ощущение, что после какого то обновления.
-
Заработало само.
Ничего не трогал и не менял, я вообще не подходил к iobroker и через три дня заработало само :? .
-
После перезагрузки опять ничего не идет в колонки.
На всякий случай перезагрузил роутер и свитч. Стабильно не работает с iobroker'ом ничего не делал кроме перезагрузки.
-
Bluefox, почему может не работать sayit через sonos. Уже колонку подключил через ethernet, все равно тишина (ни дин дона , ни голоса) в логе все хорошо:
Нажмите Ctrl+A и Ctrl+C, что бы скопировать в буффер обмена и после этого нажмите мышкой в любом месте. sonos.0 2016-01-04 14:26:34 info sonos.0 Queue on sonos[RINCON_B8E93757ADC401400]: http://192.168.0.200:8082/state/sayit.0.tts.mp3, Volume: 45 sonos.0 2016-01-04 14:26:34 info sonos.0 Queue on sonos[RINCON_B8E937541C1801400]: http://192.168.0.200:8082/state/sayit.0.tts.mp3, Volume: 45 sonos.0 2016-01-04 14:26:34 debug inMem message messagebox.system.adapter.sonos.0 messagebox.system.adapter.sonos.0 sayit.0 2016-01-04 14:26:34 info sayit.0 sendTo 'send' to system.adapter.sonos from system.adapter.sayit.0: '45;' sayit.0 2016-01-04 14:26:34 info sayit.0 Send to sonos 45;http://192.168.0.200:8082/state/sayit.0.tts.mp3 sayit.0 2016-01-04 14:26:34 info sayit.0 saying: Тест sonos-0 2016-01-04 14:26:31 info Queue on sonos[RINCON_B8E93757ADC401400]: http://192.168.0.200:8082/state/sayit.0.tts.mp3, Volume: 45 sonos-0 2016-01-04 14:26:31 info Queue on sonos[RINCON_B8E937541C1801400]: http://192.168.0.200:8082/state/sayit.0.tts.mp3, Volume: 45 inMem 2016-01-04 14:26:31 debug message messagebox.system.adapter.sonos.0 messagebox.system.adapter.sonos.0 command=send, message=45;http://192.168.0.200:8082/state/sayit.0.tts.mp3, from=system.adapter.sayit.0, _id=10129 sayit-0 2016-01-04 14:26:31 info sendTo 'send' to system.adapter.sonos from system.adapter.sayit.0: '45;http://192.168.0.200:8082/state/sayit.0.tts.mp3' sayit-0 2016-01-04 14:26:31 info Send to sonos 45;http://192.168.0.200:8082/state/sayit.0.tts.mp3 sayit-0 2016-01-04 14:26:31 info saying: /opt/iobroker/node_modules/iobroker.sayit/Chord_cut.mp3 javascript-0 2016-01-04 14:26:31 info script.js.Tests: registered 0 subscriptions and 0 schedules javascript-0 2016-01-04 14:26:31 info Start javascript script.js.Tests
-
А по данному адресу должен mp3 файл проигрываться из браузера? У меня по данному адресу ничего не проигрывается -> "Страница не найдена".
http://192.168.0.200:8082/state/sayit.0.tts.mp3
Из SONOS Adapter музыка проигрывается.
UPD: Ни где про это не написано , что должен быть запущен драйвер "web web.0 ioBroker simple web Adapter".
Запустил, и по ссылке сразу файл воспроизвелся и Sonos заработал!!!
UPD2: В документации как то очень мало про это:
tts.mp3 - binary mp3 file to read it through web server. If selected "browser" or "sonos" the file will be made accessable over http://ip:8082/state/sayit.0.tts.mp3
-
UPD: Ни где про это не написано , что должен быть запущен драйвер "web web.0 ioBroker simple web Adapter".
Запустил, и по ссылке сразу файл воспроизвелся и Sonos заработал!!!
UPD2: В документации как то очень мало про это: `
Добавил в SONOS и в sayIt. -
После обновления, интерфейс через web не работает. Как будто не видит колонки вообще ни одной.
-
Bluefox, драйвер Sonos так и не работает, грешил на одноплатный компьютер, установил iobroker на виртуальной машине. И все то же самое.
Тестовый скрипт:
! var idSayIt = "sayit.0.tts.text";
! text = 'Доброе утро.';
! setState (idSayIt, text);
! log('log: '+text);Лог драйвера:
! javascript-0 2016-05-13 11:23:03 info Stop script script.js.Скрипт1
! inMem 2016-05-13 11:22:59 debug message messagebox.system.adapter.sonos.0 messagebox.system.adapter.sonos.0 command=send, message=70;http://192.168.72.128:8082/state/sayit.0.tts.mp3, from=system.adapter.sayit.0, _id=145
! sayit-0 2016-05-13 11:22:59 info Send to sonos 70;http://192.168.72.128:8082/state/sayit.0.tts.mp3
! sayit-0 2016-05-13 11:22:59 info saying: Доброе утро.
! inMem 2016-05-13 11:22:58 debug message messagebox.system.adapter.sonos.0 messagebox.system.adapter.sonos.0 command=send, message=70;http://192.168.72.128:8082/state/sayit.0.tts.mp3, from=system.adapter.sayit.0, _id=140
! javascript-0 2016-05-13 11:22:58 info script.js.Скрипт1: Доброе утро.
! javascript-0 2016-05-13 11:22:58 info script.js.Скрипт1: registered 0 subscriptions and 0 schedules
! javascript-0 2016-05-13 11:22:58 info Start javascript script.js.Скрипт1
! sayit-0 2016-05-13 11:22:58 info Send to sonos 70;http://192.168.72.128:8082/state/sayit.0.tts.mp3
! sayit-0 2016-05-13 11:22:58 info saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
! sonos-0 2016-05-13 11:22:45 info http sonos server listening on port 8083
! sonos-0 2016-05-13 11:22:45 info starting. Version 0.1.8 in /opt/iobroker/node_modules/iobroker.sonos
! sonos-0 2016-05-13 11:22:44 debug statesDB connected
! sonos-0 2016-05-13 11:22:44 debug objectDB connectedНо при этом ничего не воспроизводится на колонках. Web сервер запущен. С виндового приложения все работает.
В web интерфейсе Sonos, в колонке Rooms не отображается ни одна колонка, ЧТО я ДЕЛАЮ НЕ ТАК?
Прикрепил скрины.
!
-
Какая у тебя маска сети. На сонос и на ioBroker?
-
Так они явно в разных сетях. Сервер на 192.168.72.128 колонки на 192.168.0.130 и 194. Я незнаю принципы их работы но если через бродкаст , мультикаст то в этом причина
Отправлено с моего iPhone используя Tapatalk
-
У меня одноплатник в одной подсети и ничего не работает.
Перевел вир. машину в туже подсеть. Сейчас ip 192.168.0.201, маска 255.255.255.0
Все по прежнему не работает.
На Sonos ничего не выставляю, по dhcp сами получают адрес.
С компьютера и телефона все работает.
-
Заметил вот что:
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.volume
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_elapsed_s
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_elapsed
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_duration_s
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_duration
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_type
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_title
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_artist
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.current_album
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.state
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.state_simple
! sonos.0 2016-05-15 23:45:44 debug inMem message sonos.0.* sonos.0.root.192_168_0_194.alive
! sonos.0 2016-05-15 23:45:44 info sonos.0 Restore state: volume - 41, mute: false, uri: http://192.168.72.128:8082/state/sayit.0.tts.mp3
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.muted
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.volume
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.volume
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_elapsed_s
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_elapsed
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_duration_s
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_duration
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_type
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_title
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_artist
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.current_album
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.state
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.state_simple
! sonos.0 2016-05-15 23:45:39 debug inMem message sonos.0.* sonos.0.root.192_168_0_130.alive
! sonos.0 2016-05-15 23:45:39 info sonos.0 Play on sonos[RINCON_B8E93757ADC401400]: http://192.168.72.128:8082/state/sayit.0.tts.mp3, Volume: undefined
! sonos.0 2016-05-15 23:45:39 debug sonos.0 queue-changed [object Object]
! sonos.0 2016-05-15 23:45:39 warn sonos.0 Cannot restore sonos state
! javascript-0 2016-05-16 00:45:35 info Stop script script.js.Скрипт1
! sonos-0 2016-05-16 00:45:31 info Play on sonos[RINCON_B8E93757ADC401400]: http://192.168.72.128:8082/state/sayit.0.tts.mp3, Volume: 70
! sonos-0 2016-05-16 00:45:31 info Queue on sonos[RINCON_B8E937541C1801400]: http://192.168.72.128:8082/state/sayit.0.tts.mp3, Volume: 70
! inMem 2016-05-16 00:45:31 debug message messagebox.system.adapter.sonos.0 messagebox.system.adapter.sonos.0 command=send, message=70;http://192.168.72.128:8082/state/sayit.0.tts.mp3, from=system.adapter.sayit.0, _id=909
! sayit-0 2016-05-16 00:45:31 info Send to sonos 70;http://192.168.72.128:8082/state/sayit.0.tts.mp3
! sayit-0 2016-05-16 00:45:31 info saying: Доброе утро.
! javascript-0 2016-05-16 00:45:31 info script.js.Скрипт1: registered 0 subscriptions and 0 schedules
! javascript-0 2016-05-16 00:45:31 info script.js.Скрипт1: log: Доброе утро.
! javascript-0 2016-05-16 00:45:31 info Start javascript script.js.Скрипт1
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.volume val=70, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463334329
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_elapsed_s val=00:00, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463332350
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_elapsed val=0, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463332350
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_duration_s val=00:00, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463332350
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_duration val=0, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463332350
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_type val=0, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463333006
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_title val=sayit.0.tts.mp3, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463333006
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_artist val=, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1462987849
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.current_album val=, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463333006
! inMem 2016-05-16 00:45:29 debug message sonos.0.* sonos.0.root.192_168_0_194.alive val=true, ack=true, ts=1463334329, q=0, from=system.adapter.sonos.0, lc=1463332350
! sonos-0 2016-05-16 00:45:29 debug queue-changed [object Object]Потом почему то данные не приходят от колонок.