sabeechen / hassio-google-drive-backup

Automatically create and sync Home Assistant backups into Google Drive
MIT License
3.18k stars 194 forks source link

Keep forever not working in drive #901

Open Elarion245 opened 1 year ago

Elarion245 commented 1 year ago

When manually triggering a backup, I can select to keep the backup forever in Google drive and home assistant.

The deletion lock is applied correctly for the local store, but it I click the backup after it finishes, the Google drive copy is still showing the never delete option instead of allow deletion.

This happens to me also with the newest version of the add on.

sabeechen commented 1 year ago

I'm unable to reproduce this. Is it possible you restarted the addon between when the backup was requested and the backup got uploaded to Google Drive? If the addon is restarted it loses some state and can't remember if the backup should have been kept forever.

Elarion245 commented 1 year ago

I don't think so. I have the stopping option enabled, but the backup Addon is obviously not selected: grafik grafik

It is likely not related, but I also see from time to time that once the backup finishes, the watchdog remains disabled and also some add-ons don't get started again. This is why in the screenshots I deselected all addons for remote access from the stopping option. Apart from that all standard settings. Default Backup location is internal EMMC drive. When this happens I see in he logs: 08-12 23:05:39 ERROR Addon 'File editor had unrecognized state startup'. The addon will most likely be unable to automatically restart this addon.

What can I do to provide helpful inputs? Debug logs prior creating a backup?

08-14 21:44:16 INFO Temporarily disabling watchdog for addon 'Mosquitto broker'
08-14 21:44:16 INFO Stopping addon 'Mosquitto broker'
08-14 21:44:21 INFO Temporarily disabling watchdog for addon 'MQTT Explorer'
08-14 21:44:21 INFO Stopping addon 'MQTT Explorer'
08-14 21:44:22 INFO Temporarily disabling watchdog for addon 'File editor'
08-14 21:44:22 INFO Stopping addon 'File editor'
08-14 21:44:27 INFO Temporarily disabling watchdog for addon 'MariaDB'
08-14 21:44:27 INFO Stopping addon 'MariaDB'
08-14 21:44:32 INFO Stopping addon 'ESPHome'
08-14 21:44:36 ERROR Error serving POST http://homeassistant.local:8123/backup?custom_name=TEST&retain_drive=true&retain_ha=true&note=
08-14 21:44:36 ERROR 
  addon/backup/ui/uiserver.py:791 (error_middleware)
  addon/backup/ui/uiserver.py:294 (backup)
  addon/backup/model/coordinator.py:253 (startBackup)
  addon/backup/model/coordinator.py:350 (_withSoftLock)
backup.exceptions.exceptions.PleaseWait

08-14 21:44:37 INFO Temporarily disabling watchdog for addon 'Samba share'
08-14 21:44:37 INFO Stopping addon 'Samba share'
08-14 21:44:42 INFO Temporarily disabling watchdog for addon 'Advanced SSH & Web Terminal'
08-14 21:44:42 INFO Stopping addon 'Advanced SSH & Web Terminal'
08-14 21:44:47 INFO Temporarily disabling watchdog for addon 'Run On Startup.d'
08-14 21:44:47 INFO Stopping addon 'Run On Startup.d'
08-14 21:44:51 INFO Temporarily disabling watchdog for addon 'SQLite Web'
08-14 21:44:51 INFO Stopping addon 'SQLite Web'
08-14 21:44:56 INFO Requesting a new backup
08-14 23:16:01 INFO A backup directory file was modified, we'll check for new backups soon.
08-14 23:16:02 INFO Backup finished
08-14 23:16:02 INFO Starting addon 'Advanced SSH & Web Terminal'
08-14 23:16:04 INFO Starting addon 'ESPHome'
08-14 23:16:05 INFO Starting addon 'SQLite Web'
08-14 23:16:07 INFO Starting addon 'Run On Startup.d'
08-14 23:16:08 INFO Starting addon 'Samba share'
08-14 23:16:09 INFO Starting addon 'MariaDB'
08-14 23:16:12 INFO Syncing Backups
08-14 23:16:12 INFO Starting addon 'MariaDB'
08-14 23:16:13 INFO A backup directory file was modified, we'll check for new backups soon.
08-14 23:16:13 INFO Uploading 'TEST' to Google Drive 
08-14 23:16:13 INFO Starting addon 'MQTT Explorer'
08-14 23:16:18 INFO Starting addon 'File editor'
08-14 23:16:55 INFO Starting addon 'Mosquitto broker'
08-14 23:16:57 INFO Re-enabling watchdog for addon 'Advanced SSH & Web Terminal'
08-14 23:16:57 INFO Re-enabling watchdog for addon 'SQLite Web'
08-14 23:16:57 INFO Re-enabling watchdog for addon 'Samba share'
08-14 23:16:57 INFO Re-enabling watchdog for addon 'Run On Startup.d'
08-14 23:16:57 INFO Re-enabling watchdog for addon 'MQTT Explorer'
08-14 23:16:57 INFO Re-enabling watchdog for addon 'MariaDB'
08-14 23:16:57 INFO Re-enabling watchdog for addon 'File editor'
08-14 23:16:58 INFO Re-enabling watchdog for addon 'Mosquitto broker'

