Giter Site home page Giter Site logo

homebridge-noolite's Introduction

homebridge-noolite

NooLite plugin (via USB MTRF-64 or МТRF-64 modules) for homebridge

Read this in other languages: Русский

TG channel: https://t.me/Noolite (tg://t.me/Noolite)

QuickStart

  1. Install homebridge

  2. Install homebridge-noolite plugin

     $ sudo npm install -g --unsafe-perm homebridge-noolite
    
  3. Add settings to homebridge config.json

     ...
     "platforms": [
         {
           "platform": "NooLitePlatform",
           "serialPort": "/dev/tty.usbserial-AL032Z5U",
           "serialBaudRate": 9600,
           "serverPort": "8080",
           "periodicAccessoryUpdate": 5,
           "requestTtl": 1000,
           "serialWriteDelayMs": 250,
           "immediatelyResponse": true
         }
       ]
     ...
    
    • serialPort - path to MTRF-64 serial port required
    • serialBaudRate - baud rate for serial port optional, default: 9600
    • serverPort - web-ui port for add new noolite accessories optional, default: 8080
    • periodicAccessoryUpdate - periodically update NooLite-F accessories status (in seconds) optional, default this feature is disabled
    • requestTtl - waiting block response timeout in milliseconds
    • serialWriteDelayMs - delay between sending commands to blocks in milliseconds (if too short, MTRF adapter may not have enough time to process requests/responses)
    • immediatelyResponse - allows to respond immediately on HB request, this will allow to show Home tab with many device without response error (due to TTL). Devices will be updated in foreground (if something changed)

    See sampleConfig.json file for example.

  4. Fix permission to MTRF (For USB) sudo usermod -a -G dialout

  5. Run homebridge

Description

After successful start web interface will be available on address: <device_ip>:8080

On the main page, we can directly interact with the MTRF-64 adapter by sending commands presets or use raw bites, according to MTRF-64 manual.

There are 2 sections оn accessories page (/acc):

  1. MTRF - interact with NooLite-F devices (SLF, SRF blocks) by channels (0 to 63)
  2. HomeKit - interact with HomeKit accessories

NooLite supported accessories

Blocks:

  1. SLF block with NooLite-F protocol
  2. SUF dimmable block with NooLite-F protocol
  3. SU block
  4. SB block
  5. SR block
  6. SD RGB led strip block
  7. SRF-R block for garage and home doors, window and window coverages
  8. SRF-1-3000-T block for controlling electric heating systems

Sensors:

  1. Motion sensor PM112
  2. Temperature sensor PT112
  3. Temperature and humidity sensor PT111
  4. Leak sensor WS-1
  5. Contact sensor DS-1

Custom accessories:

  1. Garage Door accessory - based on SLF block, send 8 command (Power On by 1.5 seconds) to block on Open/Close action. Default setting is the interval of 1 second for the complete opening/closing of the door.

TODO:

  1. SLF configuration improvements
  2. Web interface UI/UX

homebridge-noolite's People

Contributors

alekseevav avatar ishift avatar temkin avatar vladislao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-noolite's Issues

Запоминание уровня яркости блоками SUF

Если на блоке SUF установлено значение яркости >0- 100<, то после выключения и включения снова, значение будет =100, а должно быть, ранее установленное.

Чтобы значение при включении было равным, установленному, до выключения необходимо передавать команду CMD =2 или CMD = 4 --- без аргументов.

Автоматика ворот

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

"Залипание"

Иногда происходит"залипание" аксессуара (тип garageDoorSlf) при обновлении в Дом.
Никаким образом не удается его вывести из этого состояния.
При этом, остальные аксессуары продолжают работать.
В логах ничего нет.
Помогает только рестарт сервиса.

Проблема с SRF-10-1000

