Enable fallback hotspot captive portal in case wifi connection fails

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Captive portal causes WiFi problems on sonoff basics #3604

Captive portal causes WiFi problems on sonoff basics #3604

Comments

The problem

After updating my devices to 2022.9.1, three sonoff basics couldn’t connect to WiFi. After manually connecting to the devices over serial, erasing flash, uploading esphome, and checking the logs, I discovered the following:

  • With my binary_fan and captive portal enabled, the sonoff basic could not find my WiFi network whatsoever:
    esphome no matching network found
  • With default esphome sonoff basic config and captive portal enabled, the sonoff basic could see the network, but could not connect
    esphome Event: Disconnected ssid='[redacted]’ reason=’Probe Request Unsuccessful’
  • With my binary_fan enabled and captive portal disabled, the sonoff basic connects to WiFi as expected.

UPDATE: removing captive portal from a different sonoff basic does not resolve the issue, it remains unable to connect to wifi. Configs below.

Which version of ESPHome has the issue?

What type of installation are you using?

Which version of Home Assistant has the issue?

What platform are you using?

Board

Component causing the issue

Example YAML snippet

two configs that cause WiFi failures after update. The first works when I remove captive_portal, but not the second.

esphome: name: bedroomfan comment: Controls the bedroom fan esp8266: board: esp8285 wifi: ssid: "[redacted]" password: "[redacted]" ap: ssid: "BedroomFan" password: "[redacted]" domain: .home.[redacted].com captive_portal: logger: api: password: "[redacted]" reboot_timeout: 5min ota: password: "[redacted]" text_sensor: - platform: version name: "Bedroom Fan ESPHome Version" switch: - platform: restart name: "Bedroom Fan Restart" fan: - platform: binary output: relay name: "Bedroom Fan" id: bedroomfan output: - platform: gpio pin: GPIO12 id: relay binary_sensor: - platform: gpio pin: number: GPIO0 mode: input: true pullup: true inverted: true name: "Bedroom Fan Button" on_press: - fan.toggle: bedroomfan status_led: pin: number: GPIO13 inverted: yes

Second config file that does not work after update to 2022.9.0 (worked before):

esphome: name: kegerator comment: Controls the kegerator temperature esp8266: board: esp8285 wifi: ssid: !secret wifi_ssid password: !secret wifi_password # ap: # ssid: "Kegerator" # password: "[Redacted]" domain: .home.[Redacted].com # captive_portal: logger: api: password: "[Redacted]" reboot_timeout: 5min ota: password: "[Redacted]" text_sensor: - platform: version name: "Kegerator ESPHome Version" dallas: - pin: GPIO14 update_interval: 15s sensor: - platform: dallas address: 0xF0031671D2D0FF28 name: "Kegerator Temperature" resolution: 12 accuracy_decimals: 2 id: kegerator_temperature binary_sensor: - platform: gpio pin: number: GPIO0 mode: input: true pullup: true inverted: true name: "Kegerator Button" on_press: - switch.toggle: relay switch: - platform: gpio name: "Kegerator Switch" pin: GPIO12 id: relay - platform: restart name: "Kegerator Restart" climate: - platform: thermostat name: "Kegerator" id: kegerator sensor: kegerator_temperature default_target_temperature_high: 35°F min_cooling_off_time: 5min min_cooling_run_time: 0s min_idle_time: 0s cool_action: - switch.turn_on: relay idle_action: - switch.turn_off: relay status_led: pin: number: GPIO13 inverted: yes

Anything in the logs that might be useful for us?

Did the update to 2022.9.0 increase the compiled size that is causing WiFi to be unreliable? I

Читайте также:  Remote aio wifi usb

Additional information

Thank you so much for this amazing project.

The text was updated successfully, but these errors were encountered:

Источник

Знакомство с ESPHome. Настройка ds18b20 на esp8266. Интеграция ESPHome в Home Assistant.

