NEWS
Погода на три дня
-
Установить драйвер "Javascript/Coffescript Script Engine". http://www.iobroker.net/?page_id=560&lang=ruНа вкладке скрипты создать новый и туда вставить код. `
Спасибо, вроде добавил. Может еще подскажешь как проверить вообще работает драйвер голоса или нет? (драйвер установлен).
filename="121212121.png" index="0">~~
Я правильно понимаю что если я напишу в конце скрипта - on({time: "37 */1 * * *"}, getForecast);
то он должен говорить погоду каждый час в 37 минут (11:37, 12:37 ….. и т.п.)
-
Спасибо, вроде добавил. Может еще подскажешь как проверить вообще работает драйвер голоса или нет? (драйвер установлен).
filename="121212121.png" index="0">~~
Я правильно понимаю что если я напишу в конце скрипта - on({time: "37 */1 * * *"}, getForecast);
то он должен говорить погоду каждый час в 37 минут (11:37, 12:37 ….. и т.п.) `
"37 * * * *" -
Видимо я туго соображаю, но скрипт у меня молчит.
Может нужно эти переменные где то создавать ? - forecast.today / forecast.tomorrow / forecast.dayAfterTomorrow
-
Видимо я туго соображаю, но скрипт у меня молчит `
А он включен?В лог что нибудь пишет?
266___________.png -
Может нужно эти переменные где то создавать ? - forecast.today / forecast.tomorrow / forecast.dayAfterTomorrow `
Они и создаются этими строками :createState('forecast.today',''); createState('forecast.tomorrow',''); createState('forecast.dayAfterTomorrow','');
-
Это ? (скрипт активен) настроен для отладки на каждую минуту проговаривать)
-
filename="444.JPG" index="1">~~
Это ? (скрипт активен) настроен для отладки на каждую минуту проговаривать) `
А js активен?
filename="Безымянный.png" index="0">~~Попробуй добавить после строки````
function getForecast() {log('Прошла минута');
-
А тут точно так должно быть ?
-
on({time: "* * * * *"}, getForecast);
@Securbond:А тут точно так должно быть ? `
266___________.png -
не работает :oops: :?
-
не работает :oops: :? `
Выложи весь код, под спойлер только -
Наметился прогресс
!
я подозреваю, что что бы проговаривал, нужно еще что то в скрипт писать?
-
Понимаю что в последней строке ерунду написал..((
! createState('forecast.today','');
! createState('forecast.tomorrow','');
! createState('forecast.dayAfterTomorrow','');
! var request = require('request');
! function getForecast() {
! request ('http://meteoinfo.ru/rss/forecasts/26063', function (error, response, body) {
! // Получаем ответ
! if (!error && response.statusCode == 200) {
! // Парсим данные
! var desc = body.match(/<description>(.)</description>/g);
! var date = body.match(/<item><title>(.)</title>/g);
! // Если данные существуют, то обрабатываем
! if (desc && date) {
! // Удаляем лишнюю строку из desc
! desc.splice(0, 1);
! var result = [];
! for(var t = 0; t < date.length; t++) {
! // Окончательно формируем строку с прогнозом (удаляем теги и не нужную информацию)
! result.push({date: date[t].replace("<title>", "").replace("</title>", ""), desc: desc[t].replace("<description>", "").replace("</description>", "").replace(/м/c/g, "м в секунду").replace(/Атмосферное давление ночью (.) мм рт.ст. /g, "").replace(/Вероятность осадков (.)%/g, "") });
! }
! // Сохраняем данные
! for(var t = 0; t < result.length; t++) {
! switch (t) {
! case 0:
! // Прогноз на сегодня
! setState('forecast.today', result[0].desc);
! break;
! case 1:
! // Прогноз на завтра
! setState('forecast.tomorrow', result[1].desc);
! break;
! case 2:
! // Прогноз на послезавтра
! setState('forecast.dayAfterTomorrow', result[2].desc);
! break;
! }
! log(result[t].date + " => " + result[t].desc);
! }
! }
! }
! });
! }
! // Запускаем в 45 минут через 2 часа
! on({time: "* * * * "}, getForecast);
! setState ({time: " * * * *"},idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val);</title></item></description>
7614_screenshot_20181109-163635_samsung_internet.jpg
7614_inked20181108_062959_li.jpg
7614_20181109_162551.jpg -
Наметился прогресс
! filename="777.JPG" index="0">~~
я подозреваю, что что бы проговаривал, нужно еще что то в скрипт писать? `
Ну вот, сам скрипт то теперь работает.Добавь к нему эти строки
on({id: 'javascript.0.forecast.today', change: 'any'}, function (obj) { setState('sayit.0.tts.text', obj.newState.val); });
А вообще скрипт для проговаривания времени выкладывали тут на форуме http://forum.iobroker.net/viewtopic.php?f=26&t=495
-
пишет такую ошибку -
sayit.0 2015-12-18 21:15:01 error sayit.0 Cannot get file: received file is too short
sayit.0 2015-12-18 21:15:01 info sayit.0 saying: Облачно, небольшой дождь. Температура ночью 2°, днём 6°. Ветер западный, 5 м/с.
sayit.0 2015-12-18 21:15:00 warn sayit.0 Same text in less than half a second.. Strange. Ignore it.
-
пишет такую ошибку -
sayit.0 2015-12-18 21:15:01 error sayit.0 Cannot get file: received file is too short
sayit.0 2015-12-18 21:15:01 info sayit.0 saying: Облачно, небольшой дождь. Температура ночью 2°, днём 6°. Ветер западный, 5 м/с.
sayit.0 2015-12-18 21:15:00 warn sayit.0 Same text in less than half a second.. Strange. Ignore it. `
У тебя скрипт случайно не каждую секунду отрабатывает? -
по логам, каждую минуту. но проигрывает только "динь дон" (предварительный сигнал прописанный в настройках драйвера.
-
по логам, каждую минуту. но проигрывает только "динь дон" (предварительный сигнал прописанный в настройках драйвера. `
А драйвер syit настраивал?Для Ivona регистрация тут https://www.ivona.com/us/for-business/speech-cloud/
266___________.png -
У меня гугл стоял..
зарегистрировал ивону, теперь пишет -
sayit-0 2015-12-18 21:46:01 warn Received file is too short: {"Message":"Authentication failed"}
Подожду, там вроде пишут что через 30 мин начинает работать.
-
У меня гугл стоял..
зарегистрировал ивону, теперь пишет -
sayit-0 2015-12-18 21:46:01 warn Received file is too short: {"Message":"Authentication failed"} `
Видимо не может авторизоваться