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.
    • V
      vtec last edited by

      Почему по крону? Есть же по событию. Там меняется состояние с true на false. Если память не изменяет.

      Единственное, что мы Bluefox'у писали, чтобы можно было как то все состояния получать типа списком что ли. А то получается, что я должен каждое устройство описывать, а логичнее было бы взять список устройств и проверить их состояния.

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

        По крону код короче)

        1 Reply Last reply Reply Quote 0
        • V
          vtec last edited by

          набросал, представляю общественности

          ! var idSayIt = "sayit.0.tts.text"; // Проверяем наличие интернета on('ping.0.cubieboard2.213_180_204_3', function (obj) { if(obj.newState.val === 'true' || obj.newState.val === true){ setState (idSayIt, 'Соединение с интернетом восстановлено.'); }else{ setState (idSayIt, 'Пропало соединение с интернетом.'); } }); ! // Проверяем работу медиацентра (OpenELEC) on('ping.0.cubieboard2.192_168_0_105', function (obj) { if(obj.newState.val === 'true' || obj.newState.val === true){ setState (idSayIt, 'Соединение с медиацентром восстановлено.'); }else{ setState (idSayIt, 'Пропало соединение с медиацентром.'); } }); !
          Подставить свои переменные в место: ping.0.cubieboard2.213_180_204_3 и ping.0.cubieboard2.192_168_0_105

          Если будете скриптом проверять наличие интернета, то для нормального функционирования нужно проделать следующее: я зашел во вкладку "Состояния" и ручками изменил значение переменной ping.0.cubieboard2.213_180_204_3 с true на false и обратно(изменение подтверждается enter'ом). Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает.

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

            А кэш сколько хранится? Получается он как в базе накапливается и потом только сопоставляется?

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

              @spectrekr:

              А кэш сколько хранится? Получается он как в базе накапливается и потом только сопоставляется? `
              Кеш чего?

              1 Reply Last reply Reply Quote 0
              • V
                vtec last edited by

                Верхний скрипт больше не актуален, убрал под спойлер. Оставлю как пример, может что из него и пригодится.

                На много универсальней:

                //список
                var listStatePing = $('ping.0.cubieboard2.*');
                //подписываемся на изменения списка
                listStatePing.on(function(obj) 
                {
                    var message;
                    var sayItId = "sayit.0.tts.text";
                    //если старое значение было true, стало false и наоборот
                    if(obj.oldState.val === "true" || obj.oldState.val === true){
                        //obj.name - имя устройства
                        message = obj.name+'. Пропала связь!';
                    }else{
                        message = obj.name+'. Связь восстановлена!';
                    }
                    setState(sayItId, message);
                    log(message);
                });
                
                

                Условия те же.

                Подставить свое значение в место <u>cubieboard2</u>.

                Названия устройств в драйвере пинг я написал на русском (например: Шлюз, Роутер, Мега1, Медиацентр, Рабочий компьютер, Телефон, Сетевое хранилище и т.д.) и чтобы названия сочетались с фразой: Ваше устройство. Связь восстановлена!

                P.S. Если кто придумает фразу по интересней, сообщите.

                Сколько бы вы устройств в настройки драйвера пинг не добавляли, все они должны будут проговориться данным скриптом.

                Если будете скриптом проверять наличие интернета, то для нормального функционирования нужно проделать следующее: я зашел во вкладку "Состояния" и ручками изменил значение переменной ping.0.cubieboard2.213_180_204_3 с true на false и обратно(изменение подтверждается enter'ом). Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает.

                Скрипт протестирован, разным устройствам выдергивал сетевой кабель, все работает 🙂

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

                  @Bluefox:

                  @spectrekr:

                  А кэш сколько хранится? Получается он как в базе накапливается и потом только сопоставляется? Кеш чего?
                  Кэш sayit, тех фраз которые он озвучивает. Вот эта фраза смущает.
                  @vtec:

                  Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает. `

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

                    @vtec:

                    Если будете скриптом проверять наличие интернета, то для нормального функционирования нужно проделать следующее: я зашел во вкладку "Состояния" и ручками изменил значение переменной ping.0.cubieboard2.213_180_204_3 с true на false и обратно(изменение подтверждается enter'ом). Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает. `
                    А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает.

                    1 Reply Last reply Reply Quote 0
                    • E
                      electric69 last edited by

                      @spectrekr:

                      А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает. `
                      Попробуй пинговать сразу несколько сайтов - гугл, яндекс, майл. Если хотя бы один не вернет пинг - это не значит что инета нет, если все три не пингуются - значитт что то не так…

                      У меня скрипт именно так отрабатывает, только он для CCU.IO

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

                        @electric69:

                        @spectrekr:

                        А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает. `
                        Попробуй пинговать сразу несколько сайтов - гугл, яндекс, майл. Если хотя бы один не вернет пинг - это не значит что инета нет, если все три не пингуются - значитт что то не так…

                        У меня скрипт именно так отрабатывает, только он для CCU.IO `
                        У вас отдельный скрипт? Просто хотелось реализовать драйвером ping, т.к. для него уже скрипт написан и работает, с оповещением если что-то критичное отключится. А вот интернет "обманывает".

                        1 Reply Last reply Reply Quote 0
                        • E
                          electric69 last edited by

                          @spectrekr:

                          У вас отдельный скрипт? Просто хотелось реализовать драйвером ping, т.к. для него уже скрипт написан и работает, с оповещением если что-то критичное отключится. А вот интернет "обманывает". `
                          Да, у меня отдельный скрипт, который мониторит состояние всего оборудования умного дома - включая сервер, контроллеры, инет, состояние роутера (микротик) и прочее. Если что - ругается через sayit, отправляет смс и пишет в отдельный лог.

                          1 Reply Last reply Reply Quote 0
                          • V
                            vtec last edited by

                            @spectrekr:

                            Кэш sayit, тех фраз которые он озвучивает. Вот эта фраза смущает. `
                            Кеш хранится сколько угодно, все фразы если они статичны берутся из кеша. Только первый раз фраза генерится через инет и складывается в кеш.
                            1518_unbenannt.png

                            1 Reply Last reply Reply Quote 0
                            • V
                              vtec last edited by

                              @spectrekr:

                              А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает. `
                              У меня нормально, по сто раз не срабатывает, пингую ip адрес ya.ru

                              При проигрывании потока, плеер может кешировать, поэтому и не заметно.

                              1 Reply Last reply Reply Quote 0
                              • V
                                vtec last edited by

                                @electric69:

                                @spectrekr:

                                У вас отдельный скрипт? Просто хотелось реализовать драйвером ping, т.к. для него уже скрипт написан и работает, с оповещением если что-то критичное отключится. А вот интернет "обманывает". Да, у меня отдельный скрипт, который мониторит состояние всего оборудования умного дома - включая сервер, контроллеры, инет, состояние роутера (микротик) и прочее. Если что - ругается через sayit, отправляет смс и пишет в отдельный лог.
                                В данном скрипте не составит труда дописать отдельный лог, и др. оповещания 🙂

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

                                  Видать проблемы были у провайдера, за выходные ни одного обрыва не произошло.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  482
                                  Online

                                  31.8k
                                  Users

                                  80.0k
                                  Topics

                                  1.3m
                                  Posts

                                  5
                                  17
                                  3791
                                  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