GithubHelp home page GithubHelp logo

esphome-awox-ble-mesh-hub's People

Contributors

caedael avatar fsaris avatar hosebei avatar jbbde avatar mkavalecz avatar oxigen-dev avatar pdudits avatar vartemenco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esphome-awox-ble-mesh-hub's Issues

[Feature request] MAC address whitelist

Hi @fsaris ,

I'm facing with yet another strange issue. As you might know, I have a lot of Eglo ceilings and 1 Eglo bulb.
I'm using an ESP32 with external antenna to control the lamps. If only one lamp is turned on, then no matter which is that, it will work fine. The problem comes if multiple ceilings are turned on. The ESP connects to one of them and it tries to control all of the lamps using BT MESH. The issue is that the ESP has a wider range compared to the ceilings (or is in a better position in the house), and some ceilings which the ESP is connected to can't reach other ceilings in the house.

I've created a sketch for better understanding.
image

For example if only C1 or C7 is turned on, they are working fine. If both are turned on then the ESP connects to eg. C1 and C7 will be shown in HA as Unavailable. If I turn off C1 then C7 gets Online.

I was thinking to install another ESP close to C7 but I think some small change in the code would be still needed (otherwise if I would turn on C7 first then maybe the already available ESP would connect to that, and the second one would not be able to do so).

Now we have in the yaml file "address_prefix". I'm wondering whether this could be modified to handle a list of MAC addresses (aka whitelist) where we can define which lamps the ESP is allowed to connect to.

I'm also open for other good ideas, if you have one :)

Eglo Plug Plus is always unknown

Hello @fsaris its been some time.

First let me thank you for this new solution to control Awox devices.
The first feel is very good in compare of old Awox integration so very good job. :)

Now to the problem one of my devices is Eglo Plug Plus which worked fine in old integration but with ESP the plug is recognized but always in unknown state. Lights working well.
image

I have checked your list of supported/activated devices and should be this one so should work just fine:
this->add_device(DEVICE_TYPE_PLUG, 0x85, "EGLO PLUG PLUS", "SMPWBm10GEa", MANUFACTURER_EGLO, "mdi:power-socket-de");

Do you have any idea what could be wrong?
I can provide also some logs if you could guide me a bit, I am newbie to ESP devices :)

FYI:
I was forced by HAOS yesterday update to migrate to this new solution because bluetooth in HAOS 10 is completely broken.

Eglo Panel 10x120 is recognized as dimmable bulb

device_info:
# Example device type, see device info in HomeAssistant or MQTT message to find the 'product_id'
product_id: 0x7E
device_type: RGB
name: EGLOPanel 10X120
model: EPanel_120_10
manufacturer: EGLO

even though the fitting device configuration is used the device gets recognized as "unknown" so it functions as a dimmable light

MQTT doesn't find my devices...

Hi! I'm totally new to this topic. In the yaml file of the esp32 module I added the custom component via git link. After that the components were downloaded. I modified the components source to local components in the nodemcu.yaml and I typed in the path of the downloaded files. Then I modified the awox-ble-mesh-hub.yaml which is in the folder of the components. Nothing is happening. I don't know what I'm doing wrong.

Here are my yaml files:
nodemcu.yaml = yaml file of the esp32 device (I use nodemcu esp-32s)
awox-ble-mesh-hub.yaml = file in the components folder

nodemcu_yaml.txt
awox-ble-mesh-hub_yaml.txt

feature request: manually set the mac address of the light

Hi,

I finally had the time to try your new awox component with my Eglo lights. It's working great so far, but I have a feature request to make. It turns out the Eglo lights have the same mac address prefix as my Xiaomi Temp and Humidity sensors. The mac of both device classes start with A4:C1:38. I get initially lot's of connection failures until the device list reaches a light:

[19:48:49][D][mesh_device:142]: [0] [A4:C1:38:8D:D3:19] ESP_GATTC_DISCONNECT_EVT, reason 0
[19:48:49][W][esp32_ble_client:134]: [0] [A4:C1:38:8D:D3:19] Connection failed, status=133

[A4:C1:38:8D:D3:19] -> xiaomi_lywsd03mmc (Temp Humidity Sensor)

Hence I would like to be able to turn automatic device discovery off once I figured out the mac address of a nearby light and manually specify a light in the config file.

light:
  - platform: awox_mesh
  - mesh_name: !secret mesh_name
  - mesh_password: !secret mesh_password
  - name: "Light TV-Room"
  - mac_address: A4:C1:38:9A:33:4E    <---- Eglo EFueva_225s ceiling light
  - auto_discovery: off

Why not integrate this component with the already existing light component as a new platform?

Install problem

During installation I got this ERRORS:

INFO Successfully compiled program.
INFO Resolving IP address of awox-ble-mesh-hub.local
ERROR Error resolving IP address of awox-ble-mesh-hub.local. Is it connected to WiFi?
ERROR (If this error persists, please set a static IP address: https://esphome.io/components/wifi.html#manual-ips)
ERROR Error resolving IP address: Error resolving address with mDNS: Did not respond. Maybe the device is offline., [Errno -5] No address associated with hostname.

AwoX BLE mesh hub is off line
LOG:
INFO ESPHome 2023.12.9
INFO Reading configuration /config/esphome/awox-ble-mesh-hub.yaml...
WARNING GPIO2 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Starting log output from awox-ble-mesh-hub/debug
INFO Connected to MQTT broker!

Devices are shown as Online even after turned off

Hi @fsaris ,

After some days I've realized that most of the time if I turn off a lamp it stays Online in HA. As it is Online I can change the brightness but meanwhile nothing appears in the log. Could you please check it? Thanks!

[07:52:15][D][esp32_ble_tracker:246]: Starting scan...
[07:52:15][D][AwoxMesh:045]: scan end
[07:52:45][D][esp32_ble_tracker:246]: Starting scan...
[07:52:45][D][AwoxMesh:045]: scan end
[07:53:15][D][esp32_ble_tracker:246]: Starting scan...
[07:53:15][D][AwoxMesh:045]: scan end

Can't connect to lights/connect them to home assistant

Hi I am trying and trying but can't get it to work...
No new devices are showing up in Home Assistant.
Any clue on what i could try or check based on my log-files?

Any ideas welcome :-)

I should have two lights within range:
- product_id: 0x41
device_type: RGB
name: EGLO Surface round
model: EFueva_300r
manufacturer: EGLO
- product_id: 0x3F
device_type: RGB
name: EGLO Surface round
model: EFueva_225r
manufacturer: EGLO

YAML
yaml.txt

LOGFILE ESP32-Device
logs_awox_logs (4).txt

I

NFO ESPHome 2023.10.6
INFO Reading configuration /config/esphome/awox.yaml...
INFO Starting log output from awox-ble-mesh-hub/debug
INFO Connected to MQTT broker!
[00:04:09][C][mqtt:147]: Availability: 'awox-ble-mesh-hub/status'
[00:04:59][I][mqtt:274]: MQTT Connected!
[00:04:59][I][app:062]: setup() finished successfully!
[00:04:59][I][app:102]: ESPHome version 2023.10.6 compiled on Nov 10 2023, 23:26:03
[00:04:59][C][status_led:019]: Status LED:
[00:04:59][C][status_led:020]: Pin: GPIO2
[00:04:59][C][wifi:546]: WiFi:
[00:04:59][C][wifi:382]: Local MAC: 08:D1:F9:CE:E6:98
[00:04:59][C][wifi:383]: SSID: 'New_Paradise'[redacted]
[00:04:59][C][wifi:384]: IP Address: 192.168.178.170
[00:04:59][C][wifi:386]: BSSID: F0:B0:14:62:47:7F[redacted]
[00:04:59][C][wifi:387]: Hostname: 'awox-ble-mesh-hub'
[00:04:59][C][wifi:389]: Signal strength: -64 dB ▂▄▆█
[00:04:59][C][wifi:393]: Channel: 6
[00:04:59][C][wifi:394]: Subnet: 255.255.255.0
[00:04:59][C][wifi:395]: Gateway: 192.168.178.1
[00:04:59][C][wifi:396]: DNS1: 192.168.178.1
[00:04:59][C][wifi:397]: DNS2: 0.0.0.0
[00:04:59][C][logger:416]: Logger:
[00:04:59][C][logger:417]: Level: DEBUG
[00:04:59][C][logger:418]: Log Baud Rate: 115200
[00:04:59][C][logger:420]: Hardware UART: UART0
[00:04:59][C][esp32_ble:238]: ESP32 BLE:
[00:04:59][C][esp32_ble:240]: MAC address: 08:D1:F9:CE:E6:9A
[00:04:59][C][esp32_ble:241]: IO Capability: none
[00:04:59][C][esp32_ble_tracker:617]: BLE Tracker:
[00:04:59][C][esp32_ble_tracker:618]: Scan Duration: 300 s
[00:04:59][C][esp32_ble_tracker:619]: Scan Interval: 320.0 ms
[00:04:59][C][esp32_ble_tracker:620]: Scan Window: 30.0 ms
[00:04:59][C][esp32_ble_tracker:621]: Scan Type: PASSIVE
[00:04:59][C][esp32_ble_tracker:622]: Continuous Scanning: True
[00:05:00][C][mdns:115]: mDNS:
[00:05:00][C][mdns:116]: Hostname: awox-ble-mesh-hub
[00:05:00][C][ota:097]: Over-The-Air Updates:
[00:05:00][C][ota:098]: Address: awox-ble-mesh-hub.local:3232
[00:05:00][C][ota:101]: Using Password.
[00:05:00][W][ota:107]: Last Boot was an unhandled reset, will proceed to safe mode in 3 restarts
[00:05:00][C][mqtt:133]: MQTT:
[00:05:00][C][mqtt:135]: Server Address: 192.168.178.171:1883 (192.168.178.171)
[00:05:00][C][mqtt:136]: Username: 'mqttAwox'[redacted]
[00:05:00][C][mqtt:137]: Client ID: 'awox-ble-mesh-hub-08d1f9cee698'[redacted]
[00:05:00][C][mqtt:139]: Discovery prefix: 'homeassistant'
[00:05:00][C][mqtt:140]: Discovery retain: YES
[00:05:00][C][mqtt:142]: Topic Prefix: 'awox-ble-mesh-hub'
[00:05:00][C][mqtt:144]: Log Topic: 'awox-ble-mesh-hub/debug'
[00:05:00][C][mqtt:147]: Availability: 'awox-ble-mesh-hub/status'
[00:05:00][D][esp-idf:000]: W (28768) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x3e

[00:05:00][D][esp-idf:000]: W (28773) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:00][I][MeshDevice:159]: IDLE
[00:05:00][D][mesh_device:142]: [0] [A4:C1:38:79:28:63] ESP_GATTC_DISCONNECT_EVT, reason 62
[00:05:00][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:00][I][MeshDevice:159]: IDLE
[00:05:00][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[00:05:00][I][MeshDevice:159]: IDLE
[00:05:00][D][esp32_ble_tracker:246]: Starting scan...
[00:05:00][D][AwoxMesh:042]: scan end
[00:05:00][D][AwoxMesh:056]: Total devices: 2
[00:05:00][D][AwoxMesh:058]: Available device A4:C1:38:79:28:63 => rssi: -77
[00:05:00][D][AwoxMesh:058]: Available device A4:C1:38:A1:19:17 => rssi: -92
[00:05:00][I][AwoxMesh:062]: Try to connect A4:C1:38:79:28:63 => rssi: -77
[00:05:00][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:00][I][MeshDevice:159]: IDLE
[00:05:00][D][esp32_ble_client:048]: [0] [A4:C1:38:79:28:63] Found device
[00:05:00][I][MeshDevice:167]: DISCOVERED
[00:05:00][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[00:05:00][I][MeshDevice:171]: READY_TO_CONNECT
[00:05:00][I][esp32_ble_client:064]: [0] [A4:C1:38:79:28:63] 0x00 Attempting BLE connection
[00:05:00][I][MeshDevice:175]: CONNECTING
[00:05:01][D][esp-idf:000]: W (29323) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:01][D][esp-idf:000]: W (29488) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:03][D][esp-idf:000]: W (31889) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:03][D][esp-idf:000]: W (32230) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x3e

