timsa.ru

Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку

Пипетка

185/60 R14
5x14 ET35

FLY F013
6J*R14 5*100 ET35 DIA57,1

 9   29 дн   машина

Автоматизация, homeassistant + mqtt + zigbee

Немного потупил на тему как увязать три сущности homeassistant + mqtt + zigbee, но разобрался.

Во-первых zigbee2mqtt отправляется на свалку истории. В нем нет вообще никакого смысла, мутное тяжеловесное, глючное дерьмо. Постоянно отваливаются датчики, срет ошибками, невменяемый и неадекватный интерфейс.

HA с установленной интеграцией MQTT прекрасно выполняет все задачи.
Например — транслирует данные с Zigbee датчиков в MQTT брокер. Делается это очень просто.
Создаем файл автоматизации (тоже самое можно через gui) с таким содержимым:

- id: 'send_voltage_on_changes'
  alias: 'Передача показаний zigbee'
  description: ''
  trigger:
  - platform: time_pattern
    seconds: '0'
  condition: []
  action:
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/voltage
      payload: "{{states('sensor.zb_kitchenbacklight_voltage')}}"
      qos: 2
      retain: true
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/power
      payload: "{{states('sensor.zb_kitchenbacklight_power')}}"
      qos: 2
      retain: true
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/waterleak
      payload: "{{states('sensor.zb_waterleak_kitchen_moisture')}}"
      qos: 2
      retain: true
  mode: single

По тексту всё понятно — он запускается каждую минуту и в соответствующие темы кидает значение zigbee датчиков. Не забываем указать qos и retain иначе при нескольких подписантах сообщение можно пропустить.
mode — отвечает за то, что будет если выполнение события затянется и наступит следующее. В случае single следующее не наступит.

Или нужно отправлять MQTT по нажатию кнопки:

- switch:
      unique_id: mqtt_switch1
      name: "MQTT кнопка"
      state_topic: "test/switch1"
      command_topic: "test/switch1"
      payload_on: "on"
      payload_off: "off"
      state_on: "on"
      state_off: "off"
      optimistic: false
      qos: 2
      retain: true

Здесь важный момент — темы state и command совпадают для того, чтобы HA оперативно отражал изменение статуса другим маршрутом (с другого устройства например).

Ну и последнее действие: когда надо устройство zigbee дрыгнуть по команде mqtt. Опять идем в автоматизацию:

- id: 'change_switch_on_mqtt'
  alias: Включение елки через mqtt
  description: ''
  trigger:
  - platform: mqtt
    topic: dom/room/pine_switch
    payload: 'on'
  condition: []
  action:
  - type: turn_on
    device_id: b6954d440bdacd9b4954aecd9ae44ec2
    entity_id: d2d540e7a4fa4d8275ec0e1510c7d944
    domain: light
  mode: single

Для выключения придется продублировать с другим payload. Делал через gui поэтому device_id и entity_id такие. Но там очевидно.

 20   1 мес   ha   homeassistant   mqtt   zigbee

Словарь

«Дипломатические термины времён поздней фазы англосаксонского доминирования».

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

Встреча завершилась в хорошей атмосфере
Никого не убили.

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

Представитель Лондона высказал мысль, достойную Черчилля
Спичрайтер-индус мнит себя хрен знает кем и попросил другого индуса, из редакции, похвалить себя за миску карри и два танца из к/ф «Танцор диско.

Стороны договорились продолжать договариваться о потенциальных договорённостях, ведущих в будущем к перспективному обсуждению начала формирования комиссии, которая обсудит общие принципы формирования концепции правил, которые будут использованы для начала переговорного процесса
Группа взрослых мужчин ещё годами будет за госсчёт летать первым классом, ежедневно вечером нахерачиваться коньяком и снимать шлюх за 1500евро/час, и хрен вы им что сделаете.

 16   1 мес   политика

Закон Теслера

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

 15   1 мес   не знал
 14   1 мес   кот

TCS3472 или TCS34725 нюансы I2C

Чип RGB сенсора должен отвечать 0x44 или 0x4D на запрос 0x12, а по факту просто обратно кидает номер регистра.

Но если сделать так:
tcs3472_register_write_byte(0x80 | 0x12, 0x12);
tcs3472_register_read(0x12, data, 1);
то в ответ прилетит то, что нужно.

Для чтения значения CRGB надо также адаптировать функцию и читать не 1 байт, а сразу 8.

 28   2 мес   diy   i2c   электроника

BME280 нюансы I2C

Плата GY-BME280 поддерживает два варианта подключения i2c и SPI.
Чтобы выбрать шину i2c надо подать высокий уровень на CSB (соединить с Vin).
На шине i2c плата может иметь один из двух адресов 0x76 или 0x77. При подаче высокого на SDO будет 0x77, а если заземлить то 0x76.
Оставлять висеть в воздухе нельзя! Адрес назначен не будет!

 28   2 мес   diy   i2c   электроника

Битрикс и FreeIPA

Парочка моментов при установке FreeIPA

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

ipa-server-install —allow-zone-overlap

если есть готовый серт, то
ставим цепочку

ipa-cacert-manage install chain.pem

обновляем базу CA

ipa-certupdate

ставим свой серт

ipa-server-certinstall -d mycert.pkcs12

рестарт всех сервисов

ipactl restart

А теперь самое главное. Чтобы битрикс мог залогиниться, для него создаем отдельного юзера в freeipa. А в битриксе в поле логин указываем его не так как там написано, иначе будешь получать вечную ошибку ldap_bind: Invalid credentials (49), а вот так:
uid=b24,cn=users,cn=accounts,dc=mycompany,dc=ru

ну и на закладке «настройка полей» кликнуть LDAP, email заменить на mail

Это всё.

 78   3 мес   freeipa   ldap   битрикс

Роли или Группы?

Чтобы запомнить раз и навсегда.

Роль — список прав.
Группа — список людей.

 27   3 мес   it

Правда

У людей вообще почему-то есть ложное убеждение, что им все должны всегда говорить только всю правду.
Причём под правдой — подразумевается достоверное изложение событий с беспристрастной точки зрения и исходящее от полной информированности, да ещё и простыми словами. Без учёта хронологии и обстоятельств принятия решений.

 34   4 мес  
Ранее Ctrl + ↓