Final Result: Screenshot_2023-08-15-06-51-24-376_io homeassistant companion android

sabeechen commented 1 year ago

Could I have you go to Actions > "Report a Bug" in the addon UI and post that here? You don't need to wait for any errors, I just want to get a sense for if there is anything unique about your setup.

Elarion245 commented 1 year ago

Here you go:

Description:
If you have anything else that could help explain what happened, click "Markdown" above and write it here.

Addon version: 0.111.1 Home Assistant Version: 2023.8.2 Supervisor Version: 2023.08.1 Supervisor Channel: stable Hassos Version: 10.4.dev20230802 Docker Version: 23.0.6 Architecture: aarch64 Machine: qemuarm-64 Date: 2023-08-15T18:21:42.707009+00:00 Timezone: Europe/Berlin Failure Time: 2023-08-14T05:58:32.742847+00:00 Last Good Sync: 2023-08-15T18:01:40.617933+00:00 Next Sync: 2023-08-15T19:35:44.071452+00:00 Next Backup: 2023-08-16T23:00:00+00:00 Next Cache Warm: 2023-08-15T19:35:25.177508+00:00 Time Offset: 0.0

Exception:
 No error could be identified automatically.

Backups:

 {
    "HomeAssistant": {
        "backups": 2,
        "retained": 1,
        "deletable": 1,
        "name": "HomeAssistant",
        "title": "Home Assistant",
        "latest": "2023-08-13T23:00:41Z",
        "max": 3,
        "enabled": true,
        "icon": "home-assistant",
        "ignored": 0,
        "detail": "",
        "size": "1.8 GB",
        "ignored_size": "0.0 B",
        "free_space": "14.0 GB"
    },
    "GoogleDrive": {
        "backups": 2,
        "retained": 1,
        "deletable": 1,
        "name": "GoogleDrive",
        "title": "Google Drive",
        "latest": "2023-08-13T23:00:41Z",
        "max": 3,
        "enabled": true,
        "icon": "google-drive",
        "ignored": 0,
        "size": "1.8 GB",
        "ignored_size": "0.0 B",
        "free_space": "2.1 GB"
    }
}
Config:
 {
    "Setting.MAX_BACKUPS_IN_HA": 3,
    "Setting.MAX_BACKUPS_IN_GOOGLE_DRIVE": 3,
    "Setting.BACKUP_TIME_OF_DAY": "01:00",
    "Setting.STOP_ADDONS": "core_mosquitto,2ad4c73a_mqtt-explorer,core_configurator,core_mariadb,5c53de3b_esphome,core_samba,a0d7b954_ssh,2ad4c73a_run_on_startup_addon,a0d7b954_sqlite-web"
}
Addon Logs:
 08-15 06:51:36 INFO [backup.watcher] A backup directory file was modified, we'll check for new backups soon.