ESPHome – это система для управления вашим ESP8266 / ESP32 с помощью простых, но мощных файлов конфигурации и удаленного управления ими через системы домашней автоматизации.

Основное преимущество ESPHome от просто написания кода. Это то, что ESPHome заточен работать как умный дом и у него существует интеграция с Home Assistant. По этому разработка очень сильно упрощается. И очень просто добавить любой датчик с помощью ESPHome и контроллера esp в Home Assistant.

В этой статье покажу Вариант установки ESPHome непосредственно на сервер Home Assistant. И с него прошивать будем микроконтроллер ESP.

Чтоб установить ESPHome в Home Assistant необходимо зайти в Supervisor далее Add-ONs и там найти ESPHome и установить его.

После установки, включим ползунок “Показывать на боковой панели”

Теперь зайдем в ESPHome и там увидим пустое поле. И только значек “+” в правом нижнем углу.

Нажав его мы начнем создавать устройство. Создание устройства состоит из 5 пунктов:

Первый пункт – это приветствие

Второй пункт – это имя нашей ноды которую мы создаем выполняя 5 этих пунктов.

Третий пункт – это выбор устройства которое мы будем прошивать.

Четвертый пункт – тут указываются SSID и Пароль от wifi сети. И также устанавливается пароль на прошивку по воздуху OTA. ESPHome сразу поддерживает прошивку по воздуху. После того как установим первый раз его.

Ну и пятый пункт – где мы просто соглашаемся и нажимаем готово.

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

Читайте также:  Вай фай сам айпи

А писать для примера мы будем код, для работы с датчиком температуры от компании dallas. Это ds18b20.

Для этого открываем вкладку edit и видим следующее:

Эти параметры создались автоматически на основе тех данных которые мы ввели при создании данной ноды.

Чтоб настроить датчик ds18b20. Ниже нужно дописать следующее:

dallas:
pin: D4
update_interval: 360s

где D4 это пин к которому подключается датчик. И загружаем получившийся код подключив контроллер к серверу Home Assistant. Выбрав в верхнем углу ком порт к которому подключен микроконтроллер. И нажать кнопку UPLOAD.

После этого откроется окно консоли и начнет загружаться программа с помощью PlatformIO.

После окончания загрузки у нас в консоли произойдет подключение к WI-fi сети которую мы указали. В случае успешного подключения к сети. Начнется опрос датчика ds18b20 и покажется в консоли его адрес. Этот адрес нужно скопировать и сохранить пока.

Ну а теперь дописываем код следующим образом:

 esphome: name: temperature_test platform: ESP8266 board: nodemcuv2 wifi: ssid: "test" password: "test" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Temperature Test" password: "nTCpBwKGatQw" captive_portal: # Enable logging logger: # Enable Home Assistant API api: password: "test" ota: password: "test" #D4 - это пин к которому подключен датчик. update_interval: задается в секундах. Время через которое будет опрашиваться датчик. dallas: pin: D4 update_interval: 10s # address: это адрес который получается при сканировании датчика. Его нужно копировать из консоли. sensor: - platform: dallas name: "temperature_test" address: "0xA104166427CCFF28" 

А так будет выглядеть код с Выводом значений температуры на дисплей m5stack:

 spi: clk_pin: 18 mosi_pin: 23 miso_pin: 19 #D4 - это пин к которому подключен датчик. update_interval: задается в секундах. Время через которое будет опрашиваться датчик. dallas: pin: 26 update_interval: 10s # address: это адрес который получается при сканировании датчика. Его нужно копировать из консоли. sensor: - platform: dallas name: "temperature_ds18b20" id: temperature_ds18b20 address: "0xA104166427CCFF28" font: - file: "fonts/Roboto-Medium.ttf" id: font_roboto_medium22 size: 22 color: - id: RED red: 100% green: 0% blue: 0% - id: BLUE red: 0% green: 0% blue: 100% - id: WHITE red: 100% green: 100% blue: 100% display: - platform: ili9341 id: m5stack_display model: M5Stack cs_pin: 14 dc_pin: 27 led_pin: 32 reset_pin: 33 rotation: 0 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height(), WHITE); it.rectangle(0, 22, it.get_width(), it.get_height(), WHITE); // header bar it.print(it.get_width() / 2, 11, id(font_roboto_medium22), WHITE, TextAlign::CENTER, "DS18b20"); it.print(11, 33, id(font_roboto_medium22), WHITE, TextAlign::LEFT, "Temperature"); it.printf(it.get_width() - 11, 33, id(font_roboto_medium22), WHITE, TextAlign::RIGHT, "%.1f ", id(temperature_ds18b20).state); 

