Maya Workflow Kit
Blender에서 Maya 전체 워크플로를 한 번에 설치, 무료 오픈소스, Blender 4.5‑5.2 지원
자체 호스팅 AI 옷장 관리인 Wardrowbe용 Home Assistant 연동
Home Assistant integration for Wardrowbe, the self-hosted AI-powered wardrobe manager. Surfaces analytics, outfit lifecycle, and notification history as entities and exposes outfit/wear/wash actions a
플러그인Python · ShellGitHub @saya6k온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Home Assistant custom integration for Wardrowbe — a self-hosted AI wardrobe manager.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Requires Home Assistant 2026.10.0.dev202609290227 or later.
A Home Assistant custom component for Wardrowbe, the self-hosted AI-powered wardrobe manager. Surfaces wardrobe analytics, outfit lifecycle, and notification history as sensors and event entities, and exposes outfit/wear/wash actions as services.
| Platform | Entities |
|---|---|
sensor | total_items, items_ready, items_processing, items_archived, total_outfits, outfits_this_week, outfits_this_month, acceptance_rate, average_rating, total_wears, most_worn_item, top_color, last_outfit_status, notifications_last_24h |
binary_sensor | api_healthy, has_pending_outfit |
event | outfit (suggested / accepted / rejected / skipped / feedback_submitted), notification (sent / failed), wear (logged), wash (logged) |
All services accept a config_entry_id so multi-account setups can pick which Wardrowbe account to act on.
wardrowbe.suggest_outfit — generate a new outfit recommendation (returns the outfit as a response variable).wardrowbe.accept_outfit / reject_outfit / skip_outfit — outfit_id optional; defaults to the latest pending outfit on that account.wardrowbe.submit_feedback — rating, wore flag, notes.wardrowbe.log_wear / log_wash.wardrowbe.archive_item / restore_item.wardrowbe.test_notification.Each entity event is mirrored on the Home Assistant event bus (so you can use trigger: event instead of trigger: state on the entity):
wardrowbe_outfit_suggested, wardrowbe_outfit_accepted, wardrowbe_outfit_rejected, wardrowbe_outfit_skipped, wardrowbe_outfit_feedback_submitted, wardrowbe_notification_sent, wardrowbe_notification_failed, wardrowbe_wear_logged, wardrowbe_wash_logged.
Every payload includes the originating config_entry_id.
https://github.com/saya6k/ha_wardrowbe as type Integration.Copy custom_components/wardrowbe/ into your Home Assistant config/custom_components/ directory and restart.
The repo ships with a Python 3.14 devcontainer that runs Home Assistant against this checkout:
scripts/develop # HA on :8123 with the integration symlinked in
scripts/test # ruff + mypy + pytest
VS Code → "Reopen in Container" picks up .devcontainer/devcontainer.json and runs scripts/setup for you. scripts/test forwards extra arguments to pytest (e.g. scripts/test tests/test_config_flow.py), and the integration logs to config/home-assistant.log at DEBUG level.
You'll need an OIDC client registered with your provider for Home Assistant. Use HA's redirect URL: https://<your-ha-host>/auth/external/callback. The integration supports both confidential clients (client_id + client_secret) and public clients (client_id only — code_challenge/code_verifier handled automatically). PKCE is a separate toggle from having a secret: a public client must use it, but a confidential client can opt into it too if your provider supports PKCE alongside a secret.
In the integration config flow:
https://wardrowbe.example.com) and pick OIDC / SSO./api/v1/auth/config when available), client ID, client secret if your client has one (leave blank for a public client), and whether to use PKCE (on by default; required if the secret is blank). Scopes default to openid profile email offline_access.id_token for a Wardrowbe JWT and stores both. Tokens refresh automatically; reauthentication is prompted only if refresh fails.Pick Development mode in step 1 and enter the external_id you log in with locally. Only works against Wardrowbe installs running in dev auth mode.
Run the Add Integration flow once per account. Each entry creates its own device, sensors, event entities, and shows up in the config_entry_id selector for service calls.
Open Settings → Devices & Services → Wardrowbe → ⋮ → Reconfigure on an existing entry to change its host, verify_ssl, auth mode, or (for OIDC) issuer/client ID/client secret/scopes — no need to remove and re-add it. Leaving the client secret blank keeps whatever was already stored; it only switches to PKCE if the entry didn't have a secret to begin with.
Each Wardrowbe account registers its own LLM API — Wardrowbe — <account title> — that you attach explicitly to a conversation agent; it's never enabled automatically. In Settings → Voice assistants, edit an agent, and pick it from the LLM API selector to give that agent ten tools covering outfit suggestions, wardrobe stats, and wash tracking. With multiple accounts, each gets its own selectable API. It's also reachable over MCP at /api/mcp/wardrowbe__<entry_id> with an HA admin access token, if you're driving Wardrowbe from an external MCP client instead of HA's own conversation agents.
trigger:
- platform: state
entity_id: event.wardrowbe_test_user_outfit_lifecycle
attribute: event_type
to: suggested
action:
- service: notify.mobile_app_phone
data:
title: New outfit ready
message: "{{ trigger.to_state.attributes.name }}"
Or via the bus:
trigger:
- platform: event
event_type: wardrowbe_outfit_suggested
action:
- service: notify.mobile_app_phone
data:
message: "{{ trigger.event.data.name }}"
trigger:
- platform: time
at: "07:00:00"
action:
- service: wardrowbe.suggest_outfit
data:
config_entry_id: <your-entry-id>
occasion: work
target_date: "{{ now().date() }}"
response_variable: suggestion
- service: notify.mobile_app_phone
data:
message: "Today's outfit: {{ suggestion.name }}"
MIT.