[00:05:03][D][esp-idf:000]: W (32234) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:03][I][MeshDevice:159]: IDLE
[00:05:03][D][mesh_device:142]: [0] [A4:C1:38:79:28:63] ESP_GATTC_DISCONNECT_EVT, reason 62
[00:05:03][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:03][I][MeshDevice:159]: IDLE
[00:05:03][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[00:05:03][I][MeshDevice:159]: IDLE
[00:05:03][D][esp32_ble_tracker:246]: Starting scan...
[00:05:03][D][AwoxMesh:042]: scan end
[00:05:03][D][AwoxMesh:056]: Total devices: 2
[00:05:03][D][AwoxMesh:058]: Available device A4:C1:38:79:28:63 => rssi: -77
[00:05:03][D][AwoxMesh:058]: Available device A4:C1:38:A1:19:17 => rssi: -92
[00:05:03][I][AwoxMesh:062]: Try to connect A4:C1:38:79:28:63 => rssi: -77
[00:05:03][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:08][I][MeshDevice:159]: IDLE
[00:05:08][D][esp32_ble_client:048]: [0] [A4:C1:38:79:28:63] Found device
[00:05:08][I][MeshDevice:167]: DISCOVERED
[00:05:08][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[00:05:08][I][MeshDevice:171]: READY_TO_CONNECT
[00:05:08][I][esp32_ble_client:064]: [0] [A4:C1:38:79:28:63] 0x00 Attempting BLE connection
[00:05:08][I][MeshDevice:175]: CONNECTING
[00:05:08][D][esp-idf:000]: W (32758) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:08][D][esp-idf:000]: W (33688) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:08][D][esp-idf:000]: W (35358) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:08][D][esp-idf:000]: W (35938) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x3e

[00:05:08][D][esp-idf:000]: W (35941) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:08][I][MeshDevice:159]: IDLE
[00:05:08][D][mesh_device:142]: [0] [A4:C1:38:79:28:63] ESP_GATTC_DISCONNECT_EVT, reason 62
[00:05:08][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:08][I][MeshDevice:159]: IDLE
[00:05:08][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[00:05:08][I][MeshDevice:159]: IDLE
[00:05:08][W][component:214]: Component esp32_ble took a long time for an operation (0.42 s).
[00:05:08][W][component:215]: Components should block for at most 20-30ms.
[00:05:08][D][esp32_ble_tracker:246]: Starting scan...
[00:05:08][D][AwoxMesh:042]: scan end
[00:05:08][D][AwoxMesh:056]: Total devices: 2
[00:05:08][D][AwoxMesh:058]: Available device A4:C1:38:79:28:63 => rssi: -77
[00:05:08][D][AwoxMesh:058]: Available device A4:C1:38:A1:19:17 => rssi: -92
[00:05:08][I][AwoxMesh:062]: Try to connect A4:C1:38:79:28:63 => rssi: -77
[00:05:08][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:08][I][MeshDevice:159]: IDLE
[00:05:08][D][esp32_ble_client:048]: [0] [A4:C1:38:79:28:63] Found device
[00:05:08][I][MeshDevice:167]: DISCOVERED
[00:05:08][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[00:05:08][I][MeshDevice:171]: READY_TO_CONNECT
[00:05:08][I][esp32_ble_client:064]: [0] [A4:C1:38:79:28:63] 0x00 Attempting BLE connection
[00:05:08][I][MeshDevice:175]: CONNECTING
[00:05:08][D][esp-idf:000]: W (36853) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:09][D][esp-idf:000]: W (37393) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:09][D][esp-idf:000]: W (37738) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:10][D][esp-idf:000]: W (38623) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x3e

[00:05:10][D][esp-idf:000]: W (38633) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:10][I][MeshDevice:159]: IDLE
[00:05:10][D][mesh_device:142]: [0] [A4:C1:38:79:28:63] ESP_GATTC_DISCONNECT_EVT, reason 62
[00:05:10][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:10][I][MeshDevice:159]: IDLE
[00:05:10][W][esp32_ble_client:134]: [0] [] Connection failed, status=133
[00:05:10][I][MeshDevice:159]: IDLE
[00:05:10][D][esp32_ble_tracker:246]: Starting scan...
[00:05:10][D][AwoxMesh:042]: scan end
[00:05:10][D][AwoxMesh:056]: Total devices: 2
[00:05:10][D][AwoxMesh:058]: Available device A4:C1:38:79:28:63 => rssi: -77
[00:05:10][D][AwoxMesh:058]: Available device A4:C1:38:A1:19:17 => rssi: -92
[00:05:10][I][AwoxMesh:062]: Try to connect A4:C1:38:79:28:63 => rssi: -77
[00:05:10][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:10][I][MeshDevice:159]: IDLE
[00:05:10][D][esp32_ble_client:048]: [0] [A4:C1:38:79:28:63] Found device
[00:05:10][I][MeshDevice:167]: DISCOVERED
[00:05:10][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[00:05:10][I][MeshDevice:171]: READY_TO_CONNECT
[00:05:10][I][esp32_ble_client:064]: [0] [A4:C1:38:79:28:63] 0x00 Attempting BLE connection
[00:05:10][I][MeshDevice:175]: CONNECTING
[00:05:10][D][esp-idf:000]: W (38969) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:12][D][esp-idf:000]: W (40978) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:32][I][mqtt:274]: MQTT Connected!
[00:05:32][I][app:062]: setup() finished successfully!
[00:05:32][I][app:102]: ESPHome version 2023.10.6 compiled on Nov 10 2023, 23:26:03
[00:05:32][C][status_led:019]: Status LED:
[00:05:32][C][status_led:020]: Pin: GPIO2
[00:05:32][C][wifi:546]: WiFi:
[00:05:32][C][wifi:382]: Local MAC: 08:D1:F9:CE:E6:98
[00:05:32][C][wifi:383]: SSID: 'New_Paradise'[redacted]
[00:05:32][C][wifi:384]: IP Address: 192.168.178.170
[00:05:32][C][wifi:386]: BSSID: F0:B0:14:62:47:7F[redacted]
[00:05:32][C][wifi:387]: Hostname: 'awox-ble-mesh-hub'
[00:05:32][C][wifi:389]: Signal strength: -65 dB ▂▄▆█
[00:05:32][C][wifi:393]: Channel: 6
[00:05:32][C][wifi:394]: Subnet: 255.255.255.0
[00:05:33][C][wifi:395]: Gateway: 192.168.178.1
[00:05:33][C][wifi:396]: DNS1: 192.168.178.1
[00:05:33][C][wifi:397]: DNS2: 0.0.0.0
[00:05:33][C][logger:416]: Logger:
[00:05:33][C][logger:417]: Level: DEBUG
[00:05:33][C][logger:418]: Log Baud Rate: 115200
[00:05:33][C][logger:420]: Hardware UART: UART0
[00:05:33][C][esp32_ble:238]: ESP32 BLE:
[00:05:33][C][esp32_ble:240]: MAC address: 08:D1:F9:CE:E6:9A
[00:05:33][C][esp32_ble:241]: IO Capability: none
[00:05:33][C][esp32_ble_tracker:617]: BLE Tracker:
[00:05:33][C][esp32_ble_tracker:618]: Scan Duration: 300 s
[00:05:33][C][esp32_ble_tracker:619]: Scan Interval: 320.0 ms
[00:05:33][C][esp32_ble_tracker:620]: Scan Window: 30.0 ms
[00:05:33][C][esp32_ble_tracker:621]: Scan Type: PASSIVE
[00:05:33][C][esp32_ble_tracker:622]: Continuous Scanning: True
[00:05:33][C][mdns:115]: mDNS:
[00:05:33][C][mdns:116]: Hostname: awox-ble-mesh-hub
[00:05:33][C][ota:097]: Over-The-Air Updates:
[00:05:33][C][ota:098]: Address: awox-ble-mesh-hub.local:3232
[00:05:33][C][ota:101]: Using Password.
[00:05:33][W][ota:107]: Last Boot was an unhandled reset, will proceed to safe mode in 2 restarts
[00:05:33][C][mqtt:133]: MQTT:
[00:05:33][C][mqtt:135]: Server Address: 192.168.178.171:1883 (192.168.178.171)
[00:05:33][C][mqtt:136]: Username: 'mqttAwox'[redacted]
[00:05:33][C][mqtt:137]: Client ID: 'awox-ble-mesh-hub-08d1f9cee698'[redacted]
[00:05:33][C][mqtt:139]: Discovery prefix: 'homeassistant'
[00:05:33][C][mqtt:140]: Discovery retain: YES
[00:05:33][C][mqtt:142]: Topic Prefix: 'awox-ble-mesh-hub'
[00:05:33][C][mqtt:144]: Log Topic: 'awox-ble-mesh-hub/debug'
[00:05:33][C][mqtt:147]: Availability: 'awox-ble-mesh-hub/status'
[00:05:44][D][AwoxMesh:056]: Total devices: 2
[00:05:55][D][AwoxMesh:058]: Available device A4:C1:38:79:28:63 => rssi: -77
[00:05:55][D][AwoxMesh:058]: Available device A4:C1:38:A1:19:17 => rssi: -93
[00:05:55][I][AwoxMesh:062]: Try to connect A4:C1:38:79:28:63 => rssi: -77
[00:05:55][I][mesh_device:478]: Publish connected to mesh device - offline
[00:05:55][I][MeshDevice:159]: IDLE
[00:05:55][D][esp32_ble_client:048]: [0] [A4:C1:38:79:28:63] Found device
[00:05:55][I][MeshDevice:167]: DISCOVERED
[00:05:55][D][esp32_ble_tracker:214]: Pausing scan to make connection...
[00:05:55][I][MeshDevice:171]: READY_TO_CONNECT
[00:05:55][I][esp32_ble_client:064]: [0] [A4:C1:38:79:28:63] 0x00 Attempting BLE connection
[00:05:55][I][MeshDevice:175]: CONNECTING
[00:05:55][D][esp-idf:000]: W (21608) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:55][D][esp-idf:000]: W (24581) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[00:05:55][D][esp-idf:000]: W (27308) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

Add new device

Hi @fsaris ,

Unfortunately 3 of my devices were not recognized, could you please add them? I've pasted the MQTT payloads. For all of the lamps one can set the brightness, color, temperature. In case you need any additional information, please let me know. Thanks!

schema: json
name: Unknown device type
unique_id: awox-XX:XX:XX:XX:XX:XX-light
icon: mdi:lightbulb-help-outline
state_topic: awox-ble-mesh-hub/22980/state
command_topic: awox-ble-mesh-hub/22980/command
availability:
  - topic: awox-ble-mesh-hub/22980/availability
  - topic: awox-ble-mesh-hub/status
availability_mode: all
color_mode: true
brightness: true
brightness_scale: 255
supported_color_modes:
  - brightness
device:
  identifiers:
    - esp-awox-mesh-22980
    - XX:XX:XX:XX:XX:XX
  name: Unknown device type
  model: t
  manufacturer: AwoX
  via_device: ------
platform: mqtt
schema: json
name: Unknown device type
unique_id: awox-YY:YY:YY:YY:YY:YY-light
icon: mdi:lightbulb-help-outline
state_topic: awox-ble-mesh-hub/3590/state
command_topic: awox-ble-mesh-hub/3590/command
availability:
  - topic: awox-ble-mesh-hub/3590/availability
  - topic: awox-ble-mesh-hub/status
availability_mode: all
color_mode: true
brightness: true
brightness_scale: 255
supported_color_modes:
  - brightness
device:
  identifiers:
    - esp-awox-mesh-3590
    - YY:YY:YY:YY:YY:YY
  name: Unknown device type
  model: t
  manufacturer: AwoX
  via_device: -----------
platform: mqtt
schema: json
name: Unknown device type
unique_id: awox-ZZ:ZZ:ZZ:ZZ:ZZ:ZZ-light
icon: mdi:lightbulb-help-outline
state_topic: awox-ble-mesh-hub/23338/state
command_topic: awox-ble-mesh-hub/23338/command
availability:
  - topic: awox-ble-mesh-hub/23338/availability
  - topic: awox-ble-mesh-hub/status
availability_mode: all
color_mode: true
brightness: true
brightness_scale: 255
supported_color_modes:
  - brightness
device:
  identifiers:
    - esp-awox-mesh-23338
    - ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
  name: Unknown device type
  model: t
  manufacturer: AwoX
  via_device: -------
platform: mqtt

Awox service can have multiple credentials

Hey, thanks a lot for publishing this!

I got stuck on Device authentication error: known mesh credentials are not excepted by the device. Did you re-pair them to your Awox app with a different account?, even though I used the credentials from the JSFiddle. Then I decided to see if there are any other credentials in the Awox account, and it turns out that you have credentials per-service. I have a bluetooth light and a zigbee light on my account, and these don't share tokens. I wanted to control the Bluetooth light, which I added before the Zigbee one, but the JSFiddle printed out the access token for the zigbee one, which didn't work. When I tried the mesh access token, everything started working.

