Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.

+7 495 204-27-80

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: z-wave и звуковые колонки

z-wave и звуковые колонки 06 Июнь 2014 10:52 #7877

  • am7dm7
  • am7dm7 аватар
  • Вне сайта
  • Осваиваюсь на форуме
  • Сообщений: 20
  • Спасибо получено: 7
  • Репутация: 3
Спасибо. Чет меня переклинило пробелы то убирать. Видимо было дело принципа. Понять и простить)) Еще бы цифры из статуса устройства в текст научится конверитровать, что бы потом его в голосовой движок отправлять (имхо с LUA это очень проблематично, здесь какой то промежуточный модуль должен быть).

z-wave и звуковые колонки 06 Июнь 2014 12:43 #7891

  • никто
  • никто аватар
  • Вне сайта
  • Гуру
  • Сообщений: 158
  • Спасибо получено: 21
  • Репутация: 1
С погодой разобрался, все пашет.

Такой вот еще вопрос, а плагин Sonos никак в imperihome не вытащить? Только сцены писать и их добавлять в программу??

Надо управлять колонкой не из домашней сети.

z-wave и звуковые колонки 06 Июнь 2014 13:22 #7897

  • rsergio
  • rsergio аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 227
  • Спасибо получено: 35
  • Репутация: 4
Sonos можно вытащить в HomeWave (для iPad). Я с ImperiHome перелез на HomeWave т.к. он мне понравился больше. Планшет, специально купленный для ImperiHome валяется без дела.

В HomeWave можно управлять основными режимами, громкостью (как димером), отображать текущие данные воспроизведения и обложку, запускать сцены с избранными потоками (радио или конкретный файл).
Спасибо сказали: никто

z-wave и звуковые колонки 07 Июнь 2014 08:15 #7935

  • am7dm7
  • am7dm7 аватар
  • Вне сайта
  • Осваиваюсь на форуме
  • Сообщений: 20
  • Спасибо получено: 7
  • Репутация: 3
Написал тут сегодня ночью оптимизированный скрипт озвучивания температуры, но вот косяк, он что то перестал работать. Не могу найти баг в нем. Помогите, где в нем ошибка?))
-- Переменные

local t = os.date('*t')
local serviceImperi = "urn:imperihome-com:serviceId:ImperiHomeDevice1"
local idImperiPad = 121
local idImperiPhone = 87
local MaxTempDay = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 155) -- В конце, в скобках ставим ID устройства показывающего максимальную температуру.
local MinTempDay = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 154) -- В конце, в скобках ставим ID устройства показывающего минимальную температуру.
local NowTempDay = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 153) -- В конце, в скобках ставим ID устройства показывающего текущую температуру.
local HumTempDay = luup.variable_get("urn:micasaverde-com:serviceId:HumiditySensor1","CurrentLevel",156) -- В конце, в скобках ставим ID устройства показывающего влажность.

-- Логика приветствия

local current_second = t.hour * 3600 + t.min * 60
local morning = 06 * 3600 + 0 * 60 -- 06:00
local afternoon = 12 * 3600 + 0 * 60 -- 12:00
local evening = 18 * 3600 + 0 * 60 -- 18:00

if (current_second > morning) and (current_second < afternoon) then
SayWelcome = "Доброе утро! "
else

if (current_second > afternoon) and (current_second < evening) then
SayWelcome = "Добрый день! "
else

SayWelcome = "Добрый вечер! "
end
end

-- Логика произношения температуры

if (MaxTempDay == 1) or (MaxTempDay == 21) or (MaxTempDay == 31) or (MaxTempDay == 41) then
MaxTempDaySpel = "градус"
else
if (MaxTempDay > 4) and (MaxTempDay < 21) or (MaxTempDay > 24) and (MaxTempDay < 31) or (MaxTempDay > 34) and (MaxTempDay < 41) then
MaxTempDaySpel = "градусов"
else
MaxTempDaySpel = "градуса"
end
end

if (MinTempDay == 1) or (MinTempDay == 21) or (MinTempDay == 31) or (MinTempDay == 41) then
MinTempDaySpel = "градус"
else
if (MinTempDay > 4) and (MinTempDay < 21) or (MinTempDay > 24) and (MinTempDay < 31) or (MinTempDay > 34) and (MinTempDay < 41) then
MinTempDaySpel = "градусов"
else
MinTempDaySpel = "градуса"
end
end

if (NowTempDay == 1) or (NowTempDay == 21) or (NowTempDay == 31) or (NowTempDay == 41) then
NowTempDaySpel = "градус"
else
if (NowTempDay > 4) and (NowTempDay < 21) or (NowTempDay > 24) and (NowTempDay < 31) or (NowTempDay > 34) and (NowTempDay < 41) then
NowTempDaySpel = "градусов"
else
NowTempDaySpel = "градуса"
end
end

-- Логика произношения влажности

if (HumTempDay == 1) or (HumTempDay == 21) or (HumTempDay == 31) or (HumTempDay == 41) or (HumTempDay == 51) or (HumTempDay == 61) or (HumTempDay == 71) or (HumTempDay == 81) or (HumTempDay == 91) then
HumTempDaySpel = "процент"
else
if (HumTempDay > 4) and (HumTempDay < 21) or (HumTempDay > 24) and (HumTempDay < 31) or (HumTempDay > 34) and (HumTempDay < 41) or (HumTempDay > 44) and (HumTempDay < 51) or (HumTempDay > 54) and (HumTempDay < 61) or (HumTempDay > 74) and (HumTempDay < 81) or (HumTempDay > 84) and (HumTempDay < 91) or (HumTempDay == 100) then
HumTempDaySpel = "процентов"
else
HumTempDaySpel = "процента"
end
end

-- Действие

luup.call_action(serviceImperi, "SayTTS", {Text = " " ..SayWelcome.. ", Максимальная температура сегодня составит" .. MaxTempDay .. " градусов. Минимальная температура" ..MinTempDay.. ", Сейчас за окном! " ..NowTempDay.. " градусов. Влажность воздуха! " ..HumTempDay.. " Процентов" }, idImperiPhone)

luup.call_action(serviceImperi, "SayTTS", {Text = " " ..SayWelcome.. ", Максимальная температура сегодня составит" .. MaxTempDay .. " градусов. Минимальная температура" ..MinTempDay.. ", Сейчас за окном! " ..NowTempDay.. " градусов. Влажность воздуха! " ..HumTempDay.. " Процентов" }, idImperiPad)





z-wave и звуковые колонки 07 Июнь 2014 22:40 #7943

  • am7dm7
  • am7dm7 аватар
  • Вне сайта
  • Осваиваюсь на форуме
  • Сообщений: 20
  • Спасибо получено: 7
  • Репутация: 3
Догнал в чем проблема. Все дело в том что почему то нельзя в условии написать запись типа:
if (luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 154) > 5) then
...
У меня это именно так и реализовано, но через переменную. Не хочет он решать такую запись. Вопрос, как получить статус с устройства и запихнуть его в такое уравнение?

z-wave и звуковые колонки 07 Июнь 2014 23:20 #7945

  • am7dm7
  • am7dm7 аватар
  • Вне сайта
  • Осваиваюсь на форуме
  • Сообщений: 20
  • Спасибо получено: 7
  • Репутация: 3
Че то не спится))
Встречайте! Допиленный скрипт ПРАВИЛЬНОГО произношения погоды!. Теперь "баба" не говорит - "десяти минут" и т.д. Все дело в том что надо проставлять точки между значением и словом (процент, минут и т.д.) тогда голосовой движок говорит все правильно. Проверьте кто сможет, может есть какие то огрехи в конструкции, но у меня вроде все норм.

P.S. Проблему постом выше решил так - залез на вики Веры wiki.micasaverde.com/index.php/Luup_Scenes_Events , и нашел там один нюанс. Заключается он в том, что значения в статусе хранятся в другом формате (текстовом) и для арифметических вычислений необходимо запрос взять в кавычки и перед ним поставить - tonumber.


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Последнее редактирование: 07 Июнь 2014 23:30 от am7dm7.
Спасибо сказали: Acute, allmoney.ws, никто

z-wave и звуковые колонки 08 Июнь 2014 12:41 #7947

  • никто
  • никто аватар
  • Вне сайта
  • Гуру
  • Сообщений: 158
  • Спасибо получено: 21
  • Репутация: 1
С позволения форумчан выложу небольшое пособие как заставить Sonos проговаривать погоду.

Расскажу на своем примере. У меня имеется Sonos Play:3 + Sonos Bridge.

Сперва устанавливаем и настроиваем плагин Wunderground Weather Plugin

plugin_2014-06-08.jpg


Устанавливается он как все плагины. Есть небольшие нюансы в настройке.
Для того, чтобы плагин стал считывать погоду:

1) регистрируемся на сайте http://www.wunderground.com
2) после идем по ссылке http://www.wunderground.com/weather/api/ и получаем там ключ.
3) теперь идем в оболочку контроллера Vera в раздел DEVICES и нажимаем значек настройки World Weather.

plugin_2.jpg


На вкладке Settings ставим Display Units - Metric,
прописываем Location: 55.904099,37.560600 (это для Москвы соответственно)
Provider Key: ключ, который мы получили
Polling: 14400 (это частота проверки погоды с сукендах. я выбрал 4 часа)

Все, плагин настроен и должен показывать погоду и влажность.


plugin_3.jpg


Получаем 4 устройства: максимальная температура на день, влажность, минимальная температура и текущая температура.

Остается только запрограммировать событие на считывание показаний с устройств и проговаривание погоды.
Идем в AUTOMATION -> New Scene.

Scene_1.jpg


Вписываем название сцены (в моем случае Weathe_timer) и исполнение ставим Immediate (немедленно). Переходим на вкладку LUUP и прописываем следующий код:
local t = os.date('*t')
local sonosid = 11
local soundlevel = 15  -- громкость проговаривания погоды
local serviceSonos = "urn:micasaverde-com:serviceId:Sonos1"  -- сервис у всех одинаковый
local StatusID15 = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 15)
local StatusID13 = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 13)
local StatusID16= luup.variable_get("urn:micasaverde-com:serviceId:HumiditySensor1","CurrentLevel",16)
 
 
local current_second = t.hour * 3600 + t.min * 60
local morning = 06 * 3600 +  0 * 60             -- 06:00
local afternoon = 12 * 3600 +  0 * 60       -- 12:00
local evening = 18 * 3600 +  0 * 60             -- 18:00
 
   if (current_second > morning) and (current_second < afternoon) then
         luup.call_action(serviceSonos, "Say", {Text = "Дооброе утро!, Максимальная температура сегодня составит" .. StatusID15 .. " градусов. Сейчас за окном! "  ..StatusID13.. " градусов. Влажность воздуха! " ..StatusID16.. "  Процентов"  ,  Volume=soundlevel}, sonosid)
   else
 
        if (current_second > afternoon) and (current_second < evening) then
             luup.call_action(serviceSonos, "Say", {Text = "Добрый день!, Максимальная температура сегодня составит" .. StatusID15 .. " градусов. Сейчас за окном! "  ..StatusID13.. " градусов. Влажность воздуха! " ..StatusID16.. "  Процентов"  ,  Volume=soundlevel}, sonosid)
        else
 
             luup.call_action(serviceSonos, "Say", {Text = "Добрый вечер!, Максимальная температура сегодня составит" .. StatusID15 .. " градусов. Сейчас за окном! "  ..StatusID13.. " градусов. Влажность воздуха! " ..StatusID16.. "  Процентов"  ,  Volume=soundlevel}, sonosid)
        end
   end

,где local sonosid = 11 смотри скриншот

Scene_2.jpg


local StatusID15 = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 15)

значение StatusID берем из устройства максимальной температуры

Scene_3.jpg


local StatusID13 = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 13)

значение StatusID берем из устройства текущей температуры

Scene_4.jpg


local StatusID16= luup.variable_get("urn:micasaverde-com:serviceId:HumiditySensor1","CurrentLevel",16)

значение StatusID берем из устройства влажности воздуха

Scene_5.jpg


C кодом закончили. Нажимаем Save Lua и идем во вкладку Schedules и добавляем расписание срабатывания нашей сцены.

Scene_6.jpg


Scene_7.jpg


