feat: Move to ESP-IDF framework #35
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The ESP-IDF framework is smaller than the arduino framework, so has a
few features missing. But we now fit in memory again on ESPHome
2025.7.0+
Additionally:
Signed-off-by: Dan Webb dan.webb@damacus.io
Install logs here
INFO ESPHome 2025.7.2 INFO Reading configuration /config/unity-livingroom.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 WARNING GPIO9 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 192.168.1.70 using esphome API INFO Successfully resolved unity-office @ 192.168.1.70 in 0.000s INFO Successfully connected to unity-office @ 192.168.1.70 in 0.127s INFO Successful handshake with unity-office @ 192.168.1.70 in 0.056s [11:40:11][I][app:164]: ESPHome version 2025.7.2 compiled on Jul 22 2025, 11:35:45 [11:40:11][I][app:166]: Project LoopOn.Unity version 1.2.17 [11:40:11][C][wifi:613]: WiFi: [11:40:11][C][wifi:434]: Local MAC: C0:4E:30:B9:9C:BC [11:40:11][C][wifi:439]: SSID: 'ironstone-3'[redacted] [11:40:11][C][wifi:442]: IP Address: 192.168.1.70 [11:40:11][C][wifi:446]: BSSID: 9C:05:D6:E7:AF:ED[redacted] [11:40:11][C][wifi:446]: Hostname: 'unity-office' [11:40:11][C][wifi:446]: Signal strength: -69 dB ▂▄▆█ [11:40:11][C][wifi:455]: Channel: 1 [11:40:11][C][wifi:455]: Subnet: 255.255.255.0 [11:40:11][C][wifi:455]: Gateway: 192.168.1.254 [11:40:11][C][wifi:455]: DNS1: 192.168.1.254 [11:40:11][C][wifi:455]: DNS2: 0.0.0.0 [11:40:11][C][logger:246]: Logger: [11:40:11][C][logger:246]: Max Level: DEBUG [11:40:11][C][logger:246]: Initial Level: DEBUG [11:40:11][C][logger:252]: Log Baud Rate: 115200 [11:40:11][C][logger:252]: Hardware UART: USB_SERIAL_JTAG [11:40:11][C][logger:259]: Task Log Buffer Size: 768 [11:40:11][C][i2c.idf:083]: I2C Bus: [11:40:11][C][i2c.idf:084]: SDA Pin: GPIO5 [11:40:11][C][i2c.idf:084]: SCL Pin: GPIO6 [11:40:11][C][i2c.idf:084]: Frequency: 50000 Hz [11:40:11][C][i2c.idf:094]: Recovery: bus successfully recovered [11:40:11][C][uart.idf:155]: UART Bus 0: [11:40:11][C][uart.idf:156]: TX Pin: GPIO21 [11:40:11][C][uart.idf:157]: RX Pin: GPIO20 [11:40:11][C][uart.idf:159]: RX Buffer Size: 256 [11:40:11][C][uart.idf:161]: Baud Rate: 256000 baud [11:40:11][C][uart.idf:161]: Data Bits: 8 [11:40:11][C][uart.idf:161]: Parity: NONE [11:40:11][C][uart.idf:161]: Stop bits: 1 [11:40:11][C][esp32_rmt_led_strip:268]: ESP32 RMT LED Strip: [11:40:11][C][esp32_rmt_led_strip:268]: Pin: 2 [11:40:11][C][esp32_rmt_led_strip:272]: RMT Symbols: 96 [11:40:11][C][esp32_rmt_led_strip:297]: RGB Order: GRB [11:40:11][C][esp32_rmt_led_strip:297]: Max refresh rate: 0 [11:40:11][C][esp32_rmt_led_strip:297]: Number of LEDs: 1 [11:40:11][C][template.text_sensor:020]: Template Sensor 'Unity Config Version' [11:40:11][C][template.text_sensor:020]: Icon: 'mdi:tag' [11:40:11][C][gpio.binary_sensor:052]: GPIO Binary Sensor 'Unity Button' [11:40:11][C][gpio.binary_sensor:053]: Pin: GPIO9 [11:40:11][C][gpio.binary_sensor:055]: Mode: interrupt [11:40:11][C][gpio.binary_sensor:072]: Interrupt Type: ANY_EDGE [11:40:11][C][template.number:050]: Template Number 'Unity Human Distance Range' [11:40:11][C][template.number:050]: Icon: 'mdi:arrow-left-right' [11:40:11][C][template.number:050]: Unit of Measurement: 'm' [11:40:11][C][template.number:051]: Optimistic: YES [11:40:11][C][template.number:052]: Update Interval: never [11:40:11][C][template.number:050]: Template Number 'Unity Human Clear Delay' [11:40:11][C][template.number:050]: Icon: 'mdi:timer' [11:40:11][C][template.number:050]: Unit of Measurement: 's' [11:40:11][C][template.number:051]: Optimistic: YES [11:40:11][C][template.number:052]: Update Interval: never [11:40:11][C][template.number:050]: Template Number 'Unity Moving Human Sensitivity Threshold' [11:40:11][C][template.number:050]: Icon: 'mdi:car-cruise-control' [11:40:11][C][template.number:050]: Unit of Measurement: '%' [11:40:11][C][template.number:051]: Optimistic: YES [11:40:11][C][template.number:052]: Update Interval: never [11:40:11][C][template.number:050]: Template Number 'Unity Still Human Sensitivity Threshold' [11:40:11][C][template.number:050]: Icon: 'mdi:car-cruise-control' [11:40:11][C][template.number:050]: Unit of Measurement: '%' [11:40:11][C][template.number:051]: Optimistic: YES [11:40:11][C][template.number:052]: Update Interval: never [11:40:11][C][template.number:050]: Template Number 'Unity Temperature Offset' [11:40:11][C][template.number:050]: Icon: 'mdi:thermometer' [11:40:11][C][template.number:050]: Unit of Measurement: '°C' [11:40:11][C][template.number:051]: Optimistic: YES [11:40:11][C][template.number:052]: Update Interval: never [11:40:11][C][template.number:050]: Template Number 'Unity Humidity Offset' [11:40:11][C][template.number:050]: Icon: 'mdi:water-percent' [11:40:11][C][template.number:050]: Unit of Measurement: '%' [11:40:11][C][template.number:051]: Optimistic: YES [11:40:11][C][template.number:052]: Update Interval: never [11:40:11][C][template.number:050]: Template Number 'Unity Illuminance Offset' [11:40:11][C][template.number:050]: Icon: 'mdi:brightness-5' [11:40:11][C][template.number:050]: Unit of Measurement: 'lx' [11:40:12][C][light:092]: Light 'Unity Light' [11:40:12][C][light:094]: Default Transition Length: 1.0s [11:40:12][C][light:094]: Gamma Correct: 2.80 [11:40:12][C][ld2410:015]: LD2410: [11:40:12][C][ld2410:017]: HasTargetSensor 'Unity Has Human Target' [11:40:12][C][ld2410:017]: Device Class: 'occupancy' [11:40:12][C][ld2410:018]: MovingSensor 'Unity Has Moving Human Target' [11:40:12][C][ld2410:018]: Device Class: 'motion' [11:40:12][C][ld2410:019]: StillSensor 'Unity Has Still Human Target' [11:40:12][C][ld2410:019]: Device Class: 'occupancy' [11:40:12][C][ld2410:022]: Moving Distance 'Unity Moving Human Distance' [11:40:12][C][ld2410:022]: State Class: '' [11:40:12][C][ld2410:022]: Unit of Measurement: 'cm' [11:40:12][C][ld2410:022]: Accuracy Decimals: 0 [11:40:12][C][ld2410:022]: Device Class: 'distance' [11:40:12][C][ld2410:023]: Still Distance 'Unity Still Human Distance' [11:40:12][C][ld2410:023]: State Class: '' [11:40:12][C][ld2410:023]: Unit of Measurement: 'cm' [11:40:12][C][ld2410:023]: Accuracy Decimals: 0 [11:40:12][C][ld2410:023]: Device Class: 'distance' [11:40:12][C][ld2410:024]: Moving Energy 'Unity Moving Human Energy' [11:40:12][C][ld2410:024]: State Class: '' [11:40:12][C][ld2410:024]: Unit of Measurement: '%' [11:40:12][C][ld2410:024]: Accuracy Decimals: 0 [11:40:12][C][ld2410:024]: Device Class: 'energy' [11:40:12][C][ld2410:025]: Still Energy 'Unity Still Human Energy' [11:40:12][C][ld2410:025]: State Class: '' [11:40:12][C][ld2410:025]: Unit of Measurement: '%' [11:40:12][C][ld2410:025]: Accuracy Decimals: 0 [11:40:12][C][ld2410:025]: Device Class: 'energy' [11:40:12][C][ld2410:026]: Detection Distance 'Unity Human Detection Distance' [11:40:12][C][ld2410:026]: State Class: '' [11:40:12][C][ld2410:026]: Unit of Measurement: 'cm' [11:40:12][C][ld2410:026]: Accuracy Decimals: 0 [11:40:12][C][ld2410:026]: Device Class: 'distance' [11:40:12][C][ld2410:031]: Firmware Version : 2.5.353616 [11:40:12][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is OFF [11:40:12][D][sensor:104]: 'Unity Moving Human Energy': Sending state 0.00000 % with 0 decimals of accuracy [11:40:12][C][internal_temperature:108]: Internal Temperature Sensor 'Unity Internal Temperature' [11:40:12][C][internal_temperature:108]: State Class: 'measurement' [11:40:12][C][internal_temperature:108]: Unit of Measurement: '°C' [11:40:12][C][internal_temperature:108]: Accuracy Decimals: 1 [11:40:12][C][internal_temperature:108]: Device Class: 'temperature' [11:40:12][C][internal_temperature:108]: Icon: 'mdi:thermometer' [11:40:12][C][hdc1080:031]: HDC1080: [11:40:12][C][hdc1080:032]: Address: 0x40 [11:40:12][C][hdc1080:036]: Update Interval: 12.0s [11:40:12][C][hdc1080:037]: Temperature 'Unity Temperature' [11:40:12][C][hdc1080:037]: State Class: 'measurement' [11:40:12][C][hdc1080:037]: Unit of Measurement: '°C' [11:40:12][C][hdc1080:037]: Accuracy Decimals: 1 [11:40:12][C][hdc1080:037]: Device Class: 'temperature' [11:40:12][C][hdc1080:038]: Humidity 'Unity Humidity' [11:40:12][C][hdc1080:038]: State Class: 'measurement' [11:40:12][C][hdc1080:038]: Unit of Measurement: '%' [11:40:12][C][hdc1080:038]: Accuracy Decimals: 0 [11:40:12][C][hdc1080:038]: Device Class: 'humidity' [11:40:12][C][restart.button:017]: Restart Button 'Unity Restart' [11:40:12][C][restart.button:017]: Icon: 'mdi:restart' [11:40:12][C][factory_reset.button:011]: Factory Reset Button 'Unity Factory Reset' [11:40:12][C][factory_reset.button:011]: Icon: 'mdi:restart-alert' [11:40:12][C][bh1750.sensor:118]: BH1750 'Unity Illuminance' [11:40:12][C][bh1750.sensor:118]: State Class: 'measurement' [11:40:12][C][bh1750.sensor:118]: Unit of Measurement: 'lx' [11:40:12][C][bh1750.sensor:118]: Accuracy Decimals: 1 [11:40:12][C][bh1750.sensor:118]: Device Class: 'illuminance' [11:40:12][C][bh1750.sensor:119]: Address: 0x23 [11:40:12][C][bh1750.sensor:124]: Update Interval: 60.0s [11:40:12][C][esp32_ble:524]: Bluetooth stack is not enabled [11:40:12][C][esp32_ble_server:195]: ESP32 BLE Server: [11:40:12][C][esp32_improv.component:275]: ESP32 Improv: [11:40:12][C][esp32_improv.component:280]: Status Indicator: 'YES' [11:40:12][C][captive_portal:099]: Captive Portal: [11:40:12][C][esphome.ota:073]: Over-The-Air updates: [11:40:12][C][esphome.ota:073]: Address: unity-office.local:3232 [11:40:12][C][esphome.ota:073]: Version: 2 [11:40:12][C][safe_mode:018]: Safe Mode: [11:40:12][C][safe_mode:019]: Boot considered successful after 60 seconds [11:40:12][C][safe_mode:019]: Invoke after 10 boot attempts [11:40:12][C][safe_mode:019]: Remain for 300 seconds [11:40:12][C][web_server.ota:224]: Web Server OTA [11:40:12][C][api:207]: API Server: [11:40:12][C][api:207]: Address: unity-office.local:6053 [11:40:12][C][api:212]: Using noise encryption: YES [11:40:12][C][improv_serial:032]: Improv Serial: [11:40:12][C][wifi_info:010]: IP Address 'Unity IP Address' [11:40:12][C][wifi_info:010]: Icon: 'mdi:wan' [11:40:12][C][wifi_signal.sensor:010]: WiFi Signal 'Unity WiFi Signal' [11:40:12][C][wifi_signal.sensor:010]: State Class: 'measurement' [11:40:12][C][wifi_signal.sensor:010]: Unit of Measurement: 'dBm' [11:40:12][C][wifi_signal.sensor:010]: Accuracy Decimals: 0 [11:40:12][C][wifi_signal.sensor:010]: Device Class: 'signal_strength' [11:40:12][C][mdns:122]: mDNS: [11:40:12][C][mdns:122]: Hostname: unity-office [11:40:13][D][sensor:104]: 'Unity Moving Human Distance': Sending state 53.00000 cm with 0 decimals of accuracy [11:40:13][D][sensor:104]: 'Unity Still Human Distance': Sending state 53.00000 cm with 0 decimals of accuracy [11:40:13][D][sensor:104]: 'Unity Human Detection Distance': Sending state 31.00000 cm with 0 decimals of accuracy [11:40:14][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is ON [11:40:14][D][sensor:104]: 'Unity Moving Human Distance': Sending state 150.00000 cm with 0 decimals of accuracy [11:40:14][D][sensor:104]: 'Unity Moving Human Energy': Sending state 28.00000 % with 0 decimals of accuracy [11:40:14][D][sensor:104]: 'Unity Still Human Distance': Sending state 150.00000 cm with 0 decimals of accuracy [11:40:14][D][sensor:104]: 'Unity Human Detection Distance': Sending state 68.00000 cm with 0 decimals of accuracy [11:40:15][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is OFF [11:40:15][D][sensor:104]: 'Unity Moving Human Energy': Sending state 0.00000 % with 0 decimals of accuracy [11:40:15][D][sensor:104]: 'Unity Human Detection Distance': Sending state 116.00000 cm with 0 decimals of accuracy [11:40:16][D][sensor:104]: 'Unity Human Detection Distance': Sending state 127.00000 cm with 0 decimals of accuracy [11:40:16][D][bh1750.sensor:159]: 'Unity Illuminance': Illuminance=16.1lx [11:40:16][D][sensor:104]: 'Unity Illuminance': Sending state 16.07283 lx with 1 decimals of accuracy [11:40:18][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is ON [11:40:18][D][sensor:104]: 'Unity Moving Human Distance': Sending state 70.00000 cm with 0 decimals of accuracy [11:40:18][D][sensor:104]: 'Unity Moving Human Energy': Sending state 97.00000 % with 0 decimals of accuracy [11:40:19][D][sensor:104]: 'Unity Moving Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:19][D][sensor:104]: 'Unity Moving Human Energy': Sending state 72.00000 % with 0 decimals of accuracy [11:40:19][D][sensor:104]: 'Unity Still Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:19][D][sensor:104]: 'Unity Human Detection Distance': Sending state 53.00000 cm with 0 decimals of accuracy [11:40:20][D][sensor:104]: 'Unity Moving Human Distance': Sending state 62.00000 cm with 0 decimals of accuracy [11:40:20][D][sensor:104]: 'Unity Moving Human Energy': Sending state 100.00000 % with 0 decimals of accuracy [11:40:20][D][sensor:104]: 'Unity Still Human Distance': Sending state 59.00000 cm with 0 decimals of accuracy [11:40:20][D][sensor:104]: 'Unity Human Detection Distance': Sending state 37.00000 cm with 0 decimals of accuracy [11:40:21][D][sensor:104]: 'Unity Moving Human Distance': Sending state 54.00000 cm with 0 decimals of accuracy [11:40:21][D][sensor:104]: 'Unity Moving Human Energy': Sending state 92.00000 % with 0 decimals of accuracy [11:40:21][D][sensor:104]: 'Unity Still Human Distance': Sending state 45.00000 cm with 0 decimals of accuracy [11:40:21][D][sensor:104]: 'Unity Human Detection Distance': Sending state 0.00000 cm with 0 decimals of accuracy [11:40:22][D][hdc1080:069]: Got temperature=41.7°C humidity=29.7% [11:40:22][D][sensor:104]: 'Unity Moving Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:22][D][sensor:104]: 'Unity Moving Human Energy': Sending state 100.00000 % with 0 decimals of accuracy [11:40:22][D][sensor:104]: 'Unity Still Human Distance': Sending state 69.00000 cm with 0 decimals of accuracy [11:40:23][D][sensor:104]: 'Unity Internal Temperature': Sending state 54.80000 °C with 1 decimals of accuracy [11:40:23][D][sensor:104]: 'Unity Moving Human Distance': Sending state 56.00000 cm with 0 decimals of accuracy [11:40:23][D][sensor:104]: 'Unity Moving Human Energy': Sending state 68.00000 % with 0 decimals of accuracy [11:40:23][D][sensor:104]: 'Unity Still Human Distance': Sending state 75.00000 cm with 0 decimals of accuracy [11:40:25][D][sensor:104]: 'Unity Moving Human Distance': Sending state 60.00000 cm with 0 decimals of accuracy [11:40:25][D][sensor:104]: 'Unity Moving Human Energy': Sending state 72.00000 % with 0 decimals of accuracy [11:40:25][D][sensor:104]: 'Unity Still Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:26][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is OFF [11:40:26][D][sensor:104]: 'Unity Moving Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:26][D][sensor:104]: 'Unity Moving Human Energy': Sending state 0.00000 % with 0 decimals of accuracy [11:40:26][D][sensor:104]: 'Unity Still Human Distance': Sending state 195.00000 cm with 0 decimals of accuracy [11:40:26][D][sensor:104]: 'Unity Human Detection Distance': Sending state 102.00000 cm with 0 decimals of accuracy [11:40:26][D][sensor:104]: 'Unity WiFi Signal': Sending state -69.00000 dBm with 0 decimals of accuracy [11:40:27][D][sensor:104]: 'Unity Moving Human Distance': Sending state 68.00000 cm with 0 decimals of accuracy [11:40:27][D][sensor:104]: 'Unity Still Human Distance': Sending state 68.00000 cm with 0 decimals of accuracy [11:40:27][D][sensor:104]: 'Unity Human Detection Distance': Sending state 140.00000 cm with 0 decimals of accuracy [11:40:28][D][sensor:104]: 'Unity Moving Human Distance': Sending state 150.00000 cm with 0 decimals of accuracy [11:40:28][D][sensor:104]: 'Unity Moving Human Energy': Sending state 22.00000 % with 0 decimals of accuracy [11:40:28][D][sensor:104]: 'Unity Still Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:28][D][sensor:104]: 'Unity Human Detection Distance': Sending state 54.00000 cm with 0 decimals of accuracy [11:40:29][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is ON [11:40:29][D][sensor:104]: 'Unity Moving Human Distance': Sending state 72.00000 cm with 0 decimals of accuracy [11:40:29][D][sensor:104]: 'Unity Moving Human Energy': Sending state 91.00000 % with 0 decimals of accuracy [11:40:29][D][sensor:104]: 'Unity Human Detection Distance': Sending state 0.00000 cm with 0 decimals of accuracy [11:40:30][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is OFF [11:40:30][D][sensor:104]: 'Unity Moving Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:30][D][sensor:104]: 'Unity Moving Human Energy': Sending state 0.00000 % with 0 decimals of accuracy [11:40:31][D][binary_sensor:026]: 'Unity Has Moving Human Target': New state is ON [11:40:31][D][sensor:104]: 'Unity Moving Human Energy': Sending state 99.00000 % with 0 decimals of accuracy [11:40:31][D][sensor:104]: 'Unity Still Human Distance': Sending state 62.00000 cm with 0 decimals of accuracy [11:40:31][D][sensor:104]: 'Unity Human Detection Distance': Sending state 44.00000 cm with 0 decimals of accuracy [11:40:32][D][sensor:104]: 'Unity Moving Human Distance': Sending state 53.00000 cm with 0 decimals of accuracy [11:40:32][D][sensor:104]: 'Unity Moving Human Energy': Sending state 52.00000 % with 0 decimals of accuracy [11:40:32][D][sensor:104]: 'Unity Still Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:32][D][sensor:104]: 'Unity Human Detection Distance': Sending state 35.00000 cm with 0 decimals of accuracy [11:40:33][D][sensor:104]: 'Unity Moving Human Distance': Sending state 30.00000 cm with 0 decimals of accuracy [11:40:33][D][sensor:104]: 'Unity Moving Human Energy': Sending state 81.00000 % with 0 decimals of accuracy [11:40:34][D][sensor:104]: 'Unity Moving Human Distance': Sending state 65.00000 cm with 0 decimals of accuracy [11:40:34][D][sensor:104]: 'Unity Moving Human Energy': Sending state 100.00000 % with 0 decimals of accuracy [11:40:34][D][sensor:104]: 'Unity Human Detection Distance': Sending state 33.00000 cm with 0 decimals of accuracy [11:40:34][D][hdc1080:069]: Got temperature=41.8°C humidity=29.7% [11:40:35][D][sensor:104]: 'Unity Moving Human Distance': Sending state 71.00000 cm with 0 decimals of accuracy [11:40:35][D][sensor:104]: 'Unity Still Human Distance': Sending state 58.00000 cm with 0 decimals of accuracy [11:40:35][D][sensor:104]: 'Unity Human Detection Distance': Sending state 38.00000 cm with 0 decimals of accuracy