Here's an example response JSON with multiple services. I guess the Fiddle should be updated to get the mesh access token, and print all of them, if there are more.

  "results": [
    {
      "objectId": "$OBJECT_ID1",
      "service": "zigbee",
      "client_id": "$CLIENT_ID",
      "access_token": "$ACCESS_TOKEN_1",
      "refresh_token": "$REFRESH_TOKEN_1",
      "expires": 0,
      "owner": {
        "__type": "Pointer",
        "className": "_User",
        "objectId": "$CLIENT_IDIL"
      },
      "createdAt": "2023-01-01T00:00:00.000Z",
      "updatedAt": "2023-01-02T00:00:00.000Z",
      "ACL": {
        "$CLIENT_IDIL": {
          "read": true,
          "write": true
        }
      }
    },
    {
      "objectId": "$OBJECT_ID2",
      "owner": {
        "__type": "Pointer",
        "className": "_User",
        "objectId": "$CLIENT_IDIL"
      },
      "service": "mesh",
      "client_id": "$CLIENT_ID",
      "access_token": "$ACCESS_TOKEN_2",
      "refresh_token": "$REFRESH_TOKEN_2",
      "expires": 0,
      "createdAt": "2022-01-01T00:00:00.000Z",
      "updatedAt": "2022-01-02T00:00:00.000Z",
      "ACL": {
        "$CLIENT_IDIL": {
          "read": true,
          "write": true
        }
      }
    }
  ]
}

Multiple ESP modules

Hi @fsaris ,

I'd like to ask your opinion about using multiple ESP modules as I can't cover all of my lamps with one module due to Bluetooth range limitations.Will it work or if two ESPs are in range then there can be some conflict?

Thanks!

Build fails when framework is espidf

Hello
The attached config file builds and runs on the shelly 1 plus pretty well, without the add of the awox line in the end.

When adding the awox part, taken from https://github.com/fsaris/EspHome-AwoX-BLE-mesh-hub/blob/main/awox-ble-mesh-hub.yaml, the the build crashes.

See ERROR_1 below.

When I replace the board framework type to arduino, then it's building, but of corse the image doesn't run on the shelly.

This happens on an iMac 10.15.7.

I tried also in esphome addon in HA and on a macbook. There I got this error in build.

See ERROR_2 below.

Is board framework type esp-idf not supported, or am I doing something wrong?

Home Assistant 2023.2.5
ESPHome 2023.2.4

ERROR_1:
esphome run shelly_1_plus_bt_mqtt.yaml
INFO Reading configuration shelly_1_plus_bt_mqtt.yaml...
WARNING GPIO4 is a Strapping PIN and should be avoided.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO0 is a Strapping PIN and should be avoided.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Generating C++ source...
INFO Compiling app...
Processing shelly-plus-1 (board: esp32dev; framework: espidf; platform: platformio/espressif32 @ 5.2.0)

HARDWARE: ESP32 160MHz, 320KB RAM, 4MB Flash

  • framework-espidf @ 3.40402.0 (4.4.2)
  • tool-cmake @ 3.16.4
  • tool-ninja @ 1.9.0
  • toolchain-esp32ulp @ 2.35.0-20220830
  • toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
    Reading CMake configuration...
    -- Building ESP-IDF components for target esp32
    -- Project sdkconfig file /Volumes/DatenHD/Giampiero/Documents/espHome/.esphome/build/shelly-plus-1/sdkconfig.shelly-plus-1
    -- App "shelly-plus-1" version: 2023.2.4
    -- Adding linker script /Volumes/DatenHD/Giampiero/Documents/espHome/.esphome/build/shelly-plus-1/.pioenvs/shelly-plus-1/esp-idf/esp_system/ld/memory.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_system/ld/esp32/sections.ld.in
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.api.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld
    -- Adding linker script /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/soc/esp32/ld/esp32.peripherals.ld
    -- Components: __pio_env app_trace app_update asio bootloader bootloader_support bt cbor cmock coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_ipc esp_lcd esp_local_ctrl esp_netif esp_phy esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos hal heap idf_test ieee802154 jsmn json libsodium log lwip mbedtls mdns mqtt newlib nghttp nvs_flash openssl openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs src tcp_transport tcpip_adapter tinyusb ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
    -- Component paths: /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/__pio_env /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/app_trace /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/app_update /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/asio /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/bootloader /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/bootloader_support /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/bt /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/cbor /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/cmock /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/coap /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/console /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/cxx /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/driver /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/efuse /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp-tls /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp32 /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_adc_cal /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_common /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_eth /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_event /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_gdbstub /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_hid /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_http_client /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_http_server /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_https_ota /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_https_server /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_hw_support /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_ipc /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_lcd /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_local_ctrl /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_netif /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_phy /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_pm /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_ringbuf /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_rom /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_serial_slave_link /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_system /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_timer /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_websocket_client /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esp_wifi /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/espcoredump /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/esptool_py /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/expat /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/fatfs /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/freemodbus /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/freertos /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/hal /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/heap /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/idf_test /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/ieee802154 /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/jsmn /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/json /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/libsodium /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/log /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/lwip /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/mbedtls /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/mdns /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/mqtt /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/newlib /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/nghttp /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/nvs_flash /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/openssl /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/openthread /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/partition_table /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/perfmon /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/protobuf-c /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/protocomm /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/pthread /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/sdmmc /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/soc /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/spi_flash /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/spiffs /Volumes/DatenHD/Giampiero/Documents/espHome/.esphome/build/shelly-plus-1/src /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/tcp_transport /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/tcpip_adapter /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/tinyusb /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/ulp /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/unity /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/usb /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/vfs /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/wear_levelling /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/wifi_provisioning /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/wpa_supplicant /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/xtensa
    -- Configuring incomplete, errors occurred!
    See also "/Volumes/DatenHD/Giampiero/Documents/espHome/.esphome/build/shelly-plus-1/.pioenvs/shelly-plus-1/CMakeFiles/CMakeOutput.log".

CMake Error at .pioenvs/shelly-plus-1/CMakeFiles/git-data/grabRef.cmake:48 (file):
file failed to open for reading (No such file or directory):

/Volumes/DatenHD/Giampiero/Documents/espHome/.esphome/build/shelly-plus-1/.pioenvs/shelly-plus-1/CMakeFiles/git-data/head-ref
Call Stack (most recent call first):
/Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/tools/cmake/third_party/GetGitRevisionDescription.cmake:80 (include)
/Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/tools/cmake/third_party/GetGitRevisionDescription.cmake:90 (get_git_head_revision)
/Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/tools/cmake/build.cmake:67 (git_describe)
/Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/tools/cmake/build.cmake:175 (__build_get_idf_git_revision)
/Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/tools/cmake/idf.cmake:50 (__build_init)
/Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/tools/cmake/project.cmake:12 (include)
CMakeLists.txt:2 (include)

fatal: Needed a single revision
fatal: not a git repository: /Volumes/DatenHD/Giampiero/.platformio/packages/framework-espidf/components/openthread/openthread/../../../.git/modules/components/openthread/openthread

=================================================================================== [FAILED] Took 8.22 seconds ===================================================================================

ERROR_2:
INFO Reading configuration /config/esphome/s11.yaml...
WARNING GPIO4 is a Strapping PIN and should be avoided.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO0 is a Strapping PIN and should be avoided.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Deleting /data/shelly-plus-1/.pioenvs
INFO Deleting /data/shelly-plus-1/.piolibdeps
INFO Compiling app...
Processing shelly-plus-1 (board: esp32dev; framework: espidf; platform: platformio/espressif32 @ 5.2.0)

Library Manager: Installing esphome/noise-c @ 0.1.4
INFO Installing esphome/noise-c @ 0.1.4
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10018.1
INFO Installing esphome/libsodium @ 1.10018.1
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing bblanchon/ArduinoJson @ 6.18.5
INFO Installing bblanchon/ArduinoJson @ 6.18.5
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing rweather/Crypto @ 0.4.0
INFO Installing rweather/Crypto @ 0.4.0
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
HARDWARE: ESP32 160MHz, 320KB RAM, 4MB Flash

  • framework-espidf @ 3.40402.0 (4.4.2)
  • tool-cmake @ 3.16.4
  • tool-ninja @ 1.7.1
  • toolchain-esp32ulp @ 2.35.0-20220830
  • toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
    Reading CMake configuration...
    Generating assembly for certificate bundle...
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    Dependency Graph
    |-- noise-c @ 0.1.4
    | |-- libsodium @ 1.10018.1
    |-- ArduinoJson @ 6.18.5
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/adc/adc_sensor.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/api_connection.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/api_frame_helper.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/api_pb2.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/api_pb2_service.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/api_server.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/list_entities.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/proto.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/subscribe_state.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/api/user_services.o
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/awox_mesh/awox_mesh.o
    src/esphome/components/awox_mesh/awox_mesh.cpp:1:9: warning: #pragma once in main file
    #pragma once
    ^~~~
    Compiling /data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/awox_mesh/mesh_device.o
    In file included from src/esphome/components/awox_mesh/awox_mesh.cpp:7:
    src/esphome/components/awox_mesh/awox_mesh.h:8:10: fatal error: AES.h: No such file or directory


#include <AES.h>
^~~~~~~
compilation terminated.
*** [/data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/awox_mesh/awox_mesh.o] Error 1
src/esphome/components/awox_mesh/mesh_device.cpp:8:10: fatal error: AES.h: No such file or directory



#include <AES.h>
^~~~~~~
compilation terminated.
*** [/data/shelly-plus-1/.pioenvs/shelly-plus-1/src/esphome/components/awox_mesh/mesh_device.o] Error 1
========================= [FAILED] Took 129.03 seconds =========================

shelly_1_plus_bt_mqtt_1.txt

Currently 0 mesh devices reachable through active connections (0 currently known and 0 fully recognized)

I have a very hard time getting my system up and running:

[02:02:19][D][awox.mesh:238]: Total devices: 1
[02:02:19][D][awox.mesh:241]: Available device A4:C1:38:41:E1:28 [0] => rssi: -39
[02:02:19][D][awox.mesh:266]: Currently 0 mesh devices reachable through active connections (0 currently known and 0 fully recognized)
[02:02:19][D][awox.mesh:272]: Try to connecty to device A4:C1:38:41:E1:28 no mesh id known yet
[02:02:19][I][awox.mesh:139]: Try to connect A4:C1:38:41:E1:28 => rssi: -39
[02:02:19][I][awox.connection:116]: IDLE
[02:02:19][V][esp32_ble:314]: (BLE) gap_event_handler - 3
[02:02:19][V][esp32_ble:314]: (BLE) gap_event_handler - 3
[02:02:19][V][awox.mesh:058]: Found existing device: A4:C1:38:41:E1:28
[02:02:19][V][awox.mesh:088]: Found Awox device 523yp9DW - A4:C1:38:41:E1:28. RSSI: -40 dB (total devices: 1)
[02:02:19][V][awox.mesh:058]: Found existing device: A4:C1:38:41:E1:28
[02:02:19][V][awox.mesh:088]: Found Awox device  - A4:C1:38:41:E1:28. RSSI: -39 dB (total devices: 1)

Here is what I tried:

The ESP32 is very close (1m) to the Lamp.
MQTT is working, I can see messages on the Broker.

This is my config:

esphome:
  name: awox-ble-mesh-hub2
  friendly_name: "AwoX BLE mesh hub2"

esp32:
  # Match this with the board your using
  board: esp32dev
  framework:
    # Be sure to "Clean Build Files" when switching framework
    type: esp-idf

# Enable logging
logger:
#  level: VERY_VERBOSE
  level: VERBOSE

mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_user
  password: !secret mqtt_password

# Disable Home Assistant API to prevent frequent MQTT disconnections
#api:

ota:
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

external_components:
  - source:
      type: git
      url: https://github.com/fsaris/EspHome-AwoX-BLE-mesh-hub

esp32_ble_tracker:
  scan_parameters:
    active: false

awox_mesh:
  mesh_name: !secret mesh_name
  mesh_password: !secret mesh_password

Log with VERBOSE:
logs_esphome-web-1d4804_run.txt

Here is a Log with VERY_VERBOSE logs_esphome-web-1d4804_logs.txt

I have no clue where to look further. Can someone give me assistance?

Size to big?

So, I've followed your sugestion and i've bought an ESP board
When following instruction at the end, this appears

image

image

I'm confused about the file size limit

Any idea?

ESP thinks it's connected to the mesh even though it is not

Hello!

I ran into a strange behavior today. The lights were not available in the HA, so I investigated and it seemed to me that the ESP seemed to think it is connected to the mesh, but it was not. After that I restarted the ESP and it connected to the mesh flawlessly. So, I tried a few more restarts to catch the behavior in logs and it finally did it again, so here is the log:

logs_esp32u-ble-awox_run_not_available.txt

I have created an automation in HA to restart the ESP if the bulb closest (centimeters far from) the ESP is unavailable for a few minutes.

Thanks,
Michal

Group support enhancement

Hi @fsaris.