Тут все просто, я задал срабатывание сцены с Пн по Пт в 8*00.

Все сохраняем. Готово.

Надеюсь понятно расписал, если что обращайтесь.
Вложения:
Последнее редактирование: 08 Июнь 2014 12:47 от никто.
Спасибо сказали: Acute, allmoney.ws, MixaSP, novus, rsergio

z-wave и звуковые колонки 08 Июнь 2014 13:00 #7948

  • MixaSP
  • MixaSP аватар
  • Вне сайта
  • Z-Wave мастер
  • Развиваю развиваясь
  • Сообщений: 1513
  • Спасибо получено: 246
  • Репутация: 52
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Hardware: MCV Vera3 1.5.622; 4х Fibaro FGS211; 3x Fibaro FGS221; 1x Fibaro FGD211; 1x Fibaro Wall Plug; 3x Everspring SP814 (Motion); 1x Everspring ST814 (Temp/Hum); 2x Minimote; 1x Aeon Multisensor 4in1; 3x TKB TZ68G; 1х Everspring ST812 (Flood)...

Plugins: PLEG; Wunderground; Power Arithmetic; dataMine; DayOrNight; Ping Sensor; VeraAlerts.

In progress: [][][][][][][][][].. 95% complete

In future: 1x Wall Plug; 1x Remotec ZXT120

z-wave и звуковые колонки 08 Июнь 2014 13:39 #7949

  • никто
  • никто аватар
  • Вне сайта
  • Гуру
  • Сообщений: 158
  • Спасибо получено: 21
  • Репутация: 1
Координаты не трогал?
У меня сначала писал за 40 градусов, потом правильно разделил координаты и заработало.

z-wave и звуковые колонки 08 Июнь 2014 17:17 #7950

  • rsergio
  • rsergio аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 227
  • Спасибо получено: 35
  • Репутация: 4
Почти все тоже самое, только частота обновления погоды - 15 минут т.к. использую не только для озвучки, но и как дублер датчика температуры за окном.

Кстати, по поводу Sonos - как-то с утра он не разбудил привычным голосом. Стал разбираться - плагин почему-то показывал статус Offline. Перегрузил Vera - заработало. Но полагаться 100% на голос в качестве будильника не стоит, всегда надо заводить еще один будильник (например, в телефоне).

z-wave и звуковые колонки 24 Июнь 2014 23:35 #8194

  • Acute
  • Acute аватар
  • Вне сайта
  • Администратор
  • Сообщений: 3104
  • Спасибо получено: 459
  • Репутация: 70
rsergio пишет:
Можно звук через Aux завести, но как сказали - для работы все-равно нужно, чтобы колонка находилась в сети, иначе при пропажи питания опять будет как плеер работать и нечем переключить на Aux.
Это действительно так? Ведь баг получается, если сигнал, постоянно поданный на AUX после пропадания напряжения нельзя воспроизвести. Пока Sonos в теории изучаю, и мне надо, чтобы была всегда возможность выбора сигнала со входа AUX, а тут такая новость...
Группа форума в Telegram t.me/zwaveforum

z-wave и звуковые колонки 25 Июнь 2014 00:17 #8195

  • rsergio
  • rsergio аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 227
  • Спасибо получено: 35
  • Репутация: 4
Acute пишет:
rsergio пишет:
Можно звук через Aux завести, но как сказали - для работы все-равно нужно, чтобы колонка находилась в сети, иначе при пропажи питания опять будет как плеер работать и нечем переключить на Aux.
Это действительно так?
На деле оказалось не так. Есть функция автопереключения на AUX при обнаружении на нем сигнала. Работает даже если колонка не подключена к беспроводной сети. Так что смело можно брать на дачу ;)

z-wave и звуковые колонки 25 Июнь 2014 08:55 #8196

  • никто
  • никто аватар
  • Вне сайта
  • Гуру
  • Сообщений: 158
  • Спасибо получено: 21
  • Репутация: 1
