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

      Пока сделал так:

      Все устройства Ethernet'овские, настроил драйвер пинг.

      В скрипте по крону проверяю переменные пинга и если кто то не пингуется отправляю на pushover сообщение, какой контроллер отвалился.

      1 Reply Last reply Reply Quote 0
      • 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

                                    835
                                    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