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

      @ExReader:

      Преамбула: В программировании полный нуб.

      Скрипты "пишу" в режиме Blockly (хотя что такое формальная логика и "карты Карно" понимаю)

      Амбула: пытаюсь реализовать при помощи MegaD-328, силовых модулей и сервера с ява-скриптами управление светом (на текущем этапе времени- пока тока свет). В комплекте "железа"- сам контроллер MegaD-328, силовой блок (самодельный, на два диммируемых канала), кнопки со световым индикатором и пищалкой, датчик движения и освещенности. Это всё для одного помещения. Дак вот, у меня получилось уже восемь скриптов, описывающих "мои хотелки". Восемь скриптов- на один "железный комплект". А таких комплектов будет 10-12 штук.

      Я понимаю, что можно "размножить" существующие скрипты на количество железа… Но, думается, что есть более "правильный" способ "размножить" управление железом.

      Вот, хотелось-бы спросить совета, как правильно? `
      А что твои скрипты делают?

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

        @instalator:

        @ExReader:

        Преамбула: В программировании полный нуб.

        Скрипты "пишу" в режиме Blockly (хотя что такое формальная логика и "карты Карно" понимаю)

        Амбула: пытаюсь реализовать при помощи MegaD-328, силовых модулей и сервера с ява-скриптами управление светом (на текущем этапе времени- пока тока свет). В комплекте "железа"- сам контроллер MegaD-328, силовой блок (самодельный, на два диммируемых канала), кнопки со световым индикатором и пищалкой, датчик движения и освещенности. Это всё для одного помещения. Дак вот, у меня получилось уже восемь скриптов, описывающих "мои хотелки". Восемь скриптов- на один "железный комплект". А таких комплектов будет 10-12 штук.

        Я понимаю, что можно "размножить" существующие скрипты на количество железа… Но, думается, что есть более "правильный" способ "размножить" управление железом.

        Вот, хотелось-бы спросить совета, как правильно? А что твои скрипты делают?
        Я (для себя) их (скрипты) разбил на части, по функционалу.

        Первый скрипт отслеживает нажатия клавиш (две клавиши, четыре кнопки, + и - первого канала и + и - второго канала)

        Соответственно, на выходе генерируется управление на увеличение до максимума или выключение света.

        Второй скрипт отрабатывает длинное нажатие и выдает управление на увеличение/уменьшение яркости первого/второго канала

        Третий скрипт отслеживает нажатие и выдает сигнал управления на пищалку (фиксация факта нажатия в режиме мин/макс яркости)

        Четвертый скрипт управляет пищалкой в режиме диммирования (по разному пищит… точнее по разному "озвучивает"

        максимальный/минимальный уровень яркости)

        Пятый скрипт отслеживает датчик движения и выдает команду на сигнализацию.

        Шестой скрипт отслеживает датчик движения и освещенности (я не придумал/не знаю как объединить с предыдущим выдачу команды с

        датчика движения) и управляет включением света в зависимости от освещенности.

        Седьмой скрипт обрабатывает/следит за сигналом с датчика тока (если случилась "коза", то блок уйдет в защиту)

        Восьмой скрипт сбрасывает защиту в зависимости от нажатых клавиш.

        Upd: А ещё хочется сделать активацию/деактивацию датчика движения/освещенности с локальных кнопок (с сохранением функции охранного датчика). Ну, чтоб ночью не мешал спать периодически включая свет когда шевельнёшся... :lol:

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

          @ExReader:

          Седьмой скрипт обрабатывает/следит за сигналом с датчика тока (если случилась "коза", то блок уйдет в защиту) `
          Этим точно скрипт не должен заниматься.

          А по остальным вообще непонятно для чего они если это все делает сама мегад

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

            @instalator:

            @ExReader:

            Седьмой скрипт обрабатывает/следит за сигналом с датчика тока (если случилась "коза", то блок уйдет в защиту) `
            Этим точно скрипт не должен заниматься.

            А по остальным вообще непонятно для чего они если это все делает сама мегад `
            Я не точно выразился…

            Мега фиксирует факт срабатывания защиты

            Защита аппаратная. и если сработала, ее нужно руками взводить.

            а скрипт просто должен выдать в вебку факт срабатывания защиты. чёб знать, что она сработала... и бежать смотреть почему и что случилось...

            Дык вот, мега сама и рулит силовым блоком. Но хотелось бы ещё рулить и через вебку...

            А потом, чего я хочу с миганием/пищанием, в поле акшен меги не входит... Часть моих "хотелок" рубится

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

              @ExReader:

              @instalator:

              @ExReader:

              Седьмой скрипт обрабатывает/следит за сигналом с датчика тока (если случилась "коза", то блок уйдет в защиту) `
              Этим точно скрипт не должен заниматься.

              А по остальным вообще непонятно для чего они если это все делает сама мегад `
              Я не точно выразился…

              Мега фиксирует факт срабатывания защиты

              Защита аппаратная. и если сработала, ее нужно руками взводить.

              а скрипт просто должен выдать в вебку факт срабатывания защиты. чёб знать, что она сработала... и бежать смотреть почему и что случилось...

              Дык вот, мега сама и рулит силовым блоком. Но хотелось бы ещё рулить и через вебку...

              А потом, чего я хочу с миганием/пищанием, в поле акшен меги не входит... Часть моих "хотелок" рубится `
              Ты же используешь драйвер мегад?

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

                @instalator:

                @ExReader:

                @instalator:

                Этим точно скрипт не должен заниматься.

                А по остальным вообще непонятно для чего они если это все делает сама мегад `
                Я не точно выразился…

                Мега фиксирует факт срабатывания защиты

                Защита аппаратная. и если сработала, ее нужно руками взводить.

                а скрипт просто должен выдать в вебку факт срабатывания защиты. чёб знать, что она сработала... и бежать смотреть почему и что случилось...

                Дык вот, мега сама и рулит силовым блоком. Но хотелось бы ещё рулить и через вебку...

                А потом, чего я хочу с миганием/пищанием, в поле акшен меги не входит... Часть моих "хотелок" рубится Ты же используешь драйвер мегад?
                Да, у себя в кабинете уже развернул систему…

                МегаД- свой клон железки, полностью совместимый с оригинальной, от Андрея.

                Силовой модуль- тоже своя реализация, только два канала, диммируемых. на тиристорах с устройством токовой защиты.

                Кнопки- переделанные Legrand Valena, выкинул оригинальные потроха и вставил свои платки с кнопками, светодиодами и пищалкой.

                Датчик движения- на базе HC-SR501 с "добавкой" датчика освещенности.

                Upd: А-А-А-а-а-а-а....

                Уже свалились в офтоп....

                Так как быть? Как один комплект/набор скриптов можно использовать для 10-12 устройств?

                (просто скопировать нужное количество раз скрипты и прописать в них порты входа/выхода МегаД я и так смогу...)

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

                  @ExReader:

                  Upd: А-А-А-а-а-а-а….

                  Уже свалились в офтоп....

                  Так как быть? Как один комплект/набор скриптов можно использовать для 10-12 устройств?

                  (просто скопировать нужное количество раз скрипты и прописать в них порты входа/выхода МегаД я и так смогу...) `
                  Подписаться на всю группу устройст МегаД, и в скрипте разобрать от какой мегад пришло изменение

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

                    @instalator:

                    @ExReader:

                    Upd: А-А-А-а-а-а-а….

                    Уже свалились в офтоп....

                    Так как быть? Как один комплект/набор скриптов можно использовать для 10-12 устройств?

                    (просто скопировать нужное количество раз скрипты и прописать в них порты входа/выхода МегаД я и так смогу...) Подписаться на всю группу устройст МегаД, и в скрипте разобрать от какой мегад пришло изменение
                    :oops:

                    А как для немеЦкого солдата можно?… Скажем с примером скрипта Blockly...

                    Могу выложить куда-нть свои скрипты...

                    Чукча (т.е. я...) не читатель... Чукча писатель... (С) :lol:

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

                      @ExReader:

                      :oops:

                      А как для немеЦкого солдата можно?… Скажем с примером скрипта Blockly...

                      Могу выложить куда-нть свои скрипты...

                      Чукча (т.е. я...) не читатель... Чукча писатель... (С) :lol: `
                      Я ни разу не пользовался блокли.

                      делай на читстом js, вот просто пример

                      on({id: /^megad.0*/, change: "any"}, function (obj) {
                              log('obj = '+ JSON.stringify(obj));
                      });
                      
                      

                      Дока https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#on–-subscribe-on-changes-or-updates-of-some-state

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

                        @instalator:

                        Я ни разу не пользовался блокли.

                        делай на читстом js, вот просто пример

                        on({id: /^megad.0*/, change: "any"}, function (obj) {
                                log('obj = '+ JSON.stringify(obj));
                        });
                        
                        

                        Дока https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#on–-subscribe-on-changes-or-updates-of-some-state `
                        Попробую вывернуть свой мосх… 😄

                        Спасибо.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        883
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        2
                        11
                        2323
                        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