Блин,а у меня неприятный баг вылез, плей 3 раз в 2-3 дня начинает заикаться и через несколько минут напрочь теряет сеть( Приходится каждый раз из розетки его выдергивать и тут же обратно вставлять.
В чем косяк может быть? Расстояние от плеера до моста метров 5 (правда через бетонную стенку).
Косяк именно в плеере, выявил опытным путем.

z-wave и звуковые колонки 25 Июнь 2014 10:10 #8197

  • Neos
  • Neos аватар
  • Вне сайта
  • Давно я тут
  • Сообщений: 77
  • Спасибо получено: 11
  • Репутация: 0
никто пишет:
Блин,а у меня неприятный баг вылез, плей 3 раз в 2-3 дня начинает заикаться и через несколько минут напрочь теряет сеть( Приходится каждый раз из розетки его выдергивать и тут же обратно вставлять.
В чем косяк может быть? Расстояние от плеера до моста метров 5 (правда через бетонную стенку).
Косяк именно в плеере, выявил опытным путем.

Попробует поменять канал wi fi

z-wave и звуковые колонки 25 Июнь 2014 10:13 #8198

  • никто
  • никто аватар
  • Вне сайта
  • Гуру
  • Сообщений: 158
  • Спасибо получено: 21
  • Репутация: 1
Neos пишет:
Попробует поменять канал wi fi

Это видимо в настройках плеера? Что-то не помню такой настройки.
Поищу.

z-wave и звуковые колонки 04 Июль 2014 10:12 #8293

  • empenoso
  • empenoso аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 254
  • Спасибо получено: 40
  • Репутация: 5
am7dm7 пишет:
Че то не спится))
Встречайте! Допиленный скрипт ПРАВИЛЬНОГО произношения погоды!. Теперь "баба" не говорит - "десяти минут" и т.д. Все дело в том что надо проставлять точки между значением и словом (процент, минут и т.д.) тогда голосовой движок говорит все правильно. Проверьте кто сможет, может есть какие то огрехи в конструкции, но у меня вроде все норм.

P.S. Проблему постом выше решил так - залез на вики Веры wiki.micasaverde.com/index.php/Luup_Scenes_Events , и нашел там один нюанс. Заключается он в том, что значения в статусе хранятся в другом формате (текстовом) и для арифметических вычислений необходимо запрос взять в кавычки и перед ним поставить - tonumber.


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Отлично произносит, но все равно бывает голос бывает вместо "двадцать пять" говорит "двадцати пяти", например. Ни в коем случае не упрек автору, а просто видимо особенность движка Google TTS :silly: .

z-wave и звуковые колонки 09 Июль 2014 21:18 #8378

  • никто
  • никто аватар
  • Вне сайта
  • Гуру
  • Сообщений: 158
  • Спасибо получено: 21
  • Репутация: 1
Play:3 продолжает свои выкрутасы(
Раз в 2-3 дня начинает заикаться.
Каналы связи менял. Пробовал даже отправить какой-то отчет о работе системы разработчику. Пока без изменений.

z-wave и звуковые колонки 17 Июль 2014 21:54 #8451

  • Acute
  • Acute аватар
  • Вне сайта
  • Администратор
  • Сообщений: 3104
  • Спасибо получено: 459
  • Репутация: 70
Спасибо за инструкцию по настройке проговаривания погоды. Поигрался буквально час, возник вопрос: у меня первое слово часто проглатывается... У всех так или только у меня?
Группа форума в Telegram t.me/zwaveforum

z-wave и звуковые колонки 17 Июль 2014 22:17 #8452

  • никто
  • никто аватар
  • Вне сайта
  • Гуру
  • Сообщений: 158
  • Спасибо получено: 21
  • Репутация: 1
Да, бывает такое, но не всегда.
Думаю пару пробелов в начале помогут.

z-wave и звуковые колонки 17 Июль 2014 23:25 #8453

  • Acute
  • Acute аватар
  • Вне сайта
  • Администратор
  • Сообщений: 3104
  • Спасибо получено: 459
  • Репутация: 70
Мои пробелы не помогают. Нужна помощь специалистов ). Еще напрягает, как десятые говорит - "двадцать один шесть градусов" (21,6). Зачем они вообще в плагине нужны.. Но в целом, впечатление от Соноса приятное.
Группа форума в Telegram t.me/zwaveforum
Время создания страницы: 0.216 секунд