Возможно проблема не связана напрямую с вашим плагином. Конфигурация следующая:
SRF-10-1000 все 10 каналов, управляются черезе MTRF64 далее Homebridge(HB) + Ваш плагин. Далее HB подключен к HomeAssistant(HA) через плагин Homekit Controller (https://www.home-assistant.io/integrations/homekit_controller/).
Каналы SRF-10-1000 добавляются в HB корректно как отдельные устройства. У них совпадает iid но разный aid. А вот в HA уже не корректно. Должно добавляться 10 разных устройств, а добавляется одно - самое первое. В журналах HA есть сообщения что следующее устройство уже добалялось. По видимому из-за совпадающего iid. Можно ли что либо с этим сделать?

Статус

Добрый день. Не могу получить статус привязанного устройства noolite-f json командой. Возвращается только {status ok}. Но окне лога виден полный статус устройства. Такого функционала нет? Хотел бы получать состояние устройства (вкл/выкл и т.п.) через json.
Так же почему то не отображаются привязанные к MTRF устройства noolite1. Устройства привязывались ранее, не через ваш проект.

Спасибо заранее за ответ.

Привязка пультов

Добрый день. По коду пробежал и вроде как нет, но хотел уточнить, реализована ли привязка пультов (PB212, 412) к MTRF?

Использую вызов api "http://ip:port/api/channels/x/acc" в цикле по устройствам SLF чтобы получать их актуальный статус раз в минуту. Через какое-то неопределенное время ответ от модулей перестает приходить. Т.е. в вебинтерфейсе модуля в логе ответа нет и опросить статус канала уже нельзя. Управление при этом работает. Т.е. MTRF-64 комманды отрабатывает, но ответ от блока где-то теряется.

Команды через Siri

Если дать команду Siri: "Siri включи свет в прихожей на 20%- включает-ОК.
После этого дать команду "Выключи свет в прихожей- выключает только со второго раза, в приложении Дом, отображается правильно.
Если давать команду-- ВКЛЮЧИ/Выключи, без %, все ОК
лог ниже

Mar 16 15:39:45 raspberrypi homebridge[2246]: [2018-3-16 15:39:45] [NooLitePlatform] Прихожая (su-) Set On characteristic to false
Mar 16 15:39:45 raspberrypi homebridge[2246]: [2018-3-16 15:39:45] [NooLitePlatform] Прихожая (su-) message written in SET callback: NooLiteRequest {
Mar 16 15:39:45 raspberrypi homebridge[2246]: ch: 15,
Mar 16 15:39:45 raspberrypi homebridge[2246]: cmd: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: mode: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: id0: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: id1: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: id2: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: id3: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: idBytes: [ 0, 0, 0, 0 ],
Mar 16 15:39:45 raspberrypi homebridge[2246]: st: 171,
Mar 16 15:39:45 raspberrypi homebridge[2246]: ctr: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: res: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: fmt: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: d0: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: d1: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: d2: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: d3: 0,
Mar 16 15:39:45 raspberrypi homebridge[2246]: sp: 172 }

Датчик DS-1

При перезагрузке Raspberry датчики DS-1 всегда в состоянии - "ОТКРЫТО"
Homebridge не помнит предидущее состояние датчиков DS-1

Опрос мудуля через API

Использую вызов api "http://ip:port/api/channels/x/acc" в цикле по устройствам SLF чтобы получать их актуальный статус раз в минуту. Через какое-то неопределенное время ответ от модулей перестает приходить. Т.е. в вебинтерфейсе модуля в логе ответа нет и опросить статус канала уже нельзя. Управление при этом работает. Т.е. MTRF-64 комманды отрабатывает, но ответ от блока где-то теряется.
Если вызовы к API не делать, то все работает стабильно. В чем беда разобраться не могу....

Диммирование

Добрый день. А когда планируете добавить поддержку SUF блоков? И ещё, недавно приобрел SUF блок, привязал как обычный SU (с диммированием), но с HomeKit яркость не регулируется, в HomeKit появляется статус «обновляется», а в консоли через какое-то время появляется Timeout to get response from MTRF. В чем может быть проблема?

Вопросы

Привет! Нашел твой проект думаю его использовать в своем доме на homebridge/noolite - подскажи пару вопросов пожалуйста:

  1. Мне достаточно купить USB передатчик и установить данный пакет и по идее я смогу правлять всеми привязанными устройствами? (Сейчас у меня реле старого образца, не F серия)
  2. Каким образом связывать устройства? есть ли кнопки выведенные в hombridge?
  3. Управление будет доступно с iPhone или же только из веб-интерфейса?
  4. Можно ли перехватывать и читать сигналы от моих пультов до блоков которые не F а обычные?

Обработка и установка тайм-аута

Просьба добавить возможность установки тайм-аута (и наверно поставить какой-то по умолчанию - например 3 секунды)

Это позволит при очень долгом ответе от реле выдать все ответы от доступных аксессуаров, в «проблемный» пометить как не отвечающий.

От куда возникла идея - смонтировал реле в стакан от люстры от туда приём плохой и при обновлении состояния (открытия приложения дом) может иногда моментально обновлять состояние а может бесконечно долго висеть статус обновления.

Некорректная работа с SRF-1-1000-R?

Приветствую!

Столкнулся с несколькими проблемами при реализации работы умного карниза с данным блоком и вашим плагином homebridge. Возможно проблемы - следствие моей недостаточной компетенции в работе устройства и вашего плагина. Тем не менее, хочу обратить тут на них внимание.

//1. После привязки устройства, добавления в homebridge, устройство где-то 60/40 времени показывает статус "Нет ответа" в приложении Дом. С другими устройствами, например, теплыми полами, такой проблемы нет //- этот вопрос снимается, все-таки антенна очень слабая у блока и когда она закрыта шторой, всё прощай, связи нет.

  1. Я предварительно откалибровал устройство через NooliteOne (чтобы блок понимал, на сколько % карниз открыт/закрыт), но после перепривязки через ваше приложение, оно калибровки не видит. Карниз всегда ездит на всю длину. А если выставить % открытия, блок щелкает несколько раз и ничего не происходит. Не думаю, что устройство при отвязки, калибровку стирает. В тоже время калибровку, через ваше приложение (с помощью команды F tx bind=15 три раза) запустить не получается.

PS: Блоки управляются через mtrf-64, подключённому к raspberry pi.

Автоматизация "Гигростат"

Автоматизация "гигростат".
Создана автоматизация, которая по достижении заданного значения влажности, полученного от датчика PT111, включает вентилятор.

Теоретически срабатывает в 100%

  • в программе ДОМ, вентилятор отображается как включенный
  • по факту вентилятор не работает
    Есть предположение, что такое поведение связано с багами, описанными выше.
    Лог предоставить пока не получается.

Timeout to get response from MTRF

Здравствуйте. Установил homebridge-noolite, при попытке отправить какую-либо команду выдает error: Timeout to get response from MTRF. У меня MTRF-64 UART, в config.json прописан "serialport": "/dev/ttyAMA0". Нужно ли ли какой-либо еще отдельный драйвер для MTRF-64 UART устанавливать? В чем может быть причина ошибки? Буду благодарен за любую помощь, очень хочется привязать noolite к homebridge.

Одновременное включение двух аксессуаров.

При одновременном включении двух аксессуаров, в приложении Дом оба отображаются как включенные. По факту происходит включение только одного. Лог ниже.

Mar 15 18:29:59 raspberrypi homebridge[2246]: [2018-3-15 18:29:59] [NooLitePlatform] Прихожая (suSwitch-) Set On characteristic to true
Mar 15 18:29:59 raspberrypi homebridge[2246]: [2018-3-15 18:29:59] [NooLitePlatform] Столовая (suSwitch-) Set On characteristic to true
Mar 15 18:29:59 raspberrypi homebridge[2246]: [2018-3-15 18:29:59] [NooLitePlatform] Прихожая (suSwitch-) message written in SET callback: NooLiteRequest {
Mar 15 18:29:59 raspberrypi homebridge[2246]: ch: 15, Mar 15 18:29:59 raspberrypi homebridge[2246]: cmd: 2,
Mar 15 18:29:59 raspberrypi homebridge[2246]: mode: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id0: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id1: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id2: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id3: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: idBytes: [ 0, 0, 0, 0 ],
Mar 15 18:29:59 raspberrypi homebridge[2246]: st: 171,
Mar 15 18:29:59 raspberrypi homebridge[2246]: ctr: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: res: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: fmt: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d0: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d1: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d2: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d3: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: sp: 172 }
Mar 15 18:29:59 raspberrypi homebridge[2246]: [2018-3-15 18:29:59] [NooLitePlatform] Столовая (suSwitch-) message written in SET callback: NooLiteRequest {
Mar 15 18:29:59 raspberrypi homebridge[2246]: ch: 11,
Mar 15 18:29:59 raspberrypi homebridge[2246]: cmd: 2,
Mar 15 18:29:59 raspberrypi homebridge[2246]: mode: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id0: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id1: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id2: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id3: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: idBytes: [ 0, 0, 0, 0 ],
Mar 15 18:29:59 raspberrypi homebridge[2246]: st: 171,
Mar 15 18:29:59 raspberrypi homebridge[2246]: ctr: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: res: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: fmt: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d0: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d1: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d2: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d3: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: sp: 172 }
Mar 15 18:29:59 raspberrypi homebridge[2246]: [2018-3-15 18:29:59] [NooLitePlatform] Прихожая (suSwitch-) read data by CHANNEL: NooLiteResponse {
Mar 15 18:29:59 raspberrypi homebridge[2246]: ch: 15,
Mar 15 18:29:59 raspberrypi homebridge[2246]: cmd: 2,
Mar 15 18:29:59 raspberrypi homebridge[2246]: mode: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id0: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id1: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id2: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: id3: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: idBytes: [ 0, 0, 0, 0 ],
Mar 15 18:29:59 raspberrypi homebridge[2246]: st: 173,
Mar 15 18:29:59 raspberrypi homebridge[2246]: ctr: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: togl: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: fmt: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d0: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d1: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d2: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: d3: 0,
Mar 15 18:29:59 raspberrypi homebridge[2246]: crc: 190,
Mar 15 18:29:59 raspberrypi homebridge[2246]: sp: 174 }

Homebridge v1.3.0

При обновлении homebridge до v1.3.0 имеем ошибку:
"2021-2-22 17:01:58] [homebridge-noolite] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://git.io/JtMGR for more info."

На версии 1.25.0 ошибки нет.

Авто-поиск

Было бы хорошо, что бы поиск адаптера происходил автоматически

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.