08-15 06:51:40 INFO [backup.drive.drivesource] Deleting 'TEST' From Google Drive
08-15 06:51:46 DEBUG [backup.watcher] Checking backup source for changes...
08-15 06:51:46 DEBUG [backup.model.syncer] Sync requested by Backup Directory Watcher
08-15 06:51:46 INFO [backup.model.coordinator] Syncing Backups
08-15 09:15:29 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
08-15 09:15:29 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
08-15 09:21:16 DEBUG [backup.model.syncer] Sync requested by Coordinator
08-15 09:21:16 INFO [backup.model.coordinator] Syncing Backups
08-15 10:45:32 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
08-15 10:45:32 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
08-15 10:52:00 DEBUG [backup.model.syncer] Sync requested by Coordinator
08-15 10:52:00 INFO [backup.model.coordinator] Syncing Backups
08-15 11:05:57 INFO [backup.watcher] A backup directory file was modified, we'll check for new backups soon.
08-15 11:06:07 DEBUG [backup.watcher] Checking backup source for changes...
08-15 12:54:34 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
08-15 12:54:34 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
08-15 13:08:35 DEBUG [backup.model.syncer] Sync requested by Coordinator
08-15 13:08:35 INFO [backup.model.coordinator] Syncing Backups
08-15 15:32:37 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
08-15 15:32:37 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
08-15 15:44:05 DEBUG [backup.model.syncer] Sync requested by Coordinator
08-15 15:44:05 INFO [backup.model.coordinator] Syncing Backups
08-15 17:18:39 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
08-15 17:18:39 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
08-15 17:22:41 DEBUG [backup.model.syncer] Sync requested by Coordinator
08-15 17:22:41 INFO [backup.model.coordinator] Syncing Backups
08-15 20:01:40 DEBUG [backup.model.syncer] Sync requested by Coordinator
08-15 20:01:40 INFO [backup.model.coordinator] Syncing Backups
08-15 20:01:40 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
Supervisor Logs:
 23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.NO_CURRENT_BACKUP/ContextType.SYSTEM
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.PWNED/ContextType.ADDON
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.FREE_SPACE/ContextType.SYSTEM
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.SUPERVISOR
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.SECURITY/ContextType.CORE
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.DNS_SERVER_IPV6_ERROR/ContextType.DNS_SERVER
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.DOCKER_CONFIG/ContextType.SYSTEM
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.check] System checks complete
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.RUNNING
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state CoreState.RUNNING
23-08-15 20:04:02 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
23-08-15 20:08:00 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/adamoutler/Addons repository
23-08-15 20:08:00 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/esphome/home-assistant-addon repository
23-08-15 20:08:00 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/home-assistant/addons repository
23-08-15 20:08:00 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/hassio-addons/repository repository
23-08-15 20:08:00 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/sabeechen/hassio-google-drive-backup repository
23-08-15 20:08:04 WARNING (SyncWorker_7) [supervisor.addons.validate] Add-on have full device access, and selective device access in the configuration. Please report this to the maintainer of DeskPi Pro Active Cooling
23-08-15 20:08:07 WARNING (SyncWorker_0) [supervisor.addons.validate] Add-on have full device access, and selective device access in the configuration. Please report this to the maintainer of DeskPi Pro Active Cooling
23-08-15 20:08:07 INFO (MainThread) [supervisor.store] Loading add-ons from store: 85 all - 0 new - 0 remove
23-08-15 20:08:07 INFO (MainThread) [supervisor.store] Loading add-ons from store: 85 all - 0 new - 0 remove
23-08-15 20:09:03 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
23-08-15 20:19:11 INFO (MainThread) [supervisor.api.middleware.security] /core/info access from cebe7a76_hassio_google_drive_backup
23-08-15 20:19:11 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/info access from cebe7a76_hassio_google_drive_backup
23-08-15 20:19:11 INFO (MainThread) [supervisor.api.middleware.security] /mounts access from cebe7a76_hassio_google_drive_backup
23-08-15 20:19:11 INFO (MainThread) [supervisor.api.middleware.security] /addons access from cebe7a76_hassio_google_drive_backup
23-08-15 20:19:18 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/logs access from cebe7a76_hassio_google_drive_backup
23-08-15 20:19:18 INFO (MainThread) [supervisor.api.middleware.security] /core/logs access from cebe7a76_hassio_google_drive_backup
23-08-15 20:21:42 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/logs access from cebe7a76_hassio_google_drive_backup
Home Assistant Core Logs:
     raise ve_exc
ValueError: 'unavailable' is not a valid HVACMode
2023-08-15 19:55:17.665 ERROR (MainThread) [homeassistant.helpers.event] Error while dispatching event for climate.thermostat_sofa to <Job track state_changed event ['climate.thermostat_sofa', 'climate.thermostat_esstisch'] HassJobType.Callback <function ClimateGroup.async_added_to_hass.<locals>.async_state_changed_listener at 0xffff701299e0>>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 289, in _async_dispatch_entity_id_event
    hass.async_run_hass_job(job, event)
  File "/usr/src/homeassistant/homeassistant/core.py", line 625, in async_run_hass_job
    hassjob.target(*args)
  File "/config/custom_components/climate_group/climate.py", line 175, in async_state_changed_listener
    self.async_defer_or_update_ha_state()
  File "/usr/src/homeassistant/homeassistant/components/group/__init__.py", line 493, in async_defer_or_update_ha_state
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 746, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 808, in _async_write_ha_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 752, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 246, in state
    return HVACMode(hvac_mode).value
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/enum.py", line 711, in __call__
    return cls.__new__(cls, value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/enum.py", line 1128, in __new__
    raise ve_exc
ValueError: 'unavailable' is not a valid HVACMode
Elarion245 commented 1 year ago

Any news? The issue still persists.