Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Погода на три дня

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
weather forecast
45 Beiträge 9 Kommentatoren 13.9k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • V Offline
    V Offline
    vtec
    schrieb am zuletzt editiert von vtec
    #1

    Заменить цифры на свой город в данной строке: http://meteoinfo.ru/rss/forecasts/29430

    Создаются 3-и переменные (сегодня, завтра, послезавтра), берем нужную переменную и проговариваем по времени

    forecast.today

    forecast.tomorrow

    forecast.dayAfterTomorrow

    Воспроизводим

    setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val);

    У меня прогноз проговаривается утром (7:00) на сегодня и вечером (21:30) на завтра.

    Предложения и пожелания?

    createState('weather_forecast.today','');
    createState('weather_forecast.tomorrow','');
    createState('weather_forecast.dayAfterTomorrow','');
     
    
    var request = require('request');
     
    function getWeatherForecast() {
        request ('http://meteoinfo.ru/rss/forecasts/29430', 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(/<item><title>(.*)<\/title>/g, ""), desc: desc[t].replace("<description>", "").replace("</description>", "").replace(/м\/с/g, "м в секунду").replace(/Атмосферное давление ночью (.*) мм рт.ст./g, "").replace(/Вероятность осадков (.*)\%/g, "") });
                    }
     
                    // Сохраняем данные
                    for(var t = 0; t < result.length; t++) {
                        switch (t) {
                            case 0:
                                // Прогноз на сегодня
                                setState('weather_forecast.today', result[0].desc);
                                break;
                            case 1:
                                // Прогноз на завтра
                                setState('weather_forecast.tomorrow', result[1].desc);
                                break;
                            case 2:
                                // Прогноз на послезавтра
                                setState('weather_forecast.dayAfterTomorrow', result[2].desc);
                                break;
                        }
                        log(result[t].date + " => " + result[t].desc);
                    }
                }
            }
        });
    }
    
    // Запускаем через 2 часа 45 минут
    on({time: "45 */2 * * *"}, getWeatherForecast);
    
    
    1 Antwort Letzte Antwort
    0
    • aurodionovA Offline
      aurodionovA Offline
      aurodionov
      schrieb am zuletzt editiert von
      #2

      vtec, спасибо за скрипт, работает замечательно.

      Правда я пока не голосом пользую а отображаю в виз.
      2665_ical_log.txt

      Пишу с пульта….

      1 Antwort Letzte Antwort
      0
      • V Offline
        V Offline
        vtec
        schrieb am zuletzt editiert von
        #3

        Да тут половина Bluefox написал :)

        Я допилил и протестировал.

        А в виз я вообще полный ноль, пару раз открывал смотрел, так дальше и не ушел :oops:

        Если бы кто объяснил с самых низов, как например хотя бы создать кнопку, которая изменяла бы свое состояние от выключателя, был бы благодарен ;)

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          spectrekr
          schrieb am zuletzt editiert von
          #4

          А может стоит задуматься о создании драйвера, на подобии yr.no было бы удобно. А то все скриптами, да скриптами :-)

          1 Antwort Letzte Antwort
          0
          • aurodionovA Offline
            aurodionovA Offline
            aurodionov
            schrieb am zuletzt editiert von
            #5

            Так оно и так работает, спарсили скриптом , получили на выходе три переменные. Потом хоть проговаривай ,хоть отображай в виз.

            Пишу с пульта….

            Пишу с пульта….

            1 Antwort Letzte Antwort
            0
            • I Offline
              I Offline
              instalator
              schrieb am zuletzt editiert von
              #6

              У всех с такой ошибкой работает?
              266_zx.png

              Высокий уровень Децибел вреден для здоровья!

              http://blog.instalator.ru/

              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #7

                Символы "<" и ">" не обязательно писать с эскейпом.

                1 Antwort Letzte Antwort
                0
                • aurodionovA Offline
                  aurodionovA Offline
                  aurodionov
                  schrieb am zuletzt editiert von
                  #8

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

                  Пишу с пульта….

                  1 Antwort Letzte Antwort
                  0
                  • I Offline
                    I Offline
                    instalator
                    schrieb am zuletzt editiert von
                    #9

                    @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>

                    Высокий уровень Децибел вреден для здоровья!

                    http://blog.instalator.ru/

                    1 Antwort Letzte Antwort
                    0
                    • aurodionovA Offline
                      aurodionovA Offline
                      aurodionov
                      schrieb am zuletzt editiert von
                      #10

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

                      Пишу с пульта….

                      1 Antwort Letzte Antwort
                      0
                      • I Offline
                        I Offline
                        instalator
                        schrieb am zuletzt editiert von
                        #11

                        @aurodionov:

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

                        Высокий уровень Децибел вреден для здоровья!

                        http://blog.instalator.ru/

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          Securbond
                          schrieb am zuletzt editiert von
                          #12

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

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

                          Спасибо.

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            spectrekr
                            schrieb am zuletzt editiert von
                            #13

                            @Securbond:

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

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

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

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Securbond
                              schrieb am zuletzt editiert von
                              #14

                              @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 Antwort Letzte Antwort
                              0
                              • I Offline
                                I Offline
                                instalator
                                schrieb am zuletzt editiert von
                                #15

                                @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

                                Высокий уровень Децибел вреден для здоровья!

                                http://blog.instalator.ru/

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  Securbond
                                  schrieb am zuletzt editiert von
                                  #16

                                  @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 Antwort Letzte Antwort
                                  0
                                  • I Offline
                                    I Offline
                                    instalator
                                    schrieb am zuletzt editiert von
                                    #17

                                    @Securbond:

                                    @instalator:

                                    @Securbond:

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

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

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

                                    Высокий уровень Децибел вреден для здоровья!

                                    http://blog.instalator.ru/

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Securbond
                                      schrieb am zuletzt editiert von
                                      #18

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

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • I Offline
                                        I Offline
                                        instalator
                                        schrieb am zuletzt editiert von
                                        #19

                                        @Securbond:

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

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

                                        Высокий уровень Децибел вреден для здоровья!

                                        http://blog.instalator.ru/

                                        1 Antwort Letzte Antwort
                                        0
                                        • I Offline
                                          I Offline
                                          instalator
                                          schrieb am zuletzt editiert von
                                          #20

                                          @Securbond:

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

                                          createState('forecast.today','');
                                          createState('forecast.tomorrow','');
                                          createState('forecast.dayAfterTomorrow','');
                                          

                                          Высокий уровень Децибел вреден для здоровья!

                                          http://blog.instalator.ru/

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          844

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe