Полная и достаточно внятная поддержка ESPHome в Home Assistant пришла к нам с обновлением 0.85.

Что же такое ESPHome?

Если коротко, то это инструмент, который позволяет интегрировать в Home Assistant устройства, созданные на базе ESP8266 / ESP32.

Конечно, есть масса других проектов для подобных задач, таких как Tasmota, ESPEasy, WifiIot, ESPUrna, но основное их отличие от ESPHome заключается в том, что все они, для интеграции с любыми системами, используют MQTT, а вот ESPHome разрабатывался специально для Home Assistant и для интеграции используется Native API.

Я ни в коем случае не призываю отказываться от MQTT, но в связке ESPHome Home Assistant он просто не нужен.

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

P.S. И в завершение краткого описания хочу сказать, если честно, проникся я этой системой, зацепила она меня. Вот уж действительно, в ней всё по-настоящему «Easy».

Как установить моды на Skyrim Как открыть строку Файлы в Лаунчере!

P.P.S. Статья будет большая, дабы не упустить важные моменты и показать максимум возможностей на старте.

Итак, в данной статье мы рассмотрим следующее:

  1. Установка ESPHome
  2. Создание файла конфигурации
  3. Прошивка платы
  4. Запуск
  5. Добавление датчиков

Приступим.

1. Установка ESPHome

Что использовал я?

У меня после переезда Home Assistant на Raspberry 3B остался не у дел Orange Pi LIte с 512 Мб и установленной DietPi на борту.

На этой плате и будем работать с ESPHome.

Следует заметить, что ESPHome может быть установлена на одном устройстве с Home Assistant. Но в моем случае обе системы находятся на разных устройствах.

Так же есть возможность работы системы в случае использования Hass.io .

Для работы системы понадобится предустановленный Python 2.7 ибо система использует platformio.

pip install esphome

Надеюсь во время установки ошибок не возникло. Переходим к следующему этапу.

2. Создание файла конфигурации

В ESPHome есть 2 варианта создания основного файла конфигурации:

Создание файла в консолиСоздание файла в Dashboard

Я расскажу про оба эти варианта.

Вариант первый. Создаем файл в консоли командой:

esphome test.yaml wizard

Где, test.yaml, это имя файла вашего проекта

Далее отвечаем на вопросы дружественного мастера установки:

Придумываем и указываем имя нашего проекта.Например, Test. Пишем с маленькой буквы.

Теперь нужно выбрать и ввести тип нашей платформы. Я буду использовать ESP-01 с объемом памяти 1 Мб, по этому выбираю ESP8266.

Не работает файлы в Launcher Skyrim

Далее выбираем тип платы. У меня esp01_1m.

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

Вводим пароль для указанной выше точки доступа.

Вводим пароль для последующего обновления прошивки по воздуху.

Итак, мы создали файл основной конфигурации.Теперь нужно его залить в плату.Сделаем это.

3. ПРОШИВКА ПЛАТЫ

Перед прошивкой подключаем TTL-конвертер к серверу, а плату к конвертеру.

Не забываем перевести плату в режим прошивки — замыкаем GPIO-0 на землю и подаем питание.

Прошивка устройства осуществляется командой:

esphome test.yaml run

После запуска скачиваются недостающие библиотеки и компилируется проект. Это займет какое-то время.

Потом система пытается залить скомпилированный файл в нашу плату.

Далее нам нужно выбрать, через что мы будем шить нашу плату: через TTL-конвертер или через ОТА.Первая прошивка должна заливаться только через TTL-конвертер.

Вот так выглядит заливка конфигурационного файла.

Далее, перезагружаем плату и по идее мы должны увидеть лог старта нашей платы.

На этом месте я прервусь, дабы перейти ко второму варианту создания конфигурационного файла.

Вариант второй. Создаем файл в Dashboard.

Для работы в Dashboard нам сначала нужно ее установить.

Сделаем это командой:

pip2 install tornado esptool

И запустим командой:

esphome config/ dashboard

После этого в браузере перейдем по адресу:

Где, «localhost», это адрес сервера, на котором мы работаем с ESPHome

В браузере нас встречает вот такая форма:

Нажимаем на » » что бы создать конфиг-файл.

Вводим имя проекта

Выбираем тип нашей платы

Вводим логин и пароль WiFi

В завершение видим сообщение, что у нас всё хорошо и мы готовы к прошивке устройства.

В выпадающем списке справа выбираем, через что будем шиться. Для первого раза выбираем TTL-конвертер

Читайте также:  Immersive patrols Skyrim что это

Итак, мы готовы шиться.

Но перед этим пару слов о кнопочках проекта:

UPLOAD — запускает процесс прошивки по выбранному интерфейсуEDIT — позволяет редактировать конфиг-файлSHOW LOGS — показывает лог работающего устройстваVALIDATE — проверяет на ошибки конфиг-файл после изменения.

Переводим плату в режим прошивки — замыкаем GPIO-0 на землю и подаем питание.

Жмем VALIDATE и если ошибок нет, жмем UPLOAD.

Все, что происходит далее, ничем не отличается от прошивки через консоль.

4. Запуск

После прошивки видим, что наш проект онлайн — это значит, что дальше мы можем прошивать устройство по ОТА.

Можем нажать SHOW LOGS и посмотреть, что там пишет наше устройство

После успешного старта проекта, пусть даже с пустой конфигурацией предлагаю заглянуть в Home Assistant.

Заходим в Настройки/Интеграции/Создать новую интеграцию и напротив строки ESPHome нажимаем НАСТРОИТЬ.

Вводим адрес платы. Можно посмотреть в логе

Вводим пароль, который мы указывали при создании конфиг-файла

Видим пока что, вот такую картину. А чего мы хотели, мы же еще не добавили ни одного датчика.

5. Добавление датчиков

Теперь откроем конфиг-файл и добавим веб-сервер и какие-нибудь внутренние датчики.

В Dashboard нажмем на EDIT.

web_server: port: 80

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

binary_sensor: — platform: status name: «Test»

Добавляем датчик, который будет нам показывать время работы устройства в сети.

sensor: — platform: uptime name: Test Uptime Sensor

Целиком конфиг-файл выглядит следующим образом:

esphome: name: test platform: ESP8266 board: esp01_1m wifi: ssid: ‘**********’ password: ‘********’ # Enable logging logger: # Enable Home Assistant API api: password: ‘*******’ ota: password: ‘*******’ web_server: port: 80 binary_sensor: — platform: status name: «Test» sensor: — platform: uptime name: Test Uptime Sensor

Сохраняем и нажимаем VALIDATE

Если ошибок нет, жмем UPLOAD для загрузки проекта в устройство.

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

Проверим, что там у нас в Home Assistant.

Теперь посмотрим на веб-сервер.

Для этого в браузере перейдем по адресу, который получило наше устройство.

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

Вот собственно и всё, что я хотел рассказать в первой части. Этого пожалуй достаточно для старта.

Во второй части я планирую рассказать уже о более конкретной задаче, которую я хочу реализовать на устройстве Sonoff Basic.

Ну и в завершение.

Если вдруг вы хотите перейти с уже существующего устройства в котором залита Tasmota

или ESPEasy или ESPurna, то создаете конфиг-файл, как описано выше, только не жмете UPLOAD, а нажимаете на три точки, справа от имени проекта. Затем на кнопку COMPILE.

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

Ну и в завершение 2.

Если у вас возникли проблемы еще на первом этапе заливки основного конфиг-файла в устройство и проблемы эти связаны с Linux-системами, то можно скомпилировать файл и залить его из Windows программой esphomeflasher

В программе выбираете com-порт, к которому подключен TTL-конвертер, выбираете скомпилированный файл и жмете кнопку FLASH ESP

После удачной прошивки, устройство видится в Dashboard и с ним можно уже работать по ОТА.

Ну и в завершение 3. Бонус

Для автоматического запуска Dashboard, можно создать сервис в SystemD, например:

[Unit] Description=Dashboard After=network-online.target [Service] Type=simple User=%i ExecStart=/root/config esphome dashboard [Install] WantedBy=multi-user.target

Или добавить строку в rc.local

/usr/local/bin/esphome /root/config/ dashboard

Важный момент — обращайте внимание на пути, указанные в коде. Вы должны указать свои пути расположения ESPHome.

Вот теперь точно — всё!

Всем спасибо, кто осилил текст и дочитал до конца!

P.S. Статья обновлена 8.04.19 по причине критичных изменений в самом проекте ESPHome.

Изменения коснулись смены имени проекта. Раньше было ESPHomeLib, а теперь просто ESPHome.

Соответственно изменились основные команды и пути расположения файлов.

Источник: sprut.ai

Дружимся с ESP

Последние пару лет практически все прототипирование несложных IoT-устройств я делаю на NodeMCU, хотя зачастую она и великовата по размеру, и дороговата, и избыточна по функционалу. А все потому, что имела неудачный опыт с ESP-01, которая совершенно не поддавалась прошивке. Сейчас пришло время преодолеть этот барьер и освоить другие железки, от которых мне нужно следующее — Wi-Fi и пины для подключения периферии.

Читайте также:  Ядовитая слюна Скайрим где найти

В этой статье разберем подключение к платформе Интернета вещей наиболее популярных плат с интерфейсом Wi-Fi. Их можно использовать, чтобы управлять своим устройством дистанционно или чтобы снимать показания с сенсоров через интернет.

Несколько представленных в статье модулей (ESP-01, ESP-07, ESP-12E, ESP-12F) и плат (Goouuu Mini-S1, WeMos D1 mini и NodeMCU V2) базируются на контроллере ESP8266, использование которого позволяет простым и дешевым способом добавить в своё устройство беспроводную связь через Wi-Fi.

Так выглядит модельный ряд модулей на базе чипа ESP8266.

Последняя плата из тех, о которых я расскажу (ESP32 WROOM DevKit v1), построена на контроллере семейства ESP32 — более продвинутой по своим возможностям версии ESP8266.

Все представленные модели можно программировать и загружать прошивки через Arduino IDE точно так же, как при работе с Arduino.

Настройка среды программирования Arduino IDE

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

1) Открываем среду программирования Arduino IDE.

http://arduino.esp8266.com/stable/package_esp8266com_index.json, https://dl.espressif.com/dl/package_esp32_index.json

4) В пункте меню Tools (Инструменты) -> Board (Плата) выбираем Boards manager (Менеджер плат).

Находим в списке платформы на ESP8266 и нажимаем на кнопку Install (Установить).

6) Надпись INSTALLED сообщает, что дополнения успешно установлены.

7) Аналогичным образом устанавливаем дополнение для ESP32.

8) Теперь нам доступны к программированию платформы с модулем ESP8266 и ESP32.

9) Для подключения плат к платформе Интернета вещей используем библиотеку EspMQTTClient. Чтобы ее установить, в пункте меню Tools (Инструменты) выбираем Manage Libraries (Управлять библиотеками). Находим и устанавливаем библиотеку EspMQTTClient. Может появиться сообщение об установке дополнительных библиотек. Выбираем “Install all”.

Примечание — Также для работы с платами понадобится установить драйверы CH340 (WeMos и Goouuu) и CP2102 (для остальных). Их отсутствие повлияет на то, найдет ли Arduino IDE COM-порт, к которому подключена плата.

Код прошивки

Для прошивки всех используемых ниже модулей используем один и тот же код.

  1. Установка Wi-Fi соединения
  2. Подключение к объекту на платформе Rightech IoT Cloud по протоколу MQTT
  3. Отправка рандомных значений по температуре («base/state/temperature») и влажности («base/state/humidity») каждые 5 секунд (PUB_DELAY)
  4. Получение сообщений о переключении света («base/relay/led1»)

#include «Arduino.h» #include «EspMQTTClient.h» /* https://github.com/plapointe6/EspMQTTClient */ /* https://github.com/knolleary/pubsubclient */ #define PUB_DELAY (5 * 1000) /* 5 seconds */ EspMQTTClient client( «», «», «dev.rightech.io», «» ); void setup() < Serial.begin(9600); >void onConnectionEstablished() < client.subscribe(«base/relay/led1», [] (const String Serial.println(payload); >); > long last = 0; void publishTemperature() < long now = millis(); if (client.isConnected() (now — last >PUB_DELAY)) < client.publish(«base/state/temperature», String(random(20, 30))); client.publish(«base/state/humidity», String(random(40, 90))); last = now; >> void loop()

Работоспособность кода будем проверять на платформе Rightech IoT Cloud, именно поэтому в качестве адреса MQTT-брокера указан dev.rightech.io. Идентификаторами клиентов служат идентификаторы объектов, созданных на платформе. Под каждую проверку я завела на платформе отдельный объект, именно поэтому во всех скринах кодов, которые будут далее представлены, отличается только строка .

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

Модули на базе ESP8266

Для работы с модулями на базе ESP8266 есть два варианта:

  1. Работа с AT командами (в стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу UART);
  2. Wi-Fi модуль как самостоятельный контроллер (все представленные модули очень умные: внутри чипа прячется целый микроконтроллер, который можно программировать на языке C++ через Arduino IDE).

В статье будем рассматривать второй вариант — прошивка модулей в виде самостоятельного полноценного устройства. Здесь также есть два варианта прошивки с точки зрения железа:

  1. Через плату Arduino;
  2. Через USB-Serial адаптер.

Рассмотрим второй вариант — использовать адаптер на базе чипа CP2102 (например, такой https://www.chipdip.ru/product/cp2102-usb-uart-board-type-a?frommarket=https%3A%2F%2Fmarket.yandex.ru%2Fsearch%3Frs%3DeJwzSvKS4xKzLI

Изменения v2.4
— Добавлен раздел: Объединение двух и более ESP с помощью TES5Edit;

Изменения v2.3
— Дописан раздел 2: Добавлена регистрация BSA в Skirim.ini;

Изменения v2.2
— Добавлен раздел: Конвертируем ESP в ESM и обратно;

Изменения v2.1
— Добавлен раздел: Поиск необходимых текстур DDS используя NIF файлы;
— В архив добавлена программа: NifSkope;

Изменения v2.0
— Исправлены ошибки в 6 разделе;
— Добавлен раздел по изменению веса, стоимости и базового урона оружия;
— В архив добавлены утилиты: TES5Edit, OpenSky, BSAopt, BSA_Browser;

Читайте также:  Skyrim как сделать даэдрическую броню

Изменения v1.1
— Дописал инструкцию по распаковке BSA;

Важно.
Я не модмейкер, не разработчик Skyrim и не истина в последней инстанции.
Возможно существуют ситуации когда не стоит паковать все ресурсы в BSA.
Всегда что то может пойти не так, так что сохраняйте исходную копию мода.
Все действия Вы выполняете на свой страх и риск, я за это ответственности не несу.
Мой девиз: «Твори, Выдумывай, Пробуй. «

Базовая информация об установке программы и создании плагинов

Первые вопросы, коими задаются новоиспечённые пользователи: где взять, как поставить, что это за зверь, где, как и что двигать, и делать? Кошмар. Вот какими мыслями обычно забита голова новичка и именно от них мы будем избавляться в первую очередь.

Итак, начнём с поиска и установки ККита.

Установка

Зайдите в ваш Steam аккаунт, затем найдите вкладку View (Вид), а в ней Tools (Инструменты):

Esp скайрим чем открыть

В открывшемся списке всевозможных утилит ищем Creation Kit и нажимаем по строчке правой кнопкой мыши и в появившемся списке выбираем Install Game…

После установки редактора, запустить его мы сможем либо при помощи стима: TOOLS/Creation Kit и двойной клик по строке (то есть через тоже место где мы его и устанавливали), либо через C:Program FilesSteamsteamappscommonskyrimCreationKit.exe, но работать автономно в КК без Стима не получится, ибо программа привязана к стим аккаунту.

ESM Open (N+O или клик по значку папки)

В данном примере мы рассмотрим способ изменения показателя брони у кирасы (у бот перчаток и т.п. все по аналогии)

5.1 Открываем вкладку Armors

5.2 Кликаем по строке Chests

Открывается окошко со списком кирас используемых в моде:

В данной модификации 2 полностью идентичные кирасы: обычная и кольчужная, что бы было с чем сравнивать отредактируем показатель брони только 1ой, кольчужной.

6. Для этого кликаем 2 раза по строке DynastyChainCuirass и видим окно с параметрами брони:

В данном окне видим что:

Name — название брони в игре

Rating — показатель брони, в данном случае он равен 4600 — для моего персонажа со всеми перками и 100лвл он в игре при таком рейтинге показатель брони равен 65:

Value — стоимость брони

Armor type — тип брони (легкая/тяжелая/обычная)

Body parts — в какой части тела относится (тело, голова, щит и т.д.)

Давайте изменим рейтинг брони с 4600 на 46000 (увеличим в 10 раз)

7. Для этого в поле Rating вместо значения 4600 впишем 46000:

Теперь нам необходимо что бы изменения вступили в силу, для этого переходим к следующему пункту.

8. Жмем кнопку Apply затем Save, окошко автоматически закроется.

Видим что значение поля Rating изменилось, значит все сделали правильно.

9. Сохраняем изменения. Для этого жмем File—>Save (или ctrl + s или на иконку дискеты)

Вот и все, запускаем игру и смотрим на показатель брони:

Как видим броня стала 644, вместо 65. Все получилось.

Я не знаю точной и правильной формулы по которой расчитывается показатель брони из рейтинга, но путем несложных вычислений:

для стандартного рейтинга 4600 броня была 65 и если 4600/65=

после изменения 46000/644=

Можно сделать вывод что показатель брони предмета в игре равен примерно Rating/70 — но это лишь логика, не более.

Создание плагина

Как создать плагин ( esp ) без использования редактора Creation Kit

Автор материала: Demolir

Собственно,на поиски самого решения я потратил довольно много времени и вот случайно на форуме сайта bethsoft.com наткнулся на туториал «Making New Smithing Recipes (pre-CK) without the Creation Kit«. Так же, пользуясь случаем, хочу выразить благодарность bussareas за неоценимую помощь в разрешении этого вопроса.

В этом материале я опишу суть данного туториала вкратце, но для интересующихся подробностями вот ссылка: forums.bethsoft.com/index.php?/topic/1286593-tutorial-making-new-smithing-recipes-pre-ck/

Внимание! Оказывается уже есть полностью переведенная эта же статья. Ознакомиться можно здесь rumor.ru/wiki/Skyrim_CK:Руководство_по_созданию_..

С чего начать!

Создаем заготовку esp

— трехмерное пространство (или что-то вроде этого) ( Unknown ). Рекомендуется ставить значение 2048.

Таким же образом вы можете добавить в игру абсолютно любой предмет с самыми разными параметрами и избрать разные способы получения. Если идея покупки вас не прельщает, добавьте предмет в любой иной контейнер, или можно сделать так, чтобы он появлялся, к примеру, в трупе дракона.

Тестирование.

Ну что же, осталось только подключить esp и протестировать в игре:

Источник: boochi.ru