ratgdo / esphome-ratgdo

ratgdo for ESPHome
GNU General Public License v2.0
308 stars 75 forks source link

FirmUpdate Question. #236

Open C4Wiz opened 2 months ago

C4Wiz commented 2 months ago

im sure this has been covered before, but i just bought the device for use with control4. i got it up and running no problem with the web installer. but how do i update the firmware via the GUI of the device itself? i see a OTA button, but i does not say anywhere what the current firmware is nor do i see a place to download it from?

Screenshot 2024-03-02 at 10 21 30 AM

alrassia commented 2 months ago

You can update the firmware from the esphome dashboard or through home assistant. To get the dashboard active check the installation manual for esphome in the documentation. It’s listed under bonus dashboard

C4Wiz commented 2 months ago

You can update the firmware from the esphome dashboard or through home assistant. To get the dashboard active check the installation manual for esphome in the documentation. It’s listed under bonus dashboard

Right, and where is the firmware found?

alrassia commented 2 months ago

That is automatically compiled based on your configuration for your device. You can choose to update wireless or receive the file to do it manually.

C4Wiz commented 2 months ago

That is automatically compiled based on your configuration for your device. You can choose to update wireless or receive the file to do it manually.

how? without home assistant?

PaulWieland commented 2 months ago

See here: https://github.com/ratgdo/esphome-ratgdo/issues/128#issuecomment-1929996365

C4Wiz commented 2 months ago

i don't use home assistant so thats not a option!

there is a ota button in the webui on the device itself, but where do i get the file from?

is it possible to add the firmware version and check for updates in the device ui?

PaulWieland commented 2 months ago

@C4Wiz the comment I linked you to explains how to find and download the firmware file. It even has a link to the .bin file for the v2.5 board / security + 2 protocol firmware.

C4Wiz commented 2 months ago

@C4Wiz the comment I linked you to explains how to find and download the firmware file. It even has a link to the .bin file for the v2.5 board / security + 2 protocol firmware.

there is no folder view no date updated, how do i know when it's newer then what i have installed? why not have the https://ratgdo.github.io/esphome-ratgdo/v25iboard-esp8266 folder accessable to see when the file was updated last and to download it?

currently without home assistant there is no way to see what firmware you are running or if a update is available!

PaulWieland commented 2 months ago

Firmware Build Date has been added to the web ui in the latest build, which will give you some idea of how old the firmware is. I need to investigate github actions and see if there is a way to push the built binaries into the releases section for manual download.

C4Wiz commented 2 months ago

Firmware Build Date has been added to the web ui in the latest build, which will give you some idea of how old the firmware is. I need to investigate github actions and see if there is a way to push the built binaries into the releases section for manual download.

Awesome, thank you. Is it possible to have a update available and update from the UI as well?

PaulWieland commented 2 months ago

I don’t think esp home supports that. The intent is to use the esphome dashboard to push updates.

C4Wiz commented 1 month ago

I don’t think esp home supports that. The intent is to use the esphome dashboard to push updates.

if i update via the esp home dashboard i get tons of:

[09:44:39][D][api.connection:145]: : Sending keepalive failed 2 time(s), will retry in 1000 ms [09:44:40][D][api.connection:145]: : Sending keepalive failed 3 time(s), will retry in 1000 ms [09:44:41][D][api.connection:145]: : Sending keepalive failed 4 time(s), will retry in 1000 ms [09:44:42][D][api.connection:145]: : Sending keepalive failed 5 time(s), will retry in 1000 ms [09:44:43][D][api.connection:145]: : Sending keepalive failed 6 time(s), will retry in 1000 ms [09:44:44][D][api.connection:145]: : Sending keepalive failed 7 time(s), will retry in 1000 ms [09:44:45][D][api.connection:145]: : Sending keepalive failed 8 time(s), will retry in 1000 ms [09:44:46][D][api.connection:145]: : Sending keepalive failed 9 time(s), will retry in 1000 ms [09:44:47][W][api.connection:142]: : Sending keepalive failed 10 time(s), will retry in 1000 ms

but if i download the firmware from above and update via the device itself i do not see this

EDIT:

Here is the complete update log from the ESPHome running in a docker container:

`INFO ESPHome 2024.3.1 INFO Reading configuration /config/ratgdov25i-1928eb.yaml... INFO Updating https://github.com/ratgdo/esphome-ratgdo@None INFO Updating https://github.com/ratgdo/esphome-ratgdo@None INFO Detected timezone 'America/Chicago' INFO Generating C++ source... INFO Compiling app... Processing ratgdov25i-1928eb (board: d1_mini; framework: arduino; platform: platformio/espressif8266@3.2.0)

HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash Dependency Graph |-- ESPAsyncTCP-esphome @ 2.0.0 |-- ESPAsyncWebServer-esphome @ 3.1.0 |-- ESP8266WiFi @ 1.0 |-- ESP8266mDNS @ 1.2 |-- ArduinoJson @ 6.18.5 |-- Secplus @ 1.0.0+sha.f98c322 |-- EspSoftwareSerial @ 8.1.0+sha.57f1aa7 |-- noise-c @ 0.1.4 |-- Improv @ 1.2.3 RAM: [===== ] 46.2% (used 37876 bytes from 81920 bytes) Flash: [====== ] 60.2% (used 628797 bytes from 1044464 bytes) ========================= [SUCCESS] Took 9.42 seconds ========================= INFO Successfully compiled program. INFO Connecting to 10.172.69.15 INFO Uploading /data/build/ratgdov25i-1928eb/.pioenvs/ratgdov25i-1928eb/firmware.bin (632944 bytes) INFO Compressed to 423074 bytes Uploading: [============================================================] 100% Done...

INFO Upload took 8.15 seconds, waiting for result... INFO OTA successful INFO Successfully uploaded program. INFO Starting log output from 10.172.69.15 using esphome API INFO Successfully connected to ratgdov25i-1928eb @ 10.172.69.15 in 31.856s INFO Successful handshake with ratgdov25i-1928eb @ 10.172.69.15 in 2.392s [10:03:40][I][app:102]: ESPHome version 2024.3.1 compiled on Mar 31 2024, 07:26:39 [10:03:40][I][app:104]: Project ratgdo.esphome version 2.5i

[10:03:40][C][wifi:408]: Local MAC: C8:C9:A3:19:28:EB [10:03:40][C][wifi:413]: SSID: [redacted] [10:03:40][C][wifi:416]: IP Address: 10.172.69.15 [10:03:40][C][wifi:419]: BSSID: [redacted]

[10:03:40][C][wifi:423]: Signal strength: -39 dB ▂▄▆█ [10:03:40][C][wifi:427]: Channel: 6 [10:03:40][C][wifi:428]: Subnet: 255.255.255.0 [10:03:40][C][wifi:429]: Gateway: 10.172.69.1 [10:03:40][C][wifi:430]: DNS1: 1.1.1.1 [10:03:40][C][wifi:431]: DNS2: 1.0.0.1

[10:03:40][C][logger:167]: Level: DEBUG [10:03:40][C][logger:169]: Log Baud Rate: 115200 [10:03:40][C][logger:170]: Hardware UART: UART0 [10:03:40][C][ratgdo.number:024]: RATGDO Number 'Rolling code counter' [10:03:40][C][ratgdo.number:024]: Unit of Measurement: 'codes' [10:03:40][C][ratgdo.number:028]: Type: Rolling Code Counter [10:03:40][C][ratgdo.number:024]: RATGDO Number 'Opening duration' [10:03:40][C][ratgdo.number:024]: Unit of Measurement: 's' [10:03:40][C][ratgdo.number:030]: Type: Opening Duration [10:03:40][C][ratgdo.number:024]: RATGDO Number 'Closing duration' [10:03:40][C][ratgdo.number:024]: Unit of Measurement: 's' [10:03:40][C][ratgdo.number:032]: Type: Closing Duration [10:03:40][C][ratgdo.number:024]: RATGDO Number 'Client ID' [10:03:40][C][ratgdo.number:026]: Type: Client ID [10:03:40][C][switch.gpio:068]: GPIO Switch 'Status door' [10:03:40][C][switch.gpio:090]: Restore Mode: always OFF [10:03:40][C][switch.gpio:031]: Pin: GPIO16 [10:03:40][C][switch.gpio:068]: GPIO Switch 'Status obstruction' [10:03:40][C][switch.gpio:090]: Restore Mode: always OFF [10:03:40][C][switch.gpio:031]: Pin: GPIO15 [10:03:40][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Dry contact open' [10:03:40][C][gpio.binary_sensor:016]: Pin: GPIO14 [10:03:40][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Dry contact close' [10:03:40][C][gpio.binary_sensor:016]: Pin: GPIO12 [10:03:40][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Dry contact light' [10:03:40][C][gpio.binary_sensor:016]: Pin: GPIO0

[10:03:40][C][version.text_sensor:021]: Version Text Sensor 'Firmware Version'

[10:03:40][C][ratgdo:082]: Setting up RATGDO... [10:03:40][C][ratgdo:083]: Output GDO Pin: GPIO5 [10:03:40][C][ratgdo:084]: Input GDO Pin: GPIO4 [10:03:40][C][ratgdo:088]: Input Obstruction Pin: GPIO13 [10:03:40][C][ratgdo_secplus2:059]: Rolling Code Counter: 21198 [10:03:40][C][ratgdo_secplus2:060]: Client ID: 2757945 [10:03:40][C][ratgdo_secplus2:061]: Protocol: SEC+ v2 [10:03:40][C][ratgdo.sensor:041]: RATGDO Sensor 'Openings' [10:03:40][C][ratgdo.sensor:041]: State Class: '' [10:03:40][C][ratgdo.sensor:041]: Unit of Measurement: 'openings' [10:03:40][C][ratgdo.sensor:041]: Accuracy Decimals: 0

[10:03:40][C][ratgdo.sensor:043]: Type: Openings [10:03:40][C][ratgdo.sensor:041]: RATGDO Sensor 'Paired Devices' [10:03:40][C][ratgdo.sensor:041]: State Class: '' [10:03:40][C][ratgdo.sensor:041]: Unit of Measurement: '' [10:03:40][C][ratgdo.sensor:041]: Accuracy Decimals: 0

[10:03:40][C][ratgdo.sensor:045]: Type: Paired Devices [10:03:40][C][ratgdo.lock:012]: RATGDO Lock 'Lock remotes' [10:03:40][C][ratgdo.lock:013]: Type: Lock [10:03:40][C][ratgdo.switch:068]: RATGDO Switch 'Learn'

[10:03:40][C][ratgdo.switch:090]: Restore Mode: always OFF [10:03:40][C][ratgdo.switch:014]: Type: Learn [10:03:41][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Motion' [10:03:41][C][ratgdo.binary_sensor:036]: Device Class: 'motion' [10:03:41][C][ratgdo.binary_sensor:038]: Type: Motion [10:03:41][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Obstruction' [10:03:41][C][ratgdo.binary_sensor:036]: Device Class: 'problem' [10:03:41][C][ratgdo.binary_sensor:040]: Type: Obstruction [10:03:41][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Button' [10:03:41][C][ratgdo.binary_sensor:044]: Type: Button [10:03:41][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Motor' [10:03:41][C][ratgdo.binary_sensor:036]: Device Class: 'running' [10:03:41][C][ratgdo.binary_sensor:042]: Type: Motor [10:03:41][C][ratgdo.cover:014]: RATGDO Cover 'Door' [10:03:41][C][ratgdo.cover:014]: Device Class: 'garage' [10:03:41][C][ratgdo.light:014]: RATGDO Light [10:03:41][C][restart.button:017]: Restart Button 'Restart' [10:03:41][C][safe_mode.button:022]: Safe Mode Button 'Safe mode boot'

[10:03:41][C][homeassistant.time:010]: Home Assistant Time:

[10:03:41][C][web_server:169]: Web Server: [10:03:41][C][web_server:170]: Address: ratgdov25i-1928eb.local:80

[10:03:41][C][mdns:116]: Hostname: ratgdov25i-1928eb [10:03:41][C][ota:096]: Over-The-Air Updates: [10:03:41][C][ota:097]: Address: ratgdov25i-1928eb.local:8266 [10:03:41][C][ota:103]: OTA version: 2. [10:03:41][C][api:139]: API Server: [10:03:41][C][api:140]: Address: ratgdov25i-1928eb.local:6053 [10:03:41][C][api:142]: Using noise encryption: YES [10:03:41][C][improv_serial:032]: Improv Serial: [10:04:03][D][esp8266.preferences:238]: Saving preferences to flash... [10:04:32][D][api.connection:145]: : Sending keepalive failed 1 time(s), will retry in 1000 ms [10:04:33][D][api.connection:145]: : Sending keepalive failed 2 time(s), will retry in 1000 ms [10:04:34][D][api.connection:145]: : Sending keepalive failed 3 time(s), will retry in 1000 ms [10:04:35][D][api.connection:145]: : Sending keepalive failed 4 time(s), will retry in 1000 ms [10:04:36][D][api.connection:145]: : Sending keepalive failed 5 time(s), will retry in 1000 ms [10:04:37][D][api.connection:145]: : Sending keepalive failed 6 time(s), will retry in 1000 ms [10:04:38][D][api.connection:145]: : Sending keepalive failed 7 time(s), will retry in 1000 ms [10:04:39][D][api.connection:145]: : Sending keepalive failed 8 time(s), will retry in 1000 ms [10:04:40][D][api.connection:145]: : Sending keepalive failed 9 time(s), will retry in 1000 ms [10:04:41][W][api.connection:142]: : Sending keepalive failed 10 time(s), will retry in 1000 ms [10:04:42][W][api.connection:142]: : Sending keepalive failed 11 time(s), will retry in 1000 ms [10:04:43][W][api.connection:142]: : Sending keepalive failed 12 time(s), will retry in 1000 ms [10:04:45][W][api.connection:142]: : Sending keepalive failed 13 time(s), will retry in 1000 ms [10:04:46][W][api.connection:142]: : Sending keepalive failed 14 time(s), will retry in 1000 ms [10:04:47][W][api.connection:142]: : Sending keepalive failed 15 time(s), will retry in 1000 ms [10:04:48][W][api.connection:142]: : Sending keepalive failed 16 time(s), will retry in 1000 ms [10:04:49][W][api.connection:142]: : Sending keepalive failed 17 time(s), will retry in 1000 ms [10:04:50][W][api.connection:142]: : Sending keepalive failed 18 time(s), will retry in 1000 ms [10:04:51][W][api.connection:142]: : Sending keepalive failed 19 time(s), will retry in 1000 ms [10:04:52][W][api.connection:142]: : Sending keepalive failed 20 time(s), will retry in 1000 ms [10:04:53][W][api.connection:142]: : Sending keepalive failed 21 time(s), will retry in 1000 ms [10:04:54][W][api.connection:142]: : Sending keepalive failed 22 time(s), will retry in 1000 ms [10:04:55][W][api.connection:142]: : Sending keepalive failed 23 time(s), will retry in 1000 ms [10:04:56][W][api.connection:142]: : Sending keepalive failed 24 time(s), will retry in 1000 ms [10:04:57][W][api.connection:142]: : Sending keepalive failed 25 time(s), will retry in 1000 ms [10:04:58][W][api.connection:142]: : Sending keepalive failed 26 time(s), will retry in 1000 ms [10:04:59][W][api.connection:142]: : Sending keepalive failed 27 time(s), will retry in 1000 ms [10:05:00][W][api.connection:142]: : Sending keepalive failed 28 time(s), will retry in 1000 ms [10:05:01][W][api.connection:142]: : Sending keepalive failed 29 time(s), will retry in 1000 ms [10:05:02][W][api.connection:142]: : Sending keepalive failed 30 time(s), will retry in 1000 ms [10:05:03][W][api.connection:142]: : Sending keepalive failed 31 time(s), will retry in 1000 ms [10:05:04][W][api.connection:142]: : Sending keepalive failed 32 time(s), will retry in 1000 ms [10:05:05][W][api.connection:142]: : Sending keepalive failed 33 time(s), will retry in 1000 ms [10:05:06][W][api.connection:142]: : Sending keepalive failed 34 time(s), will retry in 1000 ms [10:05:07][W][api.connection:142]: : Sending keepalive failed 35 time(s), will retry in 1000 ms [10:05:08][W][api.connection:142]: : Sending keepalive failed 36 time(s), will retry in 1000 ms [10:05:09][W][api.connection:142]: : Sending keepalive failed 37 time(s), will retry in 1000 ms [10:05:10][W][api.connection:142]: : Sending keepalive failed 38 time(s), will retry in 1000 ms [10:05:11][W][api.connection:142]: : Sending keepalive failed 39 time(s), will retry in 1000 ms [10:05:12][W][api.connection:142]: : Sending keepalive failed 40 time(s), will retry in 1000 ms [10:05:13][W][api.connection:142]: : Sending keepalive failed 41 time(s), will retry in 1000 ms [10:05:14][W][api.connection:142]: : Sending keepalive failed 42 time(s), will retry in 1000 ms [10:05:15][W][api.connection:142]: : Sending keepalive failed 43 time(s), will retry in 1000 ms [10:05:16][W][api.connection:142]: : Sending keepalive failed 44 time(s), will retry in 1000 ms [10:05:17][W][api.connection:142]: : Sending keepalive failed 45 time(s), will retry in 1000 ms`