NEWS
Погода на три дня
-
не работает :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"} `
Видимо не может авторизоваться -
заговорила болтушка :lol:
Спасибо!!! буду дальше разбираться. Есть ардуины шилды и т.п.
Очень хочется заставить все это работать.
-
Почему Танька всё проговаривает красиво а ветер говорит "четыре метра флеш с" ?
-
Почему Танька всё проговаривает красиво а ветер говорит "четыре метра флеш с" ? `
result.push({date: date[t].replace("<title>", "").replace("</title>", ""), desc: desc[t].replace("<description>", "").replace("</description>", "").replace(/м\/с\./g, "м в секунду.").replace(/Атмосферное давление ночью (.*) мм рт.ст. /g, "").replace(/Вероятность осадков (.*)\%/g, "") });
-
Почему Танька всё проговаривает красиво а ветер говорит "четыре метра флеш с" ? `
result.push({date: date[t].replace("<title>", "").replace("</title>", ""), desc: desc[t].replace("<description>", "").replace("</description>", "").replace(/м\/с\./g, "м в секунду.").replace(/Атмосферное давление ночью (.*) мм рт.ст. /g, "").replace(/Вероятность осадков (.*)\%/g, "") }); ```` `
Спасибо а то как нерусская
-
У тебя скорее всего старая версия скрипта была, в первом топике сейчас исправленная.
-
Vtec, спасибо за скрипт, работает отлично. С наступающим.
-
У тебя скорее всего старая версия скрипта была, в первом топике сейчас исправленная. `
К стати проверил в первом топике неисправленная -
Может кому пригодится.
Парсер текущей погоды с сайта realmeteo.ru
! ````
createState('forecast.curr_temp',''); // Текущая температура
createState('forecast.curr_humidity',''); // Текущая влажность
createState('forecast.curr_wind_speed',''); // Текущая скорость ветра
! var request = require('request');
! function getWeatherOutside() {
request ('http://www.realmeteo.ru/krasnodar/1/current', function (error, response, body) {
// Получаем ответ
if (!error && response.statusCode == 200) {
// Парсим данные
var current = body.match(/(-?[\d.+-]+)([^рт]+?)</span>/g);
// Если данные существуют, то обрабатываем
if (current) {
current.splice(4, current.length - 4); // Удаляем лишние повторы
current.splice(1, 1); // Удаляем лишнюю строку (ощущаемая температура)
var result = [];
for(var t = 0; t < current.length; t++) {
current[t] = current[t].replace("", "").replace("", ""); //удаляем теги
}
//Сохраняем результат
setState('forecast.curr_temp', current[0]);
setState('forecast.curr_humidity', current[1]);
setState('forecast.curr_wind_speed', current[2]);
}
}
});
}
! // Запускаем каждые 20 мин
on({time: "*/20 * * * *"}, getWeatherOutside); -
Поправил скрипт в шапке, работал не совсем корректно.