I have some points from observation since group support was added.
At first I should mention that I am using AwoxSmartControl not AwoxHomeControl. Personally I can't see what is the difference between those 2 apps so is there any reason for moving to AwoxHomeControl? Now to the points I have.

  1. In Awox app I have 4 zones defined so this should be the number of created groups however 3 of 4 groups are duplicated.
    Group 0 and 1 is Living Room
    Group 2 and 3 is Bedroom
    Group 4 and 5 is Office
    Group 6 is Server Room
    image

I think the the reason behind this is that the groups are created from Menu -> Settings -> Manage rooms which are the zones with assigned lights
image

and at the same time from Menu -> My groups where I have 3 EGLO remote controllers and each have assigned one of the zones.
image

Could you take a look if this can be somehow filtered and create group only from one source? It might be confusing for someone in this state.

  1. Group 6 (Server Room) in this case has only EGLO PLUG inside so I think this group should be created as switch or shouldn't be created at all.

  2. Last thing which I believe would be nice and you can consider this as feature request is to have a config option in yaml to enable/disable group support. Something like use_awox_groups: true/false or so.
    Personally I have custom light groups inside HA with other non EGLO lights for some usecases and currently I don't see any benefit or scenario where I would use native groups from Awox.

Anyway thank you for great job with Awox lights it's very appriciated.

Support for native API

I just came across this component and thought it’s exactly what I was looking for. I already have an ESPhome BLE Hub running and would like to add this component to it, to support my Eglo Bulbs.
But I find it odd, that MQTT is used instead of the official HA API. Any reason for this and are there future plans to support the native API?

Logger: Compile Warnings and Errors

I have noticed several different warnings and errors when compiling with different log levels:

DEBUG (compiles with warnings):

...

|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/awox_mesh.o
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/device.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/device.cpp:6:
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/group.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/group.h:6,
                 from src/esphome/components/awox_mesh/group.cpp:3:
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/mesh_connection.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/awox_mesh.h:15,
                 from src/esphome/components/awox_mesh/awox_mesh.cpp:7:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/mesh_connection.cpp:5:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/esp32/core.o
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/esp32/gpio.o
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/esp32/preferences.o

...

Compiling .pioenvs/esphome-awox-mesh/app_trace/app_trace_util.o
Compiling .pioenvs/esphome-awox-mesh/app_trace/host_file_io.o
Compiling .pioenvs/esphome-awox-mesh/app_trace/gcov/gcov_rtio.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/awox_mesh.h:15,
                 from src/esphome.h:3,
                 from src/main.cpp:3:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Archiving .pioenvs/esphome-awox-mesh/esp-idf/app_trace/libapp_trace.a
Compiling .pioenvs/esphome-awox-mesh/app_update/esp_ota_ops.o
Compiling .pioenvs/esphome-awox-mesh/app_update/esp_app_desc.o

...

VERBOSE (compile fails):

INFO ESPHome 2023.12.9
INFO Reading configuration /config/esphome/awox-mesh-esp32.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esphome-awox-mesh (board: esp32dev; framework: espidf; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40405.230623 (4.4.5) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
Generating assembly for certificate bundle...
Dependency Graph
|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/awox_mesh.o
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/device.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/device.cpp:6:
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/group.o
In file included from src/esphome/components/awox_mesh/mesh_connection.h:8,
                 from src/esphome/components/awox_mesh/awox_mesh.h:15,
                 from src/esphome/components/awox_mesh/awox_mesh.cpp:7:
src/esphome/components/awox_mesh/awox_mesh.cpp: In member function 'esphome::awox_mesh::Device* esphome::awox_mesh::AwoxMesh::get_device(int)':
src/esphome/core/log.h:86:102: error: expected primary-expression before ')' token
   esp_log_printf_(ESPHOME_LOG_LEVEL_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
                                                                                                      ^
src/esphome/core/log.h:154:28: note: in expansion of macro 'esph_log_v'
 #define ESP_LOGV(tag, ...) esph_log_v(tag, __VA_ARGS__)
                            ^~~~~~~~~~
src/esphome/components/awox_mesh/awox_mesh.cpp:373:5: note: in expansion of macro 'ESP_LOGV'
     ESP_LOGV(TAG, "Mesh_id: %d ignored, not part of allowed_mesh_ids", mesh_id, );
     ^~~~~~~~
src/esphome/components/awox_mesh/awox_mesh.cpp: In member function 'esphome::awox_mesh::Group* esphome::awox_mesh::AwoxMesh::get_group(int, esphome::awox_mesh::Device*)':
src/esphome/components/awox_mesh/awox_mesh.cpp:396:84: error: 'ptr' was not declared in this scope
     ESP_LOGV(TAG, "Found existing group_id: %d, Number of found mesh groups = %d", ptr->mesh_id,
                                                                                    ^~~
src/esphome/core/log.h:86:91: note: in definition of macro 'esph_log_v'
   esp_log_printf_(ESPHOME_LOG_LEVEL_VERBOSE, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
                                                                                           ^~~~~~~~~~~
src/esphome/components/awox_mesh/awox_mesh.cpp:396:5: note: in expansion of macro 'ESP_LOGV'
     ESP_LOGV(TAG, "Found existing group_id: %d, Number of found mesh groups = %d", ptr->mesh_id,
     ^~~~~~~~
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/group.h:6,
                 from src/esphome/components/awox_mesh/group.cpp:3:
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/mesh_connection.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/awox_mesh.h:15,
                 from src/esphome/components/awox_mesh/awox_mesh.cpp:7:
src/esphome/components/awox_mesh/helpers.h: At global scope:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
*** [.pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/awox_mesh.o] Error 1
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/mesh_connection.cpp:5:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
========================= [FAILED] Took 64.37 seconds =========================

Logger Uncommented (compiles with warnings):

...

|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/awox_mesh.o
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/device.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/device.cpp:6:
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/group.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/group.h:6,
                 from src/esphome/components/awox_mesh/group.cpp:3:
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/awox_mesh/mesh_connection.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/awox_mesh.h:15,
                 from src/esphome/components/awox_mesh/awox_mesh.cpp:7:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/mesh_connection.cpp:5:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/esp32/core.o
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/esp32/gpio.o
Compiling .pioenvs/esphome-awox-mesh/src/esphome/components/esp32/preferences.o

...

Compiling .pioenvs/esphome-awox-mesh/app_trace/gcov/gcov_rtio.o
Archiving .pioenvs/esphome-awox-mesh/esp-idf/app_trace/libapp_trace.a
Compiling .pioenvs/esphome-awox-mesh/app_update/esp_ota_ops.o
In file included from src/esphome/components/awox_mesh/device.h:8,
                 from src/esphome/components/awox_mesh/mesh_connection.h:13,
                 from src/esphome/components/awox_mesh/awox_mesh.h:15,
                 from src/esphome.h:3,
                 from src/main.cpp:3:
src/esphome/components/awox_mesh/helpers.h:17:20: warning: 'std::__cxx11::string esphome::awox_mesh::int_as_hex_string(unsigned char, unsigned char, unsigned char)' defined but not used [-Wunused-function]
 static std::string int_as_hex_string(unsigned char hex1, unsigned char hex2, unsigned char hex3) {
                    ^~~~~~~~~~~~~~~~~
src/esphome/components/awox_mesh/helpers.h:9:20: warning: 'std::__cxx11::string esphome::awox_mesh::string_as_binary_string(std::__cxx11::string)' defined but not used [-Wunused-function]
 static std::string string_as_binary_string(std::string words) {
                    ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/esphome-awox-mesh/app_update/esp_app_desc.o
Archiving .pioenvs/esphome-awox-mesh/esp-idf/app_update/libapp_update.a
Compiling .pioenvs/esphome-awox-mesh/bootloader_support/src/bootloader_common.o

...

Light does not connect to mqtt

So I had been using this project and it worked really well, now I got two more lights but it will not show up in mqtt.

This is the output I get on the ESPHome log (the lights are both connected to the same remote so this shows twice):

UPDATED:
The lights are recognized of the esp. However when I add the mqtt integration, only the lights I added at the first setup of this project, my new lights will not show here:
image

QUESTION: Eglo spot 170

Hello @fsaris.

I have a question regarding my ES170 lights.
I am using 8 of these lights and 5 of them disconnects and reconnects every few seconds/minutes and sometimes stays connected for few hours/days.
I have also EGLO PLUG PLUS which also stays connected without any problem.

Did you or anyone else observed similar behaviour? I think the type of device might not matter.
This is history of the lights in HA:
image

Do you have maybe any idea what I can try to do to eliminate this?
It's starting to be really annoying when you need to turn on/off the light and must wait until it become available.

Doubt

Is not a really issue, but how can I install or use this integration?? I need an esp32?? I can install in home assistant thx in advance for your great job.

ESP32 reboot

Hi all,

finaly got a tool that work with my lamps :-) ... THANKS !! i have 84 EGLOSpot 120 (product_id: 0x96)

unfortunately, the ESP32 (tested with 2 boards: wemos_d1_mini32 and az-delivery-devkit-v4) and framework: esp-idf reboot few times then it can happen that it stops... when most of the LED are on it can happen faster ... with a few it may take longer.
Do i have too many devices ? is there any limit? or do i need an ESP with more memory?

I see the following:

[15:52:13][D][mesh_device:123]: Request info again for 13381
[15:52:13][D][mesh_device:123]: Request info again for 4996
[15:52:18]E (233064) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[15:52:18]E (233064) task_wdt: - loopTask (CPU 1)
[15:52:18]E (233064) task_wdt: Tasks currently running:
[15:52:18]E (233064) task_wdt: CPU 0: IDLE
[15:52:18]E (233064) task_wdt: CPU 1: IDLE
[15:52:18]E (233064) task_wdt: Aborting.
[15:52:18]
[15:52:18]abort() was called at PC 0x4012a7e8 on core 0
[15:52:18]
[15:52:18]
[15:52:18]Backtrace: 0x40082ace:0x3ffbe3c0 0x40091611:0x3ffbe3e0 0x4009754e:0x3ffbe400 0x4012a7e8:0x3ffbe470 0x400834a1:0x3ffbe490 0x401b2227:0x3ffbc6a0 0x4012af39:0x3ffbc6c0 0x400929e8:0x3ffbc6e0
WARNING Found stack trace! Trying to decode it
WARNING Decoded 0x40082ace: panic_abort at /config/.esphome/platformio/packages/framework-espidf/components/esp_system/panic.c:408
WARNING Decoded 0x40091611: esp_system_abort at /config/.esphome/platformio/packages/framework-espidf/components/esp_system/esp_system.c:137
WARNING Decoded 0x4009754e: abort at /config/.esphome/platformio/packages/framework-espidf/components/newlib/abort.c:46
WARNING Decoded 0x4012a7e8: task_wdt_isr at /config/.esphome/platformio/packages/framework-espidf/components/esp_system/task_wdt.c:176 (discriminator 3)
WARNING Decoded 0x400834a1: _xt_lowint1 at /config/.esphome/platformio/packages/framework-espidf/components/freertos/port/xtensa/xtensa_vectors.S:1114
WARNING Decoded 0x401b2227: cpu_ll_waiti at /config/.esphome/platformio/packages/framework-espidf/components/hal/esp32/include/hal/cpu_ll.h:183
(inlined by) esp_pm_impl_waiti at /config/.esphome/platformio/packages/framework-espidf/components/esp_pm/pm_impl.c:830
WARNING Decoded 0x4012af39: esp_vApplicationIdleHook at /config/.esphome/platformio/packages/framework-espidf/components/esp_system/freertos_hooks.c:63
WARNING Decoded 0x400929e8: prvIdleTask at /config/.esphome/platformio/packages/framework-espidf/components/freertos/tasks.c:3987
[15:52:18]
[15:52:18]
[15:52:18]
[15:52:18]
[15:52:18]ELF file SHA256: 1a2a3a8426cab745
[15:52:18]
[15:52:18]Rebooting...
[15:52:18]ets Jul 29 2019 12:21:46
[15:52:18]
[15:52:18]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[15:52:18]configsip: 0, SPIWP:0xee
[15:52:18]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[15:52:18]mode:DIO, clock div:2
[15:52:18]load:0x3fff0030,len:6608
[15:52:18]load:0x40078000,len:15060
[15:52:18]ho 0 tail 12 room 4
[15:52:18]load:0x40080400,len:3816
[15:52:18]entry 0x40080698
[15:52:18]I (29) boot: ESP-IDF 4.4.5 2nd stage bootloader
[15:52:18]I (29) boot: compile time 14:43:44
[15:52:18]I (29) boot: chip revision: v3.0
[15:52:18]I (32) boot.esp32: SPI Speed : 40MHz
[15:52:18]I (37) boot.esp32: SPI Mode : DIO
[15:52:18]I (41) boot.esp32: SPI Flash Size : 4MB
[15:52:18]I (46) boot: Enabling RNG early entropy source...
[15:52:18]I (51) boot: Partition Table:
[15:52:18]I (55) boot: ## Label Usage Type ST Offset Length
[15:52:18]I (62) boot: 0 otadata OTA data 01 00 00009000 00002000
[15:52:18]I (69) boot: 1 phy_init RF data 01 01 0000b000 00001000
[15:52:18]I (77) boot: 2 app0 OTA app 00 10 00010000 001c0000
[15:52:18]I (84) boot: 3 app1 OTA app 00 11 001d0000 001c0000
[15:52:18]I (92) boot: 4 nvs WiFi data 01 02 00390000 0006d000
[15:52:18]I (99) boot: End of partition table
[15:52:18]I (104) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=32b10h (207632) map
[15:52:18]I (187) esp_image: segment 1: paddr=00042b38 vaddr=3ffbdb60 size=04bd4h ( 19412) load
[15:52:18]I (195) esp_image: segment 2: paddr=00047714 vaddr=40080000 size=08904h ( 35076) load
[15:52:18]I (210) esp_image: segment 3: paddr=00050020 vaddr=400d0020 size=e55c0h (939456) map
[15:52:19]I (550) esp_image: segment 4: paddr=001355e8 vaddr=40088904 size=148dch ( 84188) load
[15:52:19]I (599) boot: Loaded app from partition at offset 0x10000
[15:52:19]I (599) boot: Disabling RNG early entropy source...
[15:52:19]I (611) cpu_start: Pro cpu up.
[15:52:19]I (611) cpu_start: Starting app cpu, entry point is 0x40082180
[15:52:19]I (597) cpu_start: App cpu up.
[15:52:19]I (627) cpu_start: Pro cpu start user code
[15:52:19]I (627) cpu_start: cpu freq: 160000000
[15:52:19]I (627) cpu_start: Application information:
[15:52:19]I (632) cpu_start: Project name: awox-ble-mesh-hub
[15:52:19]I (638) cpu_start: App version: 2023.12.5
[15:52:19]I (643) cpu_start: Compile time: Dec 27 2023 14:42:49
[15:52:19]I (649) cpu_start: ELF file SHA256: 1a2a3a8426cab745...
[15:52:19]I (655) cpu_start: ESP-IDF: 4.4.5
[15:52:19]I (660) cpu_start: Min chip rev: v0.0
[15:52:19]I (664) cpu_start: Max chip rev: v3.99
[15:52:19]I (669) cpu_start: Chip rev: v3.0
[15:52:19]I (674) heap_init: Initializing. RAM available for dynamic allocation:
[15:52:19]I (681) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
[15:52:19]I (687) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
[15:52:19]I (693) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
[15:52:19]I (699) heap_init: At 3FFCAF80 len 00015080 (84 KiB): DRAM
[15:52:19]I (705) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
[15:52:19]I (712) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
[15:52:19]I (718) heap_init: At 4009D1E0 len 00002E20 (11 KiB): IRAM
[15:52:19]I (726) spi_flash: detected chip: generic
[15:52:19]I (729) spi_flash: flash io: dio
[15:52:19]I (735) cpu_start: Starting scheduler on PRO CPU.
[15:52:19]I (0) cpu_start: Starting scheduler on APP CPU.
[15:52:19][I][logger:355]: Log initialized
[15:52:19][C][ota:473]: There have been 10 suspected unsuccessful boot attempts.
[15:52:19][D][esp32.preferences:114]: Saving 1 preferences to flash...
[15:52:19][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[15:52:19][E][ota:480]: Boot loop detected. Proceeding to safe mode.
[15:52:19][I][app:029]: Running through setup()...

config file used (here with az-delivery board):

esphome: name: awox-ble-mesh-hub friendly_name: "AwoX BLE mesh hub" esp32: board: az-delivery-devkit-v4 framework: type: esp-idf # status_led: # Match this with the board your using # pin: GPIO2 # Enable logging logger: #level: VERY_VERBOSE # debug: # update_interval: 5s # text_sensor: # - platform: debug # reset_reason: # name: "Reset Reason" # sensor: # - platform: debug # free: # name: "Heap Free" # loop_time: # name: "Loop Time" mqtt: broker: "192.168.10.235" username: "XXXXXXXX" password: "XXXXXXXX" # Disable Home Assistant API to prevent frequent MQTT disconnections #api: ota: password: "XXXXXXXX" wifi: ssid: "XXXXXXXX" password: "XXXXXXXX" external_components: - source: type: git url: https://github.com/fsaris/EspHome-AwoX-BLE-mesh-hub # ref: dev # - source: # type: local # path: components esp32_ble_tracker: scan_parameters: active: false awox_mesh: mesh_name: XXXXXXXX mesh_password: XXXXXXXX address_prefix: A4:C1 device_info: # Example device type, see device info in HomeAssistant or MQTT message to find the 'product_id' - product_id: 0x32 device_type: RGB manufacturer: EGLO name: Spot 120 model: EGLOSpot 120/w icon: mdi:wall-sconce-flat - product_id: 0x96 device_type: RGB manufacturer: EGLO name: Spot 120 model: EGLOSpot 120/w icon: mdi:wall-sconce-flat

Adding EGLO/AwoX Connect-C Sensor

Currently the library only supports lights but no sensors.

From Eglo there is (since many years) the Connect-C sensor click here which combines a motion detection sensor with a brightness sensors (like most motion detection sensors...) and the Eglo/Awox BLE-interface. I have it in use since many years and it works quite flawlessly. However the possible things one can do with it in the original Awox app are sadly very limited.

Would it be possible to add it to the library?

Which information are needed for integration? I will of course try to provide everything which is needed.

Any plans to control BLE mesh via official WiFi-BLE bridges?

At least via the AwoX cloud it is possible together with an

  • EGLO PLUG PLUS (seems to not be in production anymore, but can be bought nonetheless): click here or
  • the new EGLO CONNECT-C Bridge click here
    to control all AwoX/Eglo BLE-mesh devices also via WiFi (and AwoX cloud).

Not all capabilites of the lights and plugs are available via cloud control:

  • plugs are missing power history and automated timer-controlled actions within the device
  • lights are missing automatic color animations, automated timer-controlled actions within the device as well as the disco/club function

However the most relevant capabilities are available

  • plugs: Switching the state, seeing the currently measured power
  • lights: Switching/Dimming (RGB, TW), accessing favorite colours and factory colour themes

Since the BLE control via the EGLO PLUG PLUS is way more stable than the control via BLE directly from the Smartphone (both using the original AwoX app) it might be a good idea to let the official WiFi-BLE bridges handle the whole BLE mesh part and only use the WiFi interface of the bridges directly and/or the AwoX cloud interface.

So my questions:

  • Would it be possible to control the BLE mesh
    • directly via AwoX WiFi-BLE bridge(s) using WiFi (offline, no AwoX cloud involved)
    • indirectly via AwoX cloud and an AwoX WiFi-BLE bridge (online, same way as the original AwoX app does it when no BLE connection is available)

Connection problems ESPHome 2024.2.*

Hi @fsaris ,

I've upgraded to the newest release from 6b36e809a448166384880a34319149c7d69776bb

Unfortunately now connecting to the device is mainly only working after reboot.

[20:29:56][I][awox.mesh.mqtt:076]: Publish connected to mesh device - offline [20:29:58][D][awox.mesh:238]: Total devices: 1 [20:29:58][D][awox.mesh:241]: Available device [redacted] [3590] => rssi: -9999 [20:29:58][D][awox.mesh:266]: Currently 0 mesh devices reachable through active connections (1 currently known and 1 fully recognized) [20:29:58][D][awox.mesh:129]: No devices found to connect to [20:29:58][I][awox.mesh.mqtt:076]: Publish connected to mesh device - offline [20:30:03][D][awox.mesh:238]: Total devices: 1 [20:30:03][D][awox.mesh:241]: Available device [redacted] [3590] => rssi: -9999 [20:30:03][D][awox.mesh:266]: Currently 0 mesh devices reachable through active connections (1 currently known and 1 fully recognized) [20:30:03][D][awox.mesh:129]: No devices found to connect to [20:30:03][I][awox.mesh.mqtt:076]: Publish connected to mesh device - offline [20:30:07][D][sensor:094]: 'Awox BLE Mesh Hub 2 Uptime Sensor': Sending state 7597.82812 s with 0 decimals of accuracy [20:30:08][D][awox.mesh:238]: Total devices: 1 [20:30:08][D][awox.mesh:241]: Available device [redacted] [3590] => rssi: -9999 [20:30:08][D][awox.mesh:266]: Currently 0 mesh devices reachable through active connections (1 currently known and 1 fully recognized) [20:30:08][D][awox.mesh:129]: No devices found to connect to [20:30:08][I][awox.mesh.mqtt:076]: Publish connected to mesh device - offline

After rebooting the RSSI is back to ~60.

Can you please check it? Thanks!

Error: The program size (2021481 bytes) is greater than maximum allowed (1835008 bytes)

Referring to the solved Issue #56 I still face troubles.
Did everything that was mentioned (Change to ESP-IDF, Clean Buildfiles etc.)

Here is my config (Removed everything but the AWOX Stuff)

esphome:
  name: esphome-web-ee267c
  friendly_name: Awox

esp32:
#  board: esp32dev
  board: mhetesp32devkit
  framework:
#    type: esp-idf
     type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "<SNIP>"

ota:

mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_user
  password: !secret mqtt_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.178.99
    gateway: 192.168.0.1
    subnet: 255.255.255.0
external_components:
  - source:
      type: git
      url: https://github.com/fsaris/EspHome-AwoX-BLE-mesh-hub

captive_portal:

awox_mesh:
  mesh_name: !secret mesh_name
  mesh_password: !secret mesh_password
  address_prefix: A4:C1:<SNIP>
  device_info:
    - product_id: 0x30
      device_type: RGB
      manufacturer: EGLO
      name: EGLOPanel 30X120
      model: EPanel_120
      icon: mdi:wall-sconce-flat

This is the error I get when including Arduino Framework:

Linking .pioenvs/esphome-web-ee267c/firmware.elf
RAM:   [==        ]  18.3% (used 59916 bytes from 327680 bytes)
Flash: [==========]  110.2% (used 2021481 bytes from 1835008 bytes)
Error: The program size (2021481 bytes) is greater than maximum allowed (1835008 bytes)
*** [checkprogsize] Explicit exit, status 1
========================= [FAILED] Took 117.44 seconds =========================

This is the error I get when I use esp-idf as Framework:

Processing esphome-web-ee267c (board: mhetesp32devkit; framework: espidf; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40405.230623 (4.4.5) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
-- Component directory /data/cache/platformio/packages/framework-espidf/components/wpa_supplicant does not contain a CMakeLists.txt file. No component will be added
-- Building ESP-IDF components for target esp32
-- Configuring incomplete, errors occurred!
See also "/data/build/esphome-web-ee267c/.pioenvs/esphome-web-ee267c/CMakeFiles/CMakeOutput.log".

fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at /data/cache/platformio/packages/framework-espidf/tools/cmake/build.cmake:201 (message):
  Failed to resolve component 'cxx'.
Call Stack (most recent call first):
  /data/cache/platformio/packages/framework-espidf/tools/cmake/build.cmake:236 (__build_resolve_and_add_req)
  /data/cache/platformio/packages/framework-espidf/tools/cmake/build.cmake:518 (__build_expand_requirements)
  /data/cache/platformio/packages/framework-espidf/tools/cmake/project.cmake:393 (idf_build_process)
  CMakeLists.txt:3 (project)



========================== [FAILED] Took 2.36 seconds ==========================

New device request

Hello,

Could you please add a new device? Please see the MQTT payload bellow. In the original integration it went by name "ESMLm-w9w", so I guess it would mean to uncomment row 207 of the device_info.h file.

Thanks!

schema: json
name: Unknown device type
unique_id: awox-A4:C1:38:56:C1:CD-light
icon: mdi:lightbulb-help-outline
state_topic: esp32u-ble-awox/16845/state
command_topic: esp32u-ble-awox/16845/command
availability:
  - topic: esp32u-ble-awox/16845/availability
  - topic: esp32u-ble-awox/status
availability_mode: all
color_mode: true
brightness: true
brightness_scale: 255
supported_color_modes:
  - brightness
device:
  identifiers:
    - esp-awox-mesh-16845
    - A4:C1:38:56:C1:CD
  name: Unknown device type
  model: t
  manufacturer: AwoX
  via_device: 083af26f0f90
platform: mqtt

exception while calling this->setup_connection() in mesh_connection.cpp

Hello,

nice work.
I was curious to test your component, but obviously I ran into an error that causes the ship to boot.

Thread 
7 "loopTask" received signal SIGTRAP, Trace/breakpoint trap.
esphome::esp32_ble_client::BLECharacteristic::write_value (this=0x0, new_val=0x3fccd5d8 "\f\347\025\341\341\333\362\374\222\360\064\205f", new_val_size=17, write_type=ESP_GATT_WRITE_TYPE_NO_RSP) at src/esphome/components/esp32_ble_client/ble_characteristic.cpp:82
82	  auto *client = this->service->client;

the call stack is

  • esp32_ble_tracker.cpp at line 400:
    client->gattc_event_handler(event, gattc_if, param);
  • ble.cpp at line 344:
    gattc_handler->gattc_event_handler(event, gattc_if, param);
  • ble.cpp at line 294:
    this->real_gattc_event_handler_(ble_event->event_.gattc.gattc_event, ble_event->event_.gattc.gattc_if, &ble_event->event_.gattc.gattc_param);
  • mesh_connection.cpp line 148:
    this->setup_connection();
esphome logs
[17:32:20][I][awox.connection:179]: Response OK, let's go
[17:32:20][D][awox.connection:251]: combine mesh name + password: 6DDJn9u0:******
[17:32:20][I][awox.connection:184]: [0] [A4:C1:38:78:34:95] session key 11001011110000....00110100
[17:32:20][D][awox.connection:551]: [0] [A4:C1:38:78:34:95] request status update
[17:32:20][D][awox.connection:541]: [0] [A4:C1:38:78:34:95] [65535] write_command packet DA => 00010000
[17:32:20][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_WRITE_CHAR_EVT
[17:32:20][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_NOTIFY_EVT
[17:32:20][D][awox.connection:355]: online status report: mesh: 13461, on: 0, color_mode: 0, sequence_mode: 0, candle_mode: 0, w_b: 127, temp: 25, c_b: 100, rgb: FFFFFF, mode: 8 00001000
[17:32:20][I][awox.mesh:338]: Added mesh_id: 13461, Number of found mesh devices = 1
[17:32:20][D][awox.mesh:474]: Call connection for 13461
[17:32:20][I][awox.mesh:485]: No active connection for 13461, we trigger message on all could be also a group
[17:32:20][I][awox.connection:458]: 13461: OFF temp: 25 (127 %) ONLINE
[17:32:20][W][awox.mesh.mqtt:135]: [13461] Can not yet send publish state for device
[17:32:20][D][awox.mesh:407]: Delayed publish online/offline for 13461 - online
[17:32:20][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_WRITE_CHAR_EVT
[17:32:21][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_NOTIFY_EVT
[17:32:21][D][awox.connection:379]: status report: mesh: 13461, on: 0, color_mode: 0, sequence_mode: 0, candle_mode: 0, w_b: 127, temp: 25, c_b: 100, rgb: FFFFFF, mode: 8 00001000
[17:32:21][I][awox.connection:458]: 13461: OFF temp: 25 (127 %) ONLINE
[17:32:21][W][awox.mesh.mqtt:135]: [13461] Can not yet send publish state for device
[17:32:21][W][component:214]: Component esp32_ble took a long time for an operation (0.67 s).
[17:32:21][W][component:215]: Components should block for at most 20-30ms.
[17:32:21][D][awox.connection:541]: [0] [A4:C1:38:78:34:95] [13461] write_command packet EA => 0001000000000000
[17:32:21][I][awox.connection:115]: still 1 queued commands
[17:32:21][I][mqtt:234]: Connecting to MQTT...
[17:32:21][D][esp-idf:000]: I (233117) MQTT_CLIENT: Client asked to disconnect

[17:32:21][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_WRITE_CHAR_EVT
[17:32:21][I][awox.connection:121]: 1 queued commands (debounce timer: -53, next command DD, for dest: 13461)
[17:32:21][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_NOTIFY_EVT
[17:32:21][D][awox.connection:395]: MAC report, dev [13461]: productID: 0x13 mac: A4:C1:38:78:34:95
[17:32:21][D][awox.mesh.mqtt:321]: [13461]: Sending discovery productID: 0x13 (SmartLIGHT Color Mesh 9 - SMLm_C9) mac: A4:C1:38:78:34:95
[17:32:21][I][awox.mesh.mqtt:117]: Publish online/offline for 13461 - online
[17:32:21][W][component:214]: Component esp32_ble took a long time for an operation (0.09 s).
[17:32:21][W][component:215]: Components should block for at most 20-30ms.
[17:32:21][D][awox.connection:541]: [0] [A4:C1:38:78:34:95] [13461] write_command packet DD => 0000101000000001
[17:32:21][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_WRITE_CHAR_EVT
[17:32:21][D][esp32_ble_client:110]: [0] [A4:C1:38:78:34:95] ESP_GATTC_NOTIFY_EVT
[17:32:21][D][awox.connection:411]: Group report, dev [13461] 6
[17:32:21][I][awox.mesh:372]: Added group_id: 6, Number of found mesh groups = 1
[17:32:21][D][awox.connection:411]: Group report, dev [13461] 5
[17:32:21][I][awox.mesh:372]: Added group_id: 5, Number of found mesh groups = 2
[17:32:21][W][component:214]: Component esp32_ble took a long time for an operation (0.11 s).
[17:32:21][W][component:215]: Components should block for at most 20-30ms.
[17:32:21][I][awox.mesh.mqtt:129]: Publish online/offline for group 6 - online
[17:32:21][I][awox.mesh.mqtt:129]: Publish online/offline for group 5 - online
[17:32:21][W][component:214]: Component awox_mesh took a long time for an operation (0.06 s).
[17:32:21][W][component:215]: Components should block for at most 20-30ms.
[17:32:23][I][awox.mesh.mqtt:082]: Publish connection info, 1 connections, 1 device online
[17:32:25][I][mqtt:274]: MQTT Connected!
[17:32:25][W][component:214]: Component mqtt took a long time for an operation (0.18 s).
[17:32:25][W][component:215]: Components should block for at most 20-30ms.
[17:32:26][W][component:214]: Component mqtt took a long time for an operation (0.06 s).
[17:32:26][W][component:215]: Components should block for at most 20-30ms.
[17:32:26][W][component:214]: Component mqtt took a long time for an operation (0.09 s).
[17:32:26][W][component:215]: Components should block for at most 20-30ms.
[17:32:33][D][awox.mesh:088]: Found Awox device  - A4:C1:38:5C:A2:C3. RSSI: -40 dB (total devices: 2)
[17:32:40][D][awox.mesh:221]: Set mesh_id 13461 for device A4:C1:38:78:34:95
[17:32:40][D][awox.mesh:227]: Total devices: 2
[17:32:40][D][awox.mesh:230]: Available device A4:C1:38:5C:A2:C3 [0] => rssi: -40
[17:32:40][D][awox.mesh:230]: Available device A4:C1:38:78:34:95 [13461] => rssi: -9999
[17:32:40][D][awox.mesh:255]: Currently 1 mesh devices reachable through active connections (1 currently known and 1 fully recognized)
[17:32:40][D][awox.mesh:261]: Try to connecty to device A4:C1:38:5C:A2:C3 no mesh id known yet
[17:32:40][I][awox.mesh:139]: Try to connect A4:C1:38:5C:A2:C3 => rssi: -40
[17:32:40][I][awox.connection:117]: IDLE
[17:32:40][D][esp32_ble_client:110]: [1] [A4:C1:38:5C:A2:C3] Found device
[17:32:40][D][esp32_ble_tracker:661]: Found device A4:C1:38:5C:A2:C3 RSSI=-40
[17:32:40][D][esp32_ble_tracker:682]:   Address Type: PUBLIC
[17:32:40][I][awox.connection:125]: DISCOVERED
[17:32:40][W][component:214]: Component awox_mesh took a long time for an operation (0.44 s).
[17:32:40][W][component:215]: Components should block for at most 20-30ms.
[17:32:40][D][esp32_ble_tracker:215]: Pausing scan to make connection...
[17:32:40][D][awox.mesh:088]: Found Awox device  - A4:C1:38:BD:F0:27. RSSI: -61 dB (total devices: 3)
[17:32:40][D][awox.mesh:088]: Found Awox device  - A4:C1:38:B3:13:D2. RSSI: -55 dB (total devices: 4)
[17:32:40][I][awox.connection:129]: READY_TO_CONNECT
[17:32:40][W][component:214]: Component esp32_ble_tracker took a long time for an operation (0.07 s).
[17:32:40][W][component:215]: Components should block for at most 20-30ms.
[17:32:40][I][esp32_ble_client:067]: [1] [A4:C1:38:5C:A2:C3] 0x00 Attempting BLE connection
[17:32:40][I][awox.connection:133]: CONNECTING
[17:32:40][W][component:214]: Component awox_mesh took a long time for an operation (0.12 s).
[17:32:41][W][component:215]: Components should block for at most 20-30ms.
[17:32:54][D][esp32_ble_client:110]: [1] [A4:C1:38:5C:A2:C3] ESP_GATTC_CONNECT_EVT
[17:32:54][D][esp32_ble_client:110]: [1] [A4:C1:38:5C:A2:C3] ESP_GATTC_OPEN_EVT
[17:32:54][I][awox.connection:137]: CONNECTED
[17:32:54][W][component:214]: Component esp32_ble took a long time for an operation (0.13 s).
[17:32:54][W][component:215]: Components should block for at most 20-30ms.
[17:32:54][D][esp32_ble_tracker:266]: Starting scan...
[17:32:54][D][awox.mesh:117]: scan end
[17:32:54][W][component:214]: Component esp32_ble_tracker took a long time for an operation (0.11 s).
[17:32:54][W][component:215]: Components should block for at most 20-30ms.
[17:32:58][D][esp32_ble_client:306]: [1] [A4:C1:38:5C:A2:C3] Event 46
[17:32:58][D][esp32_ble_client:110]: [1] [A4:C1:38:5C:A2:C3] ESP_GATTC_SEARCH_CMPL_EVT
[17:32:58][I][esp32_ble_client:227]: [1] [A4:C1:38:5C:A2:C3] Connected
[17:32:58][I][awox.connection:147]: Connected....
[17:32:58][D][awox.connection:251]: combine mesh name + password: 6DDJn9u0:*******
WARNING awox-mesh @ 192.168.8.246: Connection error occurred: Ping response not received after 90.0 seconds
INFO Processing unexpected disconnect from ESPHome API for awox-mesh @ 192.168.8.246

yaml conf

substitutions:
  name: "awox-mesh"
  friendly_name: AwoX Mesh bluetooth relay

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  platformio_options:
    board_build.flash_mode: dio
    

esp32:
  board: esp32-s3-devkitc-1  
  framework:
    type: esp-idf     
  variant: esp32s3
  flash_size: 8MB
mqtt:  
  broker: home-io.local
  username: awox_mesh2mqtt
  password: !secret mqtt_awox_password
  discovery: true



debug:
  update_interval: 5s



# Enable logging
logger:    
  level: DEBUG
  


# Enable Home Assistant API
api:
  services:    
    - service: reboot
      then:
        - logger.log: "Redémarrage en cours..."
        - lambda: |-
            esp_restart();

    
  encryption:
    key: !secret encryption_key

ota:  
  password: !secret ota_pwd

wifi:
  #ssid: !secret wifi_ssid
  #password: !secret wifi_password
  
  networks:
  - ssid : !secret wifi_ssid
    password: !secret wifi_password
  - ssid: !secret wifi_ssid2
    password: !secret wifi_password2
  #- ssid: !secret wifi_ssid2
  #  password: !secret wifi_password2

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "awox-mesh-proxy Hotspot"
    password: !secret ota_pwd

# pas assez de place pour update ota 
#web_server:
#  port: 80
  
time:
  - platform: homeassistant
    id: homeassistant_time

# this setting is for local component (code is not on github)
external_components:

#  - source:
#     type: git
#     url: https://github.com/fsaris/EspHome-AwoX-BLE-mesh-hub
#     ref: main

 - source:
     type: local
     path: components 



esp32_ble_tracker:
  scan_parameters:
    active: false


awox_mesh:
  mesh_name: !secret mesh_name
  mesh_password: !secret mesh_password
  
  device_info:
    - product_id: 0x13
      device_type: RGB
      name: SmartLIGHT Color Mesh 9
      model: SMLm_C9
      manufacturer: AwoX
    - product_id: 0x25
      device_type: RGB
      name: EGLOPanel 30X30
      model: EPanel_300
      manufacturer: EGLO

# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: ${name} ESPHome Version
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: ${name} IP
    ssid:
      name: ${name} SSID
    bssid:
      name: ${name} BSSID

  - platform: debug
    device:
      name: "Device Info"
    reset_reason:
      name: "Reset Reason"


# Sensors with general information.
sensor:
  # - platform: debug
  #   free:
  #     name: "Heap Free"


  # # Uptime sensor.
  # - platform: uptime
  #   name: ${name} Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: ${name} WiFi Signal
    update_interval: 60s

compilation traces
awox-mesh % esphome compile AwoX-Mesh.yaml
INFO ESPHome 2024.2.2
INFO Reading configuration AwoX-Mesh.yaml...
INFO Detected timezone 'Europe/Paris'
INFO Generating C++ source...
INFO Compiling app...
Processing awox-mesh (board: esp32-s3-devkitc-1; framework: espidf; platform: platformio/[email protected])
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing espressif/toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
INFO Installing espressif/toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Unpacking  [####################################]  100%
Tool Manager: [email protected]+2021r2-patch5 has been installed!
INFO [email protected]+2021r2-patch5 has been installed!
Tool Manager: Installing espressif/toolchain-esp32ulp @ 2.35.0-20220830
INFO Installing espressif/toolchain-esp32ulp @ 2.35.0-20220830
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
 - framework-espidf @ 3.40406.240122 (4.4.6) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.9.0 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
Generating assembly for certificate bundle...
Dependency Graph
|-- noise-c @ 0.1.4
|-- ArduinoJson @ 6.18.5
...
Flash: [====      ]  41.4% (used 1629589 bytes from 3932160 bytes)
Building .pioenvs/awox-mesh/firmware.bin
Creating esp32s3 image...
Successfully created esp32s3 image.
esp32_create_combined_bin([".pioenvs/awox-mesh/firmware.bin"], [".pioenvs/awox-mesh/firmware.elf"])
Wrote 0x19df00 bytes to file /Users/echavet/Documents/2024/awox-mesh/.esphome/build/awox-mesh/.pioenvs/awox-mesh/firmware-factory.bin, ready to flash to offset 0x0
======================================================================== [SUCCESS] Took 42.82 seconds ========================================================================

Login without old integration

How do we get the mesh_name and mesh_password if we cant use your old HA integration?
I migrated to the newer AwoX HomeControl App some time ago and cant login to the old integration anymore.

The ESPHome component finds my light but can't connect to it, as the name & pw are wrong.

Eglo Fueva-Z devices not published on MQTT

I have many Fueva-Z lights ( https://www.eglo.com/uk/recessed-light-fueva-z-900102.html )
Not sure if this is a bug or just me but I can't list lights on MQTT/home assistant. I obtained my mesh name and password with https://jsfiddle.net/fsaris/uncm54vb/37/ only difference being that I chaged URL to https://l4hparse-hc-prod.awox.cloud/parse/login as I am using Awox Home Conrol app instead of Awox smart conrol. Some log attached below. For some reason it shows my mesh network name instead of proper name.

V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:0A:AC:EF. RSSI: -88 dB (total devices: 16)
[VV][scheduler:226]: Running timeout 'connecting' with interval=20000 last_execution=20292 (now=40303)
[I][AwoxMesh:071]: Failed to connect A4:C1:38:95:D5:82 => rssi: -55
[I][esp32_ble_client:081]: [0] [A4:C1:38:95:D5:82] Disconnecting.
[I][MeshDevice:155]: DISCONNECTING
[I][mesh_device:475]: Publish connected to mesh device - offline
[D][AwoxMesh:057]: Total devices: 16
[D][AwoxMesh:059]: Available device A4:C1:38:B1:9A:DF => rssi: -59
[D][AwoxMesh:059]: Available device A4:C1:38:95:D5:82 => rssi: -59
[D][AwoxMesh:059]: Available device A4:C1:38:0E:6C:75 => rssi: -59
[D][AwoxMesh:059]: Available device A4:C1:38:FF:E1:D2 => rssi: -59
[D][AwoxMesh:059]: Available device A4:C1:38:56:C1:55 => rssi: -60
[D][AwoxMesh:059]: Available device A4:C1:38:A8:81:49 => rssi: -61
[D][AwoxMesh:059]: Available device A4:C1:38:CC:2F:5F => rssi: -61
[D][AwoxMesh:059]: Available device A4:C1:38:F7:C3:75 => rssi: -63
[D][AwoxMesh:059]: Available device A4:C1:38:B9:23:95 => rssi: -67
[D][AwoxMesh:059]: Available device A4:C1:38:4A:8A:DD => rssi: -68
[D][AwoxMesh:059]: Available device A4:C1:38:97:7B:2E => rssi: -68
[D][AwoxMesh:059]: Available device A4:C1:38:92:4D:15 => rssi: -69
[D][AwoxMesh:059]: Available device A4:C1:38:A1:D8:A0 => rssi: -71
[D][AwoxMesh:059]: Available device A4:C1:38:29:69:37 => rssi: -77
[D][AwoxMesh:059]: Available device A4:C1:38:4A:4F:7B => rssi: -79
[D][AwoxMesh:059]: Available device A4:C1:38:0A:AC:EF => rssi: -88
[I][AwoxMesh:063]: Try to connect A4:C1:38:B1:9A:DF => rssi: -59
[I][mesh_device:475]: Publish connected to mesh device - offline
[I][esp32_ble_client:064]: [0] [A4:C1:38:B1:9A:DF] 0x00 Attempting BLE connection
[I][MeshDevice:175]: CONNECTING
[VV][scheduler:032]: set_timeout(name='connecting', timeout=20000)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:4A:4F:7B (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -87
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 35.10.7B.4F.4A.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.35.10.7B.4F.4A.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:4A:4F:7B. RSSI: -87 dB (total devices: 16)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: 54:15:89:A8:84:60 (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -70
[VV][esp32_ble_tracker:415]: Name: ''
[VV][esp32_ble_tracker:423]: Ad Flag: 24
[VV][esp32_ble_tracker:429]: Manufacturer data: 62.20.01.D3.E4.00.00.28.00.00.00.54.15.89.A8.84.60.00.00.00.00.00.00.00 (24)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.18.1B.FF.CB.0E.62.20.01.D3.E4.00.00.28.00.00.00.54.15.89.A8.84.60.00.00.00.00.00.00.00 (31)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:4A:4F:7B (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -81
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 35.10.7B.4F.4A.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.35.10.7B.4F.4A.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:4A:4F:7B. RSSI: -81 dB (total devices: 16)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: 58:2B:DB:6B:B8:A6 (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -92
[VV][esp32_ble_tracker:415]: Name: 'PAX Calima'
[VV][esp32_ble_tracker:417]: TX Power: 2
[VV][esp32_ble_tracker:423]: Ad Flag: 6
[VV][esp32_ble_tracker:426]: Service UUID: 0x180A
[VV][esp32_ble_tracker:445]: Adv data: 02.01.06.03.03.0A.18.0B.09.50.41.58.20.43.61.6C.69.6D.61.02.0A.03 (22)
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:A8:81:49 (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -60
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 97.20.49.81.A8.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.97.20.49.81.A8.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:A8:81:49. RSSI: -60 dB (total devices: 16)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:A8:81:49 (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -64
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 97.20.49.81.A8.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.97.20.49.81.A8.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:A8:81:49. RSSI: -64 dB (total devices: 16)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:4A:4F:7B (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -79
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 35.10.7B.4F.4A.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.35.10.7B.4F.4A.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:4A:4F:7B. RSSI: -79 dB (total devices: 16)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:4A:8A:DD (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -73
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 97.20.DD.8A.4A.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.97.20.DD.8A.4A.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:4A:8A:DD. RSSI: -73 dB (total devices: 16)
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:29:69:37 (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -72
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 97.20.37.69.29.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.97.20.37.69.29.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:29:69:37. RSSI: -72 dB (total devices: 16)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: 80:64:6F:E4:6A:4E (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -84
[VV][esp32_ble_tracker:415]: Name: ''
[VV][esp32_ble_tracker:423]: Ad Flag: 6
[VV][esp32_ble_tracker:429]: Manufacturer data: 01.05.00.0B.01.10.0A.80.64.6F.E4.6A.4C (13)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.06.10.FF.A9.0B.01.05.00.0B.01.10.0A.80.64.6F.E4.6A.4C (20)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[VV][esp32_ble_tracker:395]: Parse Result:
[VV][esp32_ble_tracker:412]: Address: A4:C1:38:29:69:37 (PUBLIC)
[VV][esp32_ble_tracker:414]: RSSI: -73
[VV][esp32_ble_tracker:415]: Name: '<MESH_NAME>'
[VV][esp32_ble_tracker:423]: Ad Flag: 5
[VV][esp32_ble_tracker:426]: Service UUID: 0x1800
[VV][esp32_ble_tracker:429]: Manufacturer data: 97.20.37.69.29.38 (6)
[VV][esp32_ble_tracker:445]: Adv data: 02.01.05.03.02.00.18.09.09.69.52.74.55.42.58.4C.41.09.FF.60.01.97.20.37.69.29.38 (27)
[V][AwoxMesh:044]: Found Awox device <MESH_NAME> - A4:C1:38:29:69:37. RSSI: -73 dB (total devices: 16)
[V][esp32_ble:178]: (BLE) gap_event_handler - 3
[V][esp32_ble:178]: (BLE) gap_event_handler - 3

[device_info] is an invalid option for [awox_mesh]. Please check the indentation.

Hello Frans,

I've been struggling with this ESP32 for the past 5-6 hours and I'm not sure what am I doing wrong. Blow are my config and then the error I'm getting when I tried to flash the config. I tryed playing around with the indentation of device_info, looked at other examples in the settings, but I can't seem to be able to figure it out on my own.

Please help me!

Thanks!
Daniel

esphome:
  name: "esp1"
  friendly_name: "esp1"

esp32:
  board: esp32dev
  framework:
    type: arduino
    version: 2.0.6 #https://github.com/espressif/arduino-esp32/releases

status_led:
  pin: GPIO2

# Enable logging
logger:

debug:

text_sensor:
  - platform: debug
    reset_reason:
      name: "Reset Reason"

# Enable Home Assistant API
#api:
#  encryption:
#    key: "xxx"

ota:
  password: " xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp1 Fallback Hotspot"
    password: "xxx"

captive_portal:
    
external_components:
  source: github://fsaris/EspHome-AwoX-BLE-mesh-hub

mqtt:
  broker: !secret mqtt_host
  username: mqtt_user
  password: !secret mqtt_password

esp32_ble_tracker:
  scan_parameters:
    active: false

awox_mesh:
  mesh_name: !secret mesh_name
  mesh_password: !secret mesh_password
  device_info:
    - product_id: 0x30
      device_type: RGB
      name: "kid"
      model: EPanel_120
      manufacturer: EGLO

INFO Reading configuration /config/esphome/esp1.yaml...
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
WARNING GPIO2 is a Strapping PIN and should be avoided.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
Failed config

awox_mesh: [source /config/esphome/esp1.yaml:59]
  mesh_name: !secret mesh_name
  mesh_password: !secret mesh_password
  
  [device_info] is an invalid option for [awox_mesh]. Please check the indentation.
  device_info: 
    - product_id: 48
      device_type: RGB
      name: kid
      model: EPanel_120
      manufacturer: EGLO

Trying to connect to lights but fails the loops

Sorry was super late when I posted. I thought I explained better.
I am trying to connect a ESP32. To my Eglo lights.

I edited the .ymal file on the esp32 through esp32home.
I hit install and the .yaml compiles but then loops the below text.
None of the lights come as discovered in MQTT.
I am not sure what I am doing wrong.
Its my first time using ESPs or ESPHome.
I will post below my .yaml

[01:30:38][I][app:102]: ESPHome version 2023.7.1 compiled on Aug 10 2023, 01:25:25
[01:30:38][C][status_led:019]: Status LED:
[01:30:38][C][status_led:020]: Pin: GPIO2
[01:30:38][C][wifi:543]: WiFi:
[01:30:38][C][wifi:379]: Local MAC: 40:91:51:FD:08:88
[01:30:38][C][wifi:380]: SSID: [redacted]
[01:30:38][C][wifi:381]: IP Address: 192.168.50.30
[01:30:38][C][wifi:383]: BSSID: [redacted]
[01:30:38][C][wifi:384]: Hostname: 'awox-ble-mesh-hub'
[01:30:38][C][wifi:386]: Signal strength: -54 dB ▂▄▆█
[01:30:38][C][wifi:390]: Channel: 8
[01:30:38][C][wifi:391]: Subnet: 255.255.255.0
[01:30:38][C][wifi:392]: Gateway: 192.168.50.1
[01:30:38][C][wifi:393]: DNS1: 0.0.0.0
[01:30:38][C][wifi:394]: DNS2: 0.0.0.0
[01:30:38][C][logger:301]: Logger:
[01:30:38][C][logger:302]: Level: DEBUG
[01:30:38][C][logger:303]: Log Baud Rate: 115200
[01:30:38][C][logger:305]: Hardware UART: UART0
[01:30:38][C][esp32_ble:238]: ESP32 BLE:
[01:30:38][C][esp32_ble:240]: MAC address: 40:91:51:FD:08:8A
[01:30:38][C][esp32_ble:241]: IO Capability: none
[01:30:38][C][esp32_ble_tracker:616]: BLE Tracker:
[01:30:38][C][esp32_ble_tracker:617]: Scan Duration: 300 s
[01:30:38][C][esp32_ble_tracker:618]: Scan Interval: 320.0 ms
[01:30:38][C][esp32_ble_tracker:619]: Scan Window: 30.0 ms
[01:30:38][C][esp32_ble_tracker:620]: Scan Type: PASSIVE
[01:30:38][C][esp32_ble_tracker:621]: Continuous Scanning: True
[01:30:39][C][mdns:112]: mDNS:
[01:30:39][C][mdns:113]: Hostname: awox-ble-mesh-hub
[01:30:39][C][ota:093]: Over-The-Air Updates:
[01:30:39][C][ota:094]: Address: 192.168.50.30:3232
[01:30:39][C][ota:097]: Using Password.
[01:30:39][W][ota:103]: Last Boot was an unhandled reset, will proceed to safe mode in 6 restarts
[01:30:39][C][mqtt:127]: MQTT:
[01:30:39][C][mqtt:129]: Server Address: 192.168.50.20:1883 (192.168.50.20)
[01:30:39][C][mqtt:130]: Username: [redacted]
[01:30:39][C][mqtt:131]: Client ID: [redacted]
[01:30:39][C][mqtt:133]: Discovery prefix: 'homeassistant'
[01:30:39][C][mqtt:134]: Discovery retain: YES
[01:30:39][C][mqtt:136]: Topic Prefix: 'awox-ble-mesh-hub'
[01:30:39][C][mqtt:138]: Log Topic: 'awox-ble-mesh-hub/debug'
[01:30:39][C][mqtt:141]: Availability: 'awox-ble-mesh-hub/status'
[01:30:58][I][AwoxMesh:071]: Failed to connect A4:C1:38:99:B0:CB => rssi: -65
[01:30:58][I][esp32_ble_client:081]: [0] [A4:C1:38:99:B0:CB] Disconnecting.
[01:30:58][I][MeshDevice:155]: DISCONNECTING
[01:30:58][I][mesh_device:475]: Publish connected to mesh device - offline
[01:30:58][D][AwoxMesh:057]: Total devices: 4
[01:30:58][D][AwoxMesh:059]: Available device A4:C1:38:99:B0:CB => rssi: -66
[01:30:58][D][AwoxMesh:059]: Available device A4:C1:38:D9:8C:92 => rssi: -70
[01:30:58][D][AwoxMesh:059]: Available device A4:C1:38:FD:4C:DF => rssi: -82
[01:30:58][D][AwoxMesh:059]: Available device A4:C1:38:BE:DE:45 => rssi: -88
[01:30:58][I][AwoxMesh:063]: Try to connect A4:C1:38:99:B0:CB => rssi: -66
[01:30:58][I][mesh_device:475]: Publish connected to mesh device - offline
[01:30:58][I][esp32_ble_client:064]: [0] [A4:C1:38:99:B0:CB] 0x00 Attempting BLE connection
[01:30:58][I][MeshDevice:175]: CONNECTING
[01:30:58][W][component:204]: Component awox_mesh took a long time for an operation (0.06 s).
[01:30:58][W][component:205]: Components should block for at most 20-30ms.
[01:31:08][I][MeshDevice:159]: IDLE
[01:31:08][D][mesh_device:144]: [0] [A4:C1:38:99:B0:CB] ESP_GATTC_DISCONNECT_EVT, reason 0
[01:31:08][W][esp32_ble_client:134]: [0] [A4:C1:38:99:B0:CB] Connection failed, status=133
[01:31:08][I][MeshDevice:159]: IDLE
[01:31:08][D][esp32_ble_client:048]: [0] [A4:C1:38:99:B0:CB] Found device
[01:31:08][I][MeshDevice:167]: DISCOVERED
[01:31:08][D][esp32_ble_tracker:213]: Pausing scan to make connection...
[01:31:08][I][MeshDevice:171]: READY_TO_CONNECT
[01:31:08][I][esp32_ble_client:064]: [0] [A4:C1:38:99:B0:CB] 0x00 Attempting BLE connection
[01:31:08][I][MeshDevice:175]: CONNECTING
[01:31:31][I][mqtt:286]: MQTT Connected!
[01:31:31][I][app:062]: setup() finished successfully!

Error: The program size is greater than maximum allowed

Bildschirmfoto 2024-01-18 um 00 52 44

I'm getting this Error when trying to install the following yaml:

esphome:
  name: esphome-awox-mesh
  friendly_name: AwoX Mesh ESP32

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  #level: VERY_VERBOSE

mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_user
  password: !secret mqtt_password

# Disable Home Assistant API to prevent frequent MQTT disconnections
#api:

ota:
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

external_components:
  - source:
      type: git
      url: https://github.com/fsaris/EspHome-AwoX-BLE-mesh-hub


esp32_ble_tracker:
  scan_parameters:
    active: false

awox_mesh:
  mesh_name: !secret mesh_name
  mesh_password: !secret mesh_password

  device_info:
    # Example device type, see device info in HomeAssistant or MQTT message to find the 'product_id'
    -  product_id: 0x3F
       device_type: RGB
       name: EGLO Surface round
       model: EFueva_225r
       manufacturer: EGLO

Can anyone please help me with this?

Update ESPHome to 2024.2.0

Hello @fsaris

There seems to be some problem after ESPHome update.
ESP is not able to connect to mesh. Below you can find logs but I am not sure if it will be useful somehow.

I will try to roll back to previous version once I get home later today.
logs_awox-ble-mesh-hub_run.txt

I have found this regarding BLE in release notes so maybe it has something to do with this issue.
esphome/esphome#5277

[BUG] EGLO PLUG PLUS in unknown state

Hello @fsaris

There is a minor bug I would say but I don't know if only with eglo plug or in gerenal with switch entities.
Anyway sometimes when HA or MQTT add-on restarts, mainly because of some update, my eglo plug is then in unknown state.
However when I call turn on/off service from HA the plug is correctly turned on/off and the state is then reported correctly.
This is never happened with lights.

Unfortunatelly I don't have any logs collected so far.
I will try to collect them but it's not happening with every restart so it might be tricky.

image

NO devices discovered

I've tried ti configure my awox devices and followed documentation.

I noticed that on the build I see some warnings

Also I believe the connection to MQTT Broker is working, as per the logs:
image

THis is my configuration:

esphome:
name: esphome-web-719788
friendly_name: Awox

esp32:
board: esp32dev
framework:
type: esp-idf

ota:

logger:

mqtt:
broker: core-mosquitto
username: username
password: password

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

external_components:

esp32_ble_tracker:
scan_parameters:
active: false

awox_mesh:
mesh_name: meshname
mesh_password: meshpassword
device_info:
# Example device type, see device info in HomeAssistant or MQTT message to find the 'product_id'
- product_id: 0x26
device_type: RGB
manufacturer: EGLO
name: EGLOPanel 60X60
model: EPanel_600

Can you please help? What am I doing wrong?

[BUG] Single light triggers whole group

Hello @fsaris.

Sorry to bother again but I have noticed today some strange behaviour.
My problem is when I turn on a single light it will after a second turn on the rest of the lights in the group defined in Awox app.
No trigger from HA.
For example I have 3 lights in office, I turn on light above my desk and second later the other two lights are turned on.

Found out that this is happening only when the group for that zone/area is enabled. But there is more detail.

In #58 I mentioned the groups are duplicated for me and with this issue the duplication is kind of related I would say.
This behaviour is only happening when groups created from zones/areas are enabled.
When I disabled them and enabled the groups created from remote controllers it's working as usual.

Below is a log when one light was turned on and other 2 followed:
image

missing files

I am already using your integration for HACS but my lamp takes like 10 minutes to go on/offline or randomly disconnects. I now wanted to try this mesh hub thing but I can't find /config/.storage . I already enabled hidden files but I won't show up.
please help.

Problem solved

Howto use this custom component

          Dear Frans,

first of all, thanks for your efforts. Also, I have an Olimex ESP32-POE-EA device that I wanted to use as a bluetooth proxy especially for EGLO lamps. However, at the moment I have not been able to establish a connection with your old integration, but I would be happy to help you test the MQTT version. I tried to flash it but couldn't really get past the compilation. How could I help you?

Thanks in advance!

Originally posted by @4D4M-Github in fsaris/home-assistant-awox#67 (comment)

Light panel changes colour by itself after a while

Whenever I turn off my light panel electrically and turn it back on, it is always red at first (which is fine, I guess).
I can change the colour just fine using HA with your component, but after a few minutes the light changes colour by itself.
The changes don't seem arbitrary, each colour is displayed for a few seconds, and it cycles in patterns.

I haven't connected the panel to an Awox account because I don't know how to find out the mesh password there.
Is this some kind of demo mode? How can I find out mesh name and password when it is not the default after factory reset?

MQTT disconnecting every few seconds

Hello

This probably isn't an issue with this component but still wanted to ask if someone experiences the same issue.
MQTT seems to reconnect every few seconds which then obviously leads to the Light entity being unavailable for a short amount of time:

[13:36:45][W][mqtt:264]: MQTT Disconnected: TCP disconnected.
[13:36:45][I][mqtt:176]: Connecting to MQTT...
[13:36:45][I][mqtt:216]: MQTT Connected!
[13:37:27][W][mqtt:264]: MQTT Disconnected: TCP disconnected.
[13:37:27][I][mqtt:176]: Connecting to MQTT...
[13:37:28][I][mqtt:216]: MQTT Connected!

Compiling of ESPHome fails with 3 errors

This is my ESPHome File:

 esp32:
  board: wemos_d1_mini32
substitutions:
  name: esp32-bluetooth-proxy-35ba64
packages:
  esphome.bluetooth-proxy: github://esphome/bluetooth-proxies/esp32-generic.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  compile_process_limit: 2

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

bluetooth_proxy:
  active: true

mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_user
  password: !secret mqtt_password
  
esp32_ble_tracker:
  scan_parameters:
    interval: 1100ms
    window: 1100ms
    active: true

api:
  encryption:
    key: "<redacted>"


logger:
  level: debug
  


external_components:
  source: github://fsaris/EspHome-AwoX-BLE-mesh-hub

awox_mesh:
  mesh_name: !secret mesh_name
  mesh_password: !secret mesh_password
  address_prefix: A4:C1:38:74:7C:A7
  device_info:
    # Example device type, see device info in HomeAssistant or MQTT message to find the 'product_id'
    - product_id: 0x30
      device_type: RGB
      manufacturer: EGLO
      name: EGLOPanel 30X120
      model: EPanel_120
      icon: mdi:wall-sconce-flat

This is the error:

HARDWARE:` ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40405.230623 (4.4.5) 
 - tool-cmake @ 3.16.9 
 - tool-ninja @ 1.10.2 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
Dependency Graph
|-- noise-c @ 0.1.4
|-- ArduinoJson @ 6.18.5
|-- Improv @ 1.2.3
Compiling /data/esp32-bluetooth-proxy-35ba64/.pioenvs/esp32-bluetooth-proxy-35ba64/src/esphome/components/awox_mesh/awox_mesh.o
Compiling /data/esp32-bluetooth-proxy-35ba64/.pioenvs/esp32-bluetooth-proxy-35ba64/src/esphome/components/awox_mesh/mesh_device.o
src/esphome/components/awox_mesh/awox_mesh.cpp:1:9: warning: #pragma once in main file
 #pragma once
         ^~~~
In file included from src/esphome/components/awox_mesh/awox_mesh.cpp:7:
src/esphome/components/awox_mesh/awox_mesh.h:8:10: fatal error: AES.h: No such file or directory

*************************************************************
* Looking for AES.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:AES.h"
* Web  > https://registry.platformio.org/search?q=header:AES.h
*
*************************************************************

 #include <AES.h>
          ^~~~~~~
compilation terminated.
*** [/data/esp32-bluetooth-proxy-35ba64/.pioenvs/esp32-bluetooth-proxy-35ba64/src/esphome/components/awox_mesh/awox_mesh.o] Error 1
src/esphome/components/awox_mesh/mesh_device.cpp:8:10: fatal error: AES.h: No such file or directory

*************************************************************
* Looking for AES.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:AES.h"
* Web  > https://registry.platformio.org/search?q=header:AES.h
*
*************************************************************

 #include <AES.h>
          ^~~~~~~
compilation terminated.
*** [/data/esp32-bluetooth-proxy-35ba64/.pioenvs/esp32-bluetooth-proxy-35ba64/src/esphome/components/awox_mesh/mesh_device.o] Error 1
========================= [FAILED] Took 22.44 seconds =========================

What can I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.