Автор Тема: Home Assistant hass что почём {DELETE}  (Прочитано 446 раз)

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Здавствуйте всеведующие.
Странно, но ни одной подобной темы я на форуме не нашел. Кроме ютуба в Переславле-Залесском презентация "понемногу ни о чём"
Мне лень долбить стены, купил
- 2 релюхи sls,
- hiaomi hub 2
- 2 кнопки hiaomi дистанционный выключатель.
- жду usb zegbee свисток
    ну и справки пытаюсь навести
Всё это не сложилось и не заработало (вендорлоки), поставил в lxc alt 10 hass core  и заглядываю в вэбморду. Пониманием похвастаться не могу.

Буду рад любой помощи, фирмы-производители, грабли, обходы граблей, рекомендуемые устройства, разочарования, успешные инсталляции.
Поделитесь опытом?
« Последнее редактирование: 31.08.2023 17:20:42 от Kirikekeks »
Ламер

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #1 : 13.08.2023 11:18:51 »
Ну, что ж. Раз лыжни мне не проложили, буду сам её тропить. Задолбает - обнулите.

Умный дом мне не очень то и нужен. А вот предупредительный вполне не помешает. Вечерами почитываю про услужливые дома, и мне не нравится прочтённое. Но начнём с названия, как то мне надо кличку проекту придумать, и она должен быть лаконичной и ёмкой, как ненормативная лексика. Пришло на ум мажордом или дворецкий. Дворецкий, без вариантов. Мисс Хадсон и Бэрримор надо импортозамещать, двое из ларца и волшебное колечко длинно, щучье веление слишком похоже на правду, всё что я прочитал про умный дом, это ССУЧЬе веление.

Индустрия дворецких, это голимый вендорлок и проприетарь. Модулируя частоты хабов и контроллеров можно издеваться над людьми бесконечно. Видимо по этому всё это хозяйство подешевело в разы, "ты плюнешь в коллектив, коллектив утрётся, а вот если коллектив в тебя плюнет - ты утонешь". Необходимо головное устройство, со сниффером, который мог бы сканировать диапазон частот и находить все устройства. И голова, которой можно объяснить, что вот это кофемолка, а это вентилятор в сортире. Таким сниффером я купил zeegbee usb sonoff свисток, к выходным приедет. А головой будет home assistant далее hass потому что на питоне, открытый. Не хочу на вопрос "Алиса, ты зачем выключила мне свет?" услышать "А ты мне подписку не оплатил".  И шурши потом физиологию Алис...

Голову в "ваших интернетах" советуют либо в виртуальной машине (дебиан), либо в докере (остальные) и на rasspbery pi. Виртуалбокс я ставить не буду, докер тоже ниасилил, а уж распи у меня лет пять валяется, там принтсервер, openVPN, syncthing, acme. Имеет привычку затирать карту и вырубаться в самый подлючий момент. Так думаю распи это плохая идея. Буду ставить в lxc на сервер и пробрасывать в виртуалку usb port. Таких мануалов в интернетах не нашлось, шишечки иголочки.
« Последнее редактирование: 13.08.2023 11:46:30 от Kirikekeks »
Ламер

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #2 : 13.08.2023 11:26:51 »
Сначала сделаем двор, раз уж его надо отдать в управление.

    lvcreate -V 35G -T ssr/lxc -n hass

Зарегистрируем его в местном КУГИ

    grep hass /etc/fstab
    /dev/mapper/ssr-hass /lxc/hass ext4 defaults 0 2

Сделаем кадастровый план

    mkfs.ext4 /dev/ssr/hass
    mke2fs 1.45.6 (20-Mar-2020)
    Discarding device blocks: done
    systemctl daemon-reload

Назначим подрядчиком Альтлинукс

    lxc-create -t download -n hass
    You just created an Altlinux p10 x86_64 (20230810_01:17) container

    grep ^lxc hass/config
    lxc.include = /usr/share/lxc/config/common.conf
    lxc.arch = linux64
    lxc.rootfs.path = dir:/var/lib/lxc/hass/rootfs
    lxc.uts.name = hass
    lxc.start.auto = 1
    lxc.start.delay = 5
    lxc.net.0.type = veth
    lxc.net.0.link = lbr0
    lxc.net.0.flags = up
    lxc.net.0.hwaddr = 00:16:3e:33:a0:da
    lxc.cgroup.memory.limit_in_bytes = 4096M

Запустим наш новый двор

    lxc-start hass
    lxc-attach hass
    [root@hass /]#

Поставим своего урядника для порядку

    cp blog/rootfs/root/.bashrc hass/rootfs/root/.bashrc

Повесим табличку с адресом

    root@hass:[~]: ip -c a |grep glob
    inet 192.168.1.62/24

Запретим местному сельсовету менять название двора.

    root@hass:[~]: egrep networ /etc -rl |grep system
    /etc/systemd/system-generators/lxc
    /etc/systemd/networkd.conf
    /etc/tcb/systemd-network/shadow

root@hass:[/]: cat /etc/systemd/network/eth0.network
[Match]
Name=eth0

[Network]
Address=192.168.1.62/24
Gateway=192.168.1.1
DNS=77.88.8.7
Domains=kirikekeksa.net
[DHCPv4]
UseDomains=true

Подворье, дворецкая, овин, конюшня, псарня, сортир.

    apt-get install hass-core
    0 будет обновлено, 318 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено. Необходимо получить 141MB архивов.
    После распаковки потребуется дополнительно 559MB дискового пространства.

Поищем дворецкого

    apt-chache search hass
    home-assistant-frontend 20210603.0
    homeassistant 2021.6.6
   
    python3 -m pip install homeassistant

Убедимся, что он приступил к работе

    ss -tunlp |grep 8123
    tcp LISTEN 0 128 0.0.0.0:8123 0.0.0.0: users:(("hass",pid=1276,fd=9))
    tcp LISTEN 0 128 [::]:8123 [::]: users:(("hass",pid=1276,fd=10))

Заглянем в его плутоватую вэбморду

    http://192.168.1.62:8123/config/dashboard

Вижу :-)). Теперь дождёмся сниффера usb zegbee и будем пробрасывать usb в контейнер, не доводилось ещё.
« Последнее редактирование: 13.08.2023 11:43:45 от Kirikekeks »
Ламер

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #3 : 15.08.2023 22:09:02 »
Пришёл usb свисток zigbee

Воткнул его в хостовую систему и пытаюсь найти;

    lsusb
    Bus 001 Device 003: ID 1a86:55d4 QinHeng Electronics

Вот это непонятное добавилось к остальному неясному. Подробности нужны.

    usb-devices
         Bus=01 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
    D: Ver= 1.10 Cls=02(commc) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=1a86 ProdID=55d4 Rev=04.42
    S: Manufacturer=ITEAD
    S: Product=SONOFF Zigbee 3.0 USB Dongle Plus V2

Ндаа, чем больше знаешь, тем хуже спишь. И производитель сменился с кинхэнга на итид (твою мать?)

Ну подарим свисток дворецкому, что бы пробросить его в контейнер нужны вроде немудрящие пара строк в конфигах:

На хосте прописываем

    grep devic /etc/lxc/default.conf
    lxc.cgroup.devices.allow = c 189:* rwm

    grep -A2 devices /var/lib/lxc/hass/config
    lxc.cgroup.devices.allow = c 189:* rwm
    lxc.mount.entry = /dev/bus/usb/001/003/ dev/bus/usb/001/003/ none bind,optional,create=dir

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

    systemctl daemon-reload
    lxc-attach hass 'reboot'
    lxc-attach hass

    root@hass:[/]: lsusb Bus 001 Device 003: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2

Запускать дворецкого приветствием hass каждый раз при старте контейнера выглядит глупо. Пусть сам запускается, это он мне дворецкий, а не я ему.

Стырим у разработчиков запускалку, что бы не морщить родное лицо.

    https://git.altlinux.org/gears/h/hass.git?p=hass.git;a=blob;f=hass.service;h=625e751c9e9cbd66bd98b93826514a6b564b8565;hb=72cda6f397815380cfdfd0b85b50bf2d19abaaf5

    @hass:[~]: cat /etc/systemd/system/hass.service

[Unit]
Description=Home automation platform
After=network-online.target
Wants=network-online.target

[Service]
EnvironmentFile=/etc/sysconfig/hass
ExecStart=/usr/bin/hass -c /var/lib/hass $OPTIONS
User=_hass
Group=_hass

[Install]
WantedBy=multi-user.target

Поставим ему sqlite3, говорит не может без неё

    apt-get install sqlite3
    systemctl enable hass.service --now

Завтра поучим дворецкого свистеть в дуду. Во втором часу ночи свистеть нехорошо, люди спят.
Ламер

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #4 : 17.08.2023 08:13:54 »
Чёй-то не выходит вставить свисток дворецкому в уста сахарные. И не в сахарные и не в уста тоже не вставляется. А  посмотрим что там девопсы альтлиновские нашаманили?

  apt-get install git                                                                                                                   
  git clone https://git.altlinux.org/gears/h/hass.git                                                                                   
  find hass/ -type d -iname 'zha'                                                                                                       
  tar -cvJf hass.old.txz .homeassistant/
  ls hass/homeassistant
....
Ламер

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #5 : 17.08.2023 08:16:23 »
А может проштробить три метра?  Делов на час и теме {SOLVED}?
Ламер

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #6 : 17.08.2023 19:04:46 »
Чтож, побыстрому не получилось. Попробуем собрать из исходников.
Вот эта инструкция актуальна?
https://www.altlinux.org/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2_RPM
@ruslandh
Ламер

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Home Assistant hass что почём
« Ответ #7 : 17.08.2023 19:29:41 »
Актуальна ;-)

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #8 : 31.08.2023 12:46:46 »
Спасибо @ruslandh
В альте есть три способа собрать пакеты

rpm-build hasher gear + hasher

Начну с модного, gear-hsh, там такая милая однострочная инструкция. Зайти в скачанный hass и запустить gear-hsh, предварительно поставив пару пакетов gear да hasher. Уау, в выводе просто краткий справочник rpm билдера. И дерево линуксов, и псевдо рут и чрут, и пользователь builder, в общем то можно будет посмотреть когда до rpm -dc доберёмся. Отваливается с чем-то вроде E: не могу найти пакет python3(lru). Поможем,

    apt-cache search python3-module |grep lru
    apt-get install python3-module-pylru

Ну ещё разок, давай браток.

    E: не могу найти пакет python3(lru)

А почему? Вот от в //var/lib/python3-packages, и pip его видит, а ты нет. Стемнело. Ладно, "мама сказала как стемнеет - сразу домой"

Переходим к пункту 1, ставим сборочное окружение, пользователя билдера, и запускаем сборку по инструкции @ruslandh,  постом выше. Ух, не хватает какого-то python3. Ставим. Прогоняем повторно. Ура exit0. И что там у нас на выходе?

    hass-core и python-module-hass. Ага, мастерство-то не пропивается! Руки то помнят!

    apt-get install RPM/BUILD/hass-core
    err: python3 deprecate

Понятно. Если ты делал Франкенштейничков из testing & stable то убеждался, что в кино они бессмертны и неуязвимы. А в жизни - описался и умер. И сделать что бы не описался еще как-то можно, но всё равно издохнет, рано или поздно. Мастерство - это когда можешь как в кино, у меня не вышло. Но собственно у альт-девопсов эти пакеты живут в бранче, не знаю сколько седины появилось, попользуюсь ка лучше ими.

Что-то я такого нагородил, что этот контейнер проще пересоздать, чем откатить. lxc-destroy hass.
Ламер

Оффлайн Kirikekeks

  • Полу-попутчик, полу-мудрец, полу-невежда, полу-подлец...
  • Давно тут
  • **
  • Сообщений: 314
    • Email
Re: Home Assistant hass что почём
« Ответ #9 : 31.08.2023 13:04:50 »
А попробую я свежую вверсию дистра с hass-2023.07? Ставим контейнер Alt Sisyphus amd64, hass-core запускалку systemd запускаем, открываем плутоватую вэбморду, создаём учётку. Опа, код России удалили из исходников. Можно прикинуться белорусом или украинцем, можно найти в модуле кортеж или словарь и добавить. Но не хочется. Поженю москиту с zigbee2mqtt и поставлю что-то другое.

Помню был я смутные года в международном лагере, под Питером, и мне на вечернем кофе один красивущий эстонец выковырял из под ногтей грязь и размешал в мою чашку. Соседка из Италии предупредила, и я этот кофе в лучших традициях дебатов метнул в обидчика. Ему было 17, мне 13 лет. Вальяжно ухмыляясь этот бастард начал на меня надвигаться. Я взял в правую руку бутылку, в левую вилку и прикидывал как его завалить, силы были не равны. Но он развернулся и пошёл утираться.

Тема закрыта. Продолжу в zegbee2mqtt && majordom, там стандартная LAMPа на php. А этот кофе пейте сами, если не брезгливы.
Ламер