Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Погода на три дня

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Погода на три дня

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      instalator last edited by

      @aurodionov:

      У кого работает,подскажите что исправить. Вторые сутки рублюсь в игру поставь и настрой, уже туплю помаленьку. `
      Работает. а вчем проблема?

      У меня такой код

      ! ````
      createState('forecast.today','');
      createState('forecast.tomorrow','');
      createState('forecast.dayAfterTomorrow','');
      ! var request = require('request');
      ! function getForecast() {
      request ('http://meteoinfo.ru/rss/forecasts/29838', function (error, response, body) { //29838 - Барнеаполь
      // Получаем ответ
      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: "45 */2 * * *"}, getForecast);</title></item></description>

      1 Reply Last reply Reply Quote 0
      • aurodionov
        aurodionov last edited by

        instalator, ругается как у Вас на скрине.

        1 Reply Last reply Reply Quote 0
        • I
          instalator last edited by

          @aurodionov:

          instalator, ругается как у Вас на скрине. `
          Да, это он на экранирование символов, но работает.

          1 Reply Last reply Reply Quote 0
          • S
            Securbond last edited by

            Извините, но пока разбираюсь будут очень глупые вопросы.

            А куда прописывать этот скрипт что бы он работал ?

            Спасибо.

            1 Reply Last reply Reply Quote 0
            • S
              spectrekr last edited by

              @Securbond:

              Извините, но пока разбираюсь будут очень глупые вопросы.

              А куда прописывать этот скрипт что бы он работал ?

              Спасибо. `
              Установить драйвер "Javascript/Coffescript Script Engine". http://www.iobroker.net/?page_id=560&lang=ruНа вкладке скрипты создать новый и туда вставить код.

              1 Reply Last reply Reply Quote 0
              • S
                Securbond last edited by

                @spectrekr:

                @Securbond:

                Извините, но пока разбираюсь будут очень глупые вопросы.

                А куда прописывать этот скрипт что бы он работал ?

                Спасибо. Установить драйвер "Javascript/Coffescript Script Engine". [http://www.iobroker.net/?page_id=560&amp;lang=ru](http://www.iobroker.net/?page_id=560&amp;lang=ru)На вкладке скрипты создать новый и туда вставить код.

                Спасибо, вроде добавил. Может еще подскажешь как проверить вообще работает драйвер голоса или нет? (драйвер установлен).

                Молчит как рыба. пробовал да же интервал менять… Молчит...((

                1 Reply Last reply Reply Quote 0
                • I
                  instalator last edited by

                  @Securbond:

                  @spectrekr:

                  @Securbond:

                  Извините, но пока разбираюсь будут очень глупые вопросы.

                  А куда прописывать этот скрипт что бы он работал ?

                  Спасибо. Установить драйвер "Javascript/Coffescript Script Engine". [http://www.iobroker.net/?page_id=560&amp;lang=ru](http://www.iobroker.net/?page_id=560&amp;lang=ru)На вкладке скрипты создать новый и туда вставить код.

                  Спасибо, вроде добавил. Может еще подскажешь как проверить вообще работает драйвер голоса или нет? (драйвер установлен). `
                  266_121212121.png

                  1 Reply Last reply Reply Quote 0
                  • S
                    Securbond last edited by

                    @instalator:

                    @Securbond:

                    @spectrekr:

                    Установить драйвер "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 ….. и т.п.)

                    1 Reply Last reply Reply Quote 0
                    • I
                      instalator last edited by

                      @Securbond:

                      @instalator:

                      @Securbond:

                      Спасибо, вроде добавил. Может еще подскажешь как проверить вообще работает драйвер голоса или нет? (драйвер установлен). filename="121212121.png" index="0">~~

                      Я правильно понимаю что если я напишу в конце скрипта - on({time: "37 */1 * * *"}, getForecast);

                      то он должен говорить погоду каждый час в 37 минут (11:37, 12:37 ….. и т.п.) `
                      "37 * * * *"

                      1 Reply Last reply Reply Quote 0
                      • S
                        Securbond last edited by

                        Видимо я туго соображаю, но скрипт у меня молчит.

                        Может нужно эти переменные где то создавать ? - forecast.today / forecast.tomorrow / forecast.dayAfterTomorrow

                        1 Reply Last reply Reply Quote 0
                        • I
                          instalator last edited by

                          @Securbond:

                          Видимо я туго соображаю, но скрипт у меня молчит `
                          А он включен?

                          В лог что нибудь пишет?
                          266___________.png

                          1 Reply Last reply Reply Quote 0
                          • I
                            instalator last edited by

                            @Securbond:

                            Может нужно эти переменные где то создавать ? - forecast.today / forecast.tomorrow / forecast.dayAfterTomorrow `
                            Они и создаются этими строками :

                            createState('forecast.today','');
                            createState('forecast.tomorrow','');
                            createState('forecast.dayAfterTomorrow','');
                            
                            1 Reply Last reply Reply Quote 0
                            • S
                              Securbond last edited by

                              939_444.jpg

                              Это ? (скрипт активен) настроен для отладки на каждую минуту проговаривать)

                              1 Reply Last reply Reply Quote 0
                              • I
                                instalator last edited by

                                @Securbond:

                                filename="444.JPG" index="1">~~

                                Это ? (скрипт активен) настроен для отладки на каждую минуту проговаривать) `
                                А js активен?
                                filename="Безымянный.png" index="0">~~

                                Попробуй добавить после строки````
                                function getForecast() {

                                log('Прошла минута');

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Securbond last edited by

                                  939_555.jpg

                                  А тут точно так должно быть ?
                                  939_666.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    instalator last edited by

                                    on({time: "* * * * *"}, getForecast);
                                    @Securbond:

                                    А тут точно так должно быть ? `
                                    266___________.png

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Securbond last edited by

                                      не работает :oops: :? 😢

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        instalator last edited by

                                        @Securbond:

                                        не работает :oops: :? 😢 `
                                        Выложи весь код, под спойлер только

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Securbond last edited by

                                          Наметился прогресс

                                          ! 939_777.jpg

                                          я подозреваю, что что бы проговаривал, нужно еще что то в скрипт писать?

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Securbond last edited by

                                            Понимаю что в последней строке ерунду написал..((

                                            ! 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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            446
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            weather forecast
                                            9
                                            45
                                            12634
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo