Пипетка
185/60 R14
5x14 ET35
FLY F013
6J*R14 5*100 ET35 DIA57,1
Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку
185/60 R14
5x14 ET35
FLY F013
6J*R14 5*100 ET35 DIA57,1
Немного потупил на тему как увязать три сущности 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 такие. Но там очевидно.
«Дипломатические термины времён поздней фазы англосаксонского доминирования».
Разговор был предметным и конструктивным
Стороны обозвали друг друга мудаками, но не успели подраться.
Встреча завершилась в хорошей атмосфере
Никого не убили.
Обсуждались острые темы
Был открыт огонь на поражение, но стороны уворачивались и, благодаря понятийным договорённостям не брать больше одной обоймы в переговорную, всё быстро завершилось.
Представитель Лондона высказал мысль, достойную Черчилля
Спичрайтер-индус мнит себя хрен знает кем и попросил другого индуса, из редакции, похвалить себя за миску карри и два танца из к/ф «Танцор диско.
Стороны договорились продолжать договариваться о потенциальных договорённостях, ведущих в будущем к перспективному обсуждению начала формирования комиссии, которая обсудит общие принципы формирования концепции правил, которые будут использованы для начала переговорного процесса
Группа взрослых мужчин ещё годами будет за госсчёт летать первым классом, ежедневно вечером нахерачиваться коньяком и снимать шлюх за 1500евро/час, и хрен вы им что сделаете.
Он же закон сохранения сложности, утверждает, что для любой системы существует определённая степень сложности, которую нельзя уменьшить.
http://mainecoon.su/ViewCat.php?Id=24&lang=rus
http://mainecoon.su/ViewPhoto.php?Id=24&lang=rus
http://mainecoon.su/Pedigree.php?Id=8
день рождения: 29 марта 2009
папа: WCh Gittara’s MC Chuck Berry
мама: Ch CoolMotion`s Gina Ginelli
окрас: Красный мраморный (d 22)
Чип RGB сенсора должен отвечать 0x44 или 0x4D на запрос 0x12, а по факту просто обратно кидает номер регистра.
Но если сделать так:
tcs3472_register_write_byte(0x80 | 0x12, 0x12);
tcs3472_register_read(0x12, data, 1);
то в ответ прилетит то, что нужно.
Для чтения значения CRGB надо также адаптировать функцию и читать не 1 байт, а сразу 8.
Плата GY-BME280 поддерживает два варианта подключения i2c и SPI.
Чтобы выбрать шину i2c надо подать высокий уровень на CSB (соединить с Vin).
На шине i2c плата может иметь один из двух адресов 0x76 или 0x77. При подаче высокого на SDO будет 0x77, а если заземлить то 0x76.
Оставлять висеть в воздухе нельзя! Адрес назначен не будет!
чтобы не ругался на уже делегированный домен при установке делаем
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
Это всё.
Чтобы запомнить раз и навсегда.
Роль — список прав.
Группа — список людей.
У людей вообще почему-то есть ложное убеждение, что им все должны всегда говорить только всю правду.
Причём под правдой — подразумевается достоверное изложение событий с беспристрастной точки зрения и исходящее от полной информированности, да ещё и простыми словами. Без учёта хронологии и обстоятельств принятия решений.