This commit is contained in:
Home Assistant Version Control
2026-07-24 15:19:02 +00:00
parent 8abf4efaec
commit 2d21a40fd6
48 changed files with 4181 additions and 232 deletions
@@ -58,6 +58,28 @@ PROVIDER_IMMICH = "immich"
PROVIDER_PHOTOPRISM = "photoprism"
PROVIDER_ICLOUD = "icloud"
PROVIDER_SYNOLOGY = "synology"
PROVIDER_NEXTCLOUD = "nextcloud"
# 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"
# ``preview`` uses the core/preview thumbnail endpoint (smoother, smaller);
# ``original`` fetches the real file straight off the WebDAV collection.
NEXTCLOUD_IMAGE_PREVIEW = "preview"
NEXTCLOUD_IMAGE_ORIGINAL = "original"
NEXTCLOUD_IMAGE_SIZE_OPTIONS = [NEXTCLOUD_IMAGE_PREVIEW, NEXTCLOUD_IMAGE_ORIGINAL]
DEFAULT_NEXTCLOUD_IMAGE_SIZE = NEXTCLOUD_IMAGE_PREVIEW
# Long edge (px) requested from the core/preview endpoint for preview quality.
NEXTCLOUD_PREVIEW_PX = 1920
# 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
@@ -70,6 +92,21 @@ CONF_SYNOLOGY_DEVICE_ID = "synology_device_id"
CONF_SYNOLOGY_SPACE = "synology_space"
CONF_SYNOLOGY_ALBUM_ID = "synology_album_id"
CONF_SYNOLOGY_IMAGE_SIZE = "synology_image_size"
# Passphrase for an album that was shared with the configured account. Present
# only when the chosen source is a shared-with-me album; such albums are
# reachable by passphrase rather than by album id.
CONF_SYNOLOGY_PASSPHRASE = "synology_passphrase"
# When True, the source is the account's Favorites (favorited photos) rather
# than the whole space or a specific album.
CONF_SYNOLOGY_FAVORITE = "synology_favorite"
# Composite selection: a client-side union of any mix of albums, people,
# places, tags, subjects and favorites. Synology has no OR across categories,
# so each selected member is queried on its own and the results are merged
# (see the Immich/PhotoPrism composite). Stored as a JSON object:
# ``{"favorites": bool, "album_ids": [...], "passphrases": [...],
# "person_ids": [...], "geocoding_ids": [...], "tag_ids": [...],
# "concept_ids": [...]}``; an empty composite means the whole space.
CONF_SYNOLOGY_SELECTION = "synology_selection"
# Personal ("My Photos") vs shared ("Shared Space") library.
SYNOLOGY_SPACE_PERSONAL = "personal"