Все. После этого сохраняем конфиг и загружаем в контроллер. Теперь можно выбрать даже метод OTA. ESPHome сам поймет какой адрес у устройства и прошьет его по воздуху.

Читайте также:  Сеть wi fi варианты подключения

На этом настройка устройства закончена. Теперь давайте его добавим в Home Assistant.

Для этого перейдем в Настройки -> Интеграции -> найдем интеграцию ESPHome.

Здесь у нас запросит пароль. Пароль нужно вводить тот который вы указали в конфиге созданной ноды в блоке Api

После этого создастся новый сенсор с именем sensor.”имя которое указали в блоке sensor при создании ноды”

На этом все. Интеграция в Home Assistant закончена.

Все данные шаги я проделал в видео ниже. Если что-то непонятно в статье, то советую посмотреть его:

Источник

Home Assistant выдает ошибку при попытке подключить новое устройство?

Почитал про Home Assistant. Посмотрел как там все просто. Решил сделать, что-то самостоятельно и тут же нарвался на кучу проблем.

С трудом подключил одну плату nodemcu, которая управляет датчиком температуры и pir датчиком. Подключал через IP, потому что никак иначе у меня не получалось. Когда пытался подключить напрямую через Home Assistant в связке с ESPHome мне выдавало ошибку в духе: «не смогли найти ip устройства, вы уверены, что оно в сети?»

esphome: name: maingatenode1 platform: ESP8266 board: nodemcuv2 wifi: ssid: "mywifi" password: "mypass" # manual_ip: # # Set this to the IP of the ESP # static_ip: 10.0.0.42 # # Set this to the IP address of the router. Often ends with .1 # gateway: 10.0.0.1 # # The subnet of the network. 255.255.255.0 works for most home networks. # subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "ap_ssid" password: "ap_pass" captive_portal: # Enable logging logger: # Enable Home Assistant API api: ota: sensor: platform: dht pin: D8 temperature: name: "Temperature" humidity: name: "Humidity" #move sensor binary_sensor: - platform: gpio pin: D7 name: "PIR Sensor" device_class: motion

С трудом я его подключил, прописав в имя хоста ip адрес.

606db472df4cb790350901.png

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

manual_ip: # Set this to the IP of the ESP static_ip: 10.0.0.43 # Set this to the IP address of the router. Often ends with .1 gateway: 10.0.0.1 # The subnet of the network. 255.255.255.0 works for most home networks. subnet: 255.255.255.0
esphome: name: el_marta_socket platform: ESP8266 board: nodemcuv2 wifi: ssid: "mywifi" password: "mypass" manual_ip: # Set this to the IP of the ESP static_ip: 10.0.0.43 # Set this to the IP address of the router. Often ends with .1 gateway: 10.0.0.1 # The subnet of the network. 255.255.255.0 works for most home networks. subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "ap_ssid" password: "ap_pass" captive_portal: # Enable logging logger: # Enable Home Assistant API api: password: "*****" ota: password: "*****" switch: - platform: gpio name: "Socket_relay_1" pin: D0 inverted: True restore_mode: RESTORE_DEFAULT_OFF

Как это исправить? Второй день мучаюсь

Источник

Оцените статью
Adblock
detector