{"id":20400891,"url":"https://github.com/azholtikov/esp-now-gateway","last_synced_at":"2025-08-01T02:16:27.073Z","repository":{"id":65267821,"uuid":"579619871","full_name":"aZholtikov/ESP-NOW-Gateway","owner":"aZholtikov","description":"Gateway for data exchange between ESP-NOW devices and MQTT broker for ESP8266/ESP32.","archived":false,"fork":false,"pushed_at":"2023-03-07T08:56:08.000Z","size":41,"stargazers_count":17,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T14:13:54.560Z","etag":null,"topics":["esp-now","esp32","esp8266","mesh","mesh-network","mesh-networks","mqtt"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aZholtikov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-18T10:05:09.000Z","updated_at":"2025-04-10T10:37:37.000Z","dependencies_parsed_at":"2025-04-12T14:18:51.511Z","dependency_job_id":null,"html_url":"https://github.com/aZholtikov/ESP-NOW-Gateway","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/aZholtikov/ESP-NOW-Gateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aZholtikov%2FESP-NOW-Gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aZholtikov%2FESP-NOW-Gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aZholtikov%2FESP-NOW-Gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aZholtikov%2FESP-NOW-Gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aZholtikov","download_url":"https://codeload.github.com/aZholtikov/ESP-NOW-Gateway/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aZholtikov%2FESP-NOW-Gateway/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268157898,"owners_count":24204763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp-now","esp32","esp8266","mesh","mesh-network","mesh-networks","mqtt"],"created_at":"2024-11-15T04:47:05.377Z","updated_at":"2025-08-01T02:16:27.001Z","avatar_url":"https://github.com/aZholtikov.png","language":"C++","funding_links":["https://paypal.me/aZholtikov"],"categories":[],"sub_categories":[],"readme":"# ESP-NOW gateway for ESP8266/ESP32\n\nGateway for data exchange between ESP-NOW devices and MQTT broker via WiFi/LAN.\n\n## Features\n\n1. Creates an access point named \"ESP-NOW gateway XXXXXXXXXXXX\" with password \"12345678\" (IP 192.168.4.1).\n2. Possibility a device search through the Windows Network Environment via SSDP (at ESP_NOW_WIFI mode).\n3. Periodically transmission of system information to the MQTT broker (every 60 seconds), availability status to the ESP-NOW network and to the MQTT broker (every 10 seconds) and current date and time to the ESP-NOW network (every 10 seconds).\n4. Automatically adds gateway configuration to Home Assistan via MQTT discovery as a binary_sensor.\n5. Automatically adds supported ESP-NOW devices configurations to Home Assistan via MQTT discovery.\n6. Automatically adds supported nRF24 devices configurations to Home Assistan via MQTT discovery.\n7. Possibility firmware update over OTA (at ESP_NOW_LAN mode via access point only).\n8. Web interface for settings (at ESP_NOW_LAN mode via access point only).\n9. 3 operating modes:\n\n```text\nESP_NOW       ESP-NOW node only. Default mode after flashing.\nESP_NOW_WIFI  Gateway between ESP-NOW devices and MQTT broker via WiFi.\nESP_NOW_LAN   Gateway between ESP-NOW devices and MQTT broker via Ethernet. Preferred mode.\n ```\n\n## Notes\n\n1. ESP-NOW mesh network based on the library [ZHNetwork](https://github.com/aZholtikov/ZHNetwork).\n2. Regardless of the status of connections to WiFi or MQTT the device perform ESP-NOW node function.\n3. For restart the device (without using the Web interface and only if MQTT connection established) send an \"restart\" command to the device's root topic (example - \"homeassistant/espnow_gateway/70039F44BEF7\").\n4. W5500 connection:\n\n```text\nESP8266 (GPIO05 - CS, GPIO14 - SCK, GPIO12 - MISO, GPIO13 - MOSI).\nESP32   (GPIO05 - CS, GPIO18 - SCK, GPIO19 - MISO, GPIO23 - MOSI).\n```\n\n## Attention\n\n1. ESP-NOW network name must be set same of all another ESP-NOW devices in network.\n2. If encryption is used, the key must be set same of all another ESP-NOW devices in network.\n3. Upload the \"data\" folder (with web interface) into the filesystem before flashing.\n4. At ESP_NOW_WIFI mode WiFi router must be set on channel 1.\n\n## Tested on\n\n1. NodeMCU 1.0 (ESP-12E Module). ESP_NOW_WIFI mode. Unstable work.\n2. AZ-Delivery ESP-32 Dev Kit C V4. ESP_NOW_WIFI mode. Stable work.\n3. NodeMCU 1.0 (ESP-12E Module) + W5500. ESP_NOW_LAN mode. Stable work.\n4. AZ-Delivery ESP-32 Dev Kit C V4 + W5500. ESP_NOW_LAN mode. Stable work.\n\n## Supported devices\n\n1. [RF Gateway](https://github.com/aZholtikov/RF-Gateway)\n2. [ESP-NOW Switch](https://github.com/aZholtikov/ESP-NOW-Switch)\n3. [ESP-NOW Light/Led Strip](https://github.com/aZholtikov/ESP-NOW-Light-Led-Strip)\n4. [ESP-NOW Window/Door Sensor](https://github.com/aZholtikov/ESP-NOW-Window-Door-Sensor)\n5. [ESP-NOW Water Leakage Sensor](https://github.com/aZholtikov/ESP-NOW-Water-Leakage-Sensor)\n\n## To Do\n\n- [X] Automatically add ESP-NOW devices configurations to Home Assistan via MQTT discovery.\n- [X] LAN connection support.\n- [X] nRF24 device support (via [RF Gateway](https://github.com/aZholtikov/RF-Gateway)).\n- [ ] BLE device support (via BLE Gateway).\n- [ ] LoRa device support (via LoRa Gateway).\n\nAny feedback via [e-mail](mailto:github@zh.com.ru) would be appreciated. Or... [Buy me a coffee](https://paypal.me/aZholtikov).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazholtikov%2Fesp-now-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazholtikov%2Fesp-now-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazholtikov%2Fesp-now-gateway/lists"}