- Saved searches
- Use saved searches to filter your results more quickly
- License
- dmamontov/hass-miwifi
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- Xiaomi Router
- Setup
- Configuration Variables
- Compatibility test
- Help us to improve our documentation
- Categories
- Home Assistant Device Tracker на роутере Xiaomi AX1800
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.
MiWiFi for Home Assistant
License
dmamontov/hass-miwifi
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
MiWiFi for Home Assistant
The component allows you to monitor devices and manage routers based on MiWiFi from Home Assistant.
❗ Supports routers with original or original patched MiWifi firmware
❗ On the modified firmware, not all functionality may work
Many more Xiaomi and Redmi routers supported by MiWiFi
- xqsystem/login — Authorization;
- xqsystem/init_info — Basic information about the router;
- misystem/status — Basic information about the router. Diagnostic data, memory, temperature, etc;
- xqnetwork/mode — Operating mode. Repeater, Access Point, Mesh, etc.
- misystem/topo_graph — Topography, auto discovery does not work without it;
- xqsystem/check_rom_update — Getting information about a firmware update;
- xqnetwork/wan_info — WAN port information;
- xqsystem/vpn_status — Information about vpn connection;
- misystem/led — Interaction with LEDs;
- xqnetwork/wifi_detail_all — Getting information about WiFi adapters;
- xqnetwork/wifi_diag_detail_all — Getting information about guest WiFi;
- xqnetwork/avaliable_channels — Gets available channels for WiFi adapter;
- xqnetwork/wifi_connect_devices — Get information about connected devices;
- misystem/devicelist — More information about connected devices;
- xqnetwork/wifiap_signal — AP signal in repeater mode;
- misystem/newstatus — Additional information about connected devices for force load mode.
- xqsystem/reboot — Reboot;
- xqsystem/upgrade_rom — Firmware update;
- xqsystem/flash_permission — Clear permission. Required only for firmware updates;
- xqnetwork/set_wifi — Update WiFi settings. Causes the adapter to reboot;
- xqnetwork/set_wifi_without_restart — Update Guest WiFi settings.
❗ If your router is not listed or not tested, try adding an integration, it will check everything and give a link to create an issue. You just have to click Submit new issue
❗ If at the time of adding the integration only Router not supported message is displayed, please create an issue with the message that the router is not supported, indicating the model of the router.
- 🟢 — Supported
- 🔴 — Not supported
- ⚪ — Not tested
Image | Router | Code | Required | Additional | Action |
---|---|---|---|---|---|
Xiaomi 5G CPE Pro | CB0401 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 4A Gigabit V2 | R4AV2 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi Home WiFi | RB08 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX6000 | RB06 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX5400 | RA74 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Gaming Router AX5400 | RB04 | 🟢 🟢 🟢 🟢 | 🟢 🟢 ⚪ 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 ⚪ 🟢 🟢 🟢 | |
Xiaomi Router AC1200 | RB02 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi Router CR8808 | CR8808 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi Mesh System AX3000 | RA82 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi Router AX3200 | RB01 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX1800 | RA71 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX6S | RB03 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi Router AX3000 | RA80 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX3000 | RA81 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi China Unicom WiFi 6 Router | CR6606 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi Router AX9000 | RA70 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX5 | RA50 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi Router AX6000 | RA72 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX6 | RA69 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 4 Pro | R1350 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Mi AIoT Router AC2350 | R2350 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AX5 | RA67 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router AX1800 | RM1800 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Xiaomi AIoT Router AX3600 | R3600 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Redmi Router AC2100 | RM2100 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router AC2100 | R2100 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router Mesh | D01 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 4A | R4AC | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 4A Gigabit | R4A | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 4C | R4CM | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 4Q | R4C | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 4 | R4 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 3A | R3A | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 3C | R3L | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router HD | R3D | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router Pro | R3P | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 3G | R3G | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router 3 | R3 | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router R2D | R2D | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router Lite | R1CL | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router Mini | R1CM | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 | |
Mi Router R1D | R1D | 🟢 🟢 🟢 🟢 | 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🟢 🔴 | 🟢 🟢 🟢 🟢 🟢 |
About
MiWiFi for Home Assistant
Xiaomi Router
The xiaomi platform offers presence detection by looking at connected devices to a Xiaomi router.
Setup
To use an Xiaomi router in your installation, add the following to your configuration.yaml file:
# Example configuration.yaml entry device_tracker: - platform: xiaomi host: YOUR_ROUTER_IP password: YOUR_ADMIN_PASSWORD
Configuration Variables
The IP address of your router, e.g., 192.168.0.1 .
The password for the admin account.
See the device tracker integration page for instructions how to configure the people to be tracked.
Compatibility test
To ensure that your router is compatible, navigate to http://YOUR_ROUTER_IP/api/misystem/devicelist . You should see a listing of the device currently connected to your router.
However, some users report that even when the previous URL does not work, they have been able to integrate their Mi Router 3 in Home Assistant. E.g., some users with the Mi Router 3 and firmware version 2.10.46 Stable have integrated their routers successfully and an alternative URL to test integration with is http://YOUR_ROUTER_IP/cgi-bin/luci/api/misystem/devicelist . Navigating to this page should show the message.
Help us to improve our documentation
The Xiaomi Router integration was introduced in Home Assistant 0.36, and it’s used by 79 active installations.
Categories
Home Assistant Device Tracker на роутере Xiaomi AX1800
Недавно приобрел новый роутер с WiFi6 взамен своему старому микротику, который даже не умел 5G. Не то, чтобы микротик плохо работал, но захотелось обновиться. Роутер нравится, покрытие сети и скорость улучшились, например ESP, которая находится в самой дальней от роутера точке перестала отваливаться. Живу в двушке, 63 м2, роутер стоит примерно посередине. Работает в режиме точки доступа, так как в качестве входа из Интернет использую Cisco ASA5505.
На микротике отлично работал штатный devicetracker. На присутствие или отсутствие жильцов квартиры завязаны автоматизации по свету, музыке и безопасности. Но на xiaomi штатный devicetracker не заработал. Я расстроился и стал мониторить тему на openwrt.org, но прогресса по портированию прошивки пока нет.
Вышел из ситуации с помощью linux bash и MQTT Device Tracker
Данный способ будет работать на любом роутере с линуксом на борту и доступом по ssh (или телнет).
Для начала необходимо получить доступ к ssh. По состоянию 06.08.2020 в крайней прошивке 1.0.336 такая возможность есть.
Настройка роутера вне темы данной статьи, IP у роутера 10.5.254.11/24.
Любым браузером логинимся в роутер. Попадаем на следующий адрес:
http://10.5.254.11/cgi-bin/luci/;stok=45dcadc532a5h2f99a365dde74512384/web/home#router
Нас интересует набор символов после stok= до /web (выглядит примерно так 45dcadc532a5h2f99a365dde74512384), это токен, меняется от сессии к сессии. Для получения доступа по SSH переходим последовательно по следующим адресам (меняем токен и IP на свои):
http://10.5.254.11/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h;nvram set ssh_en=1; nvram commit; http://10.5.254.11/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h;sed -i ‘s/channel=.*/channel=\»debug\»/g’ /etc/init.d/dropbear; http://10.5.254.11/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h;/etc/init.d/dropbear start; http://10.5.254.11/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h; echo -e ‘admin\nadmin’ | passwd root;
Можно логиниться в роутер по ssh, логин root, пароль admin. Пароль рекомендую поменять командой passwd.
Для захода с сервера HA на ssh роутера без пароля генерируем ключ и вписываем его в файл с ключами ssh на роутере (за сервис ssh ответственен демон dropbear).
На сервере из под пользователя, с правами которого будем запускать скрипт даем команды:
ssh-keygen ssh root@10.5.254.11 «tee -a /etc/dropbear/authorized_keys» < /home/USER/.ssh/id_rsa.pub
Не забываем поменять адрес роутера и имя пользователя. Вторая команда запросит пароль на роутер.
После этого можно заходить ssh root@10.5.254.11 без пароля.
У роутера несколько беспроводных сетевых интерфейсов, нас интересуют два wl0 и wl1. Один отвечает за сеть 5g, второй за сеть 2,4g. Лично мне, надо отслеживать 3 устройства (телефоны), их мак адреса я знаю, одно работает по 2,4g и 2 работают по 5g.
На сервере с HA пишим скрипт:
#!/bin/bash kira_present=`ssh root@10.5.254.11 ‘iwinfo wl1 assoclist’ | grep -ic 90:2B:D2:09:73:0E` /usr/bin/mosquitto_pub -h 10.5.254.100 -r -u homeassistant -P ПАРОЛЬ_ОТ_MQTT -m $kira_present -t location/kira oleg_present=`ssh root@10.5.254.11 ‘iwinfo wl0 assoclist’ | grep -ic C0:EE:FB:09:A5:31` /usr/bin/mosquitto_pub -h 10.5.254.100 -r -u homeassistant -P ПАРОЛЬ_ОТ_MQTT -m $oleg_present -t location/oleg irina_present=`ssh root@10.5.254.11 ‘iwinfo wl0 assoclist’ | grep -ic 94:65:2D:28:C2:13` /usr/bin/mosquitto_pub -h 10.5.254.100 -r -u homeassistant -P ПАРОЛЬ_ОТ_MQTT -m $irina_present -t location/irina exit 0
У меня за MQTT отвечает mosquito.
Скрипт стартую с помощью cron каждые 2 минуты. Для этого запускаем команду:
Вписываем строку и сохраняем:
*/2 * * * * /местонахождениескрипта
В Home Assistant в configuration.yaml добавляем следующее:
device_tracker: — platform: mqtt devices: kira_honor_mqtt: ‘location/kira’ oleg_op6_mqtt: ‘location/oleg’ irina_op3_mqtt: ‘location/irina’ qos: 1 payload_home: ‘1’ payload_not_home: ‘0’ source_type: router
iwinfo wl1 assoclist | grep -ic 90:2B:D2:09:73:0E
Выводит список устройств подключенных к сети и грепом ищется соответствие с мак адресом, если есть соответствие, то при наличии ключа -с в команде grep выводится количество строк с совпадениями, но так как мак адреса уникальны (если вы их сами не меняли на одинаковые для каких-то своих целей), в выводе будет или 1 при наличии устройства или 0 при отсутствии, что и указано в конфиге в HA:
Если обновить прошивку роутера доступ к ssh слетит, так что пока не убежусь что в новой прошивке есть возможность получить доступ по ssh обновляться не буду.