124 files

This commit is contained in:
Home Assistant Version Control
2026-08-31 15:02:40 +00:00
parent 33de328a33
commit 9742f385a3
124 changed files with 13907 additions and 1376 deletions
+37 -5
View File
@@ -59,18 +59,31 @@ PROVIDER_PHOTOPRISM = "photoprism"
PROVIDER_ICLOUD = "icloud"
PROVIDER_SYNOLOGY = "synology"
PROVIDER_NEXTCLOUD = "nextcloud"
PROVIDER_ENTE = "ente"
# Nextcloud provider - two auth modes against the same PROVIDER_NEXTCLOUD id:
#
# - "folder": authenticated WebDAV folder. Points at any folder in a user's
# files and lists it over WebDAV. Auth is HTTP Basic with a username + app
# password (Settings > Security > Devices & sessions); the app password is
# stored so the coordinator can re-list on each refresh and is sent
# server-side only, never reaching the browser.
# - "public_link": a public Nextcloud Photos album share link. No credentials
# involved - the share token embedded in the URL path is the only thing the
# server checks against the unauthenticated ``photospublic`` WebDAV
# collection.
CONF_NEXTCLOUD_AUTH_MODE = "nextcloud_auth_mode"
NEXTCLOUD_AUTH_MODE_FOLDER = "folder"
NEXTCLOUD_AUTH_MODE_PUBLIC = "public_link"
DEFAULT_NEXTCLOUD_AUTH_MODE = NEXTCLOUD_AUTH_MODE_FOLDER
# Nextcloud (authenticated WebDAV folder) provider. Points at any folder in a
# user's files and lists it over WebDAV. Auth is HTTP Basic with a username +
# app password (Settings > Security > Devices & sessions); the app password is
# stored so the coordinator can re-list on each refresh and is sent server-side
# only, never reaching the browser.
CONF_NEXTCLOUD_URL = "nextcloud_url"
CONF_NEXTCLOUD_USERNAME = "nextcloud_username"
CONF_NEXTCLOUD_PASSWORD = "nextcloud_password"
CONF_NEXTCLOUD_FOLDER = "nextcloud_folder"
CONF_NEXTCLOUD_RECURSIVE = "nextcloud_recursive"
CONF_NEXTCLOUD_IMAGE_SIZE = "nextcloud_image_size"
CONF_NEXTCLOUD_SHARE_TOKEN = "nextcloud_share_token"
# ``preview`` uses the core/preview thumbnail endpoint (smoother, smaller);
# ``original`` fetches the real file straight off the WebDAV collection.
@@ -81,6 +94,25 @@ DEFAULT_NEXTCLOUD_IMAGE_SIZE = NEXTCLOUD_IMAGE_PREVIEW
# Long edge (px) requested from the core/preview endpoint for preview quality.
NEXTCLOUD_PREVIEW_PX = 1920
# Ente Photos (public album link) provider. Ente is end-to-end encrypted: the
# access token in the link's ``?t=`` query authenticates to the API, while the
# collection key lives in the link's URL *fragment* and never reaches the
# server. Both are stored so the coordinator can re-list and decrypt on each
# refresh; neither is ever put in an image URL, because Ente images are
# decrypted inside Home Assistant and served from memory.
CONF_ENTE_URL = "ente_url"
CONF_ENTE_ACCESS_TOKEN = "ente_access_token"
CONF_ENTE_COLLECTION_KEY = "ente_collection_key"
CONF_ENTE_API_ORIGIN = "ente_api_origin"
CONF_ENTE_IMAGE_SIZE = "ente_image_size"
# ``full`` downloads the original file; ``preview`` uses Ente's smaller
# pre-generated thumbnail (much faster, noticeably softer on a big screen).
ENTE_IMAGE_FULL = "full"
ENTE_IMAGE_PREVIEW = "preview"
ENTE_IMAGE_SIZE_OPTIONS = [ENTE_IMAGE_FULL, ENTE_IMAGE_PREVIEW]
DEFAULT_ENTE_IMAGE_SIZE = ENTE_IMAGE_FULL
# Synology Photos (direct API) provider. Talks to a DSM Photos package over its
# entry.cgi web API. The account password is stored so the coordinator can
# re-authenticate when the session id expires; accounts with 2FA are handled by