Home Assistant چیست، چه قابلیت‌هایی دارد و چگونه روی سرور نصب می‌شود

2 دقیقه خواندن
Tropic
Home Assistant چیست، چه قابلیت‌هایی دارد و چگونه روی سرور نصب می‌شود

Language: fa

Home Assistant: مرکز کنترل یکپارچه برای خانه هوشمند

چراغ هوشمند در یک برنامه تنظیم می‌شود، جاروبرقی رباتیک در برنامه‌ای دیگر، کولر در برنامه سوم و حسگر نشت آب از برنامه چهارم اعلان می‌فرستد. در نتیجه، خانه «هوشمند» گاهی به اقدامات دستی بیشتری از یک کلید برق معمولی نیاز دارد.

Home Assistant دستگاه‌های سازگار را در یک dashboard جمع می‌کند و آن‌ها را با automation به هم متصل می‌سازد. در این مقاله قابلیت‌ها، نیازمندی‌ها و روش نصب آن با Docker Compose را بررسی می‌کنیم.

Home Assistant در هفت مرحله

  1. دستگاه‌های خود را در integrations catalog مربوط به Home Assistant بررسی کنید.
  2. محل نصب را انتخاب کنید: hub آماده، mini PC، Raspberry Pi، NAS، virtual machine یا سرور Linux.
  3. Home Assistant OS یا Home Assistant Container را نصب کنید.
  4. دستگاه‌ها و سرویس‌های شناسایی‌شده را اضافه کنید.
  5. آن‌ها را به اتاق‌ها اختصاص دهید و dashboard را تنظیم کنید.
  6. یک automation مفید بسازید.
  7. backup و remote access امن را پیکربندی کنید.

بهتر است با ده‌ها سناریو شروع نکنید، بلکه ابتدا سراغ مسئله‌ای بروید که واقعاً شما را آزار می‌دهد. پس از آنکه نخستین automation به‌طور قابل‌اعتماد کار کرد، سیستم را گسترش دهید.

Home Assistant چیست

Home Assistant یک پلتفرم رایگان و open-source برای کنترل خانه هوشمند است. این برنامه مانند یک hub مرکزی عمل می‌کند: به دستگاه‌ها و سرویس‌های تولیدکنندگان مختلف متصل می‌شود و امکان مدیریت آن‌ها را از طریق web interface یا mobile app فراهم می‌کند.

catalog پروژه بیش از ۱٬۵۰۰ integration دارد: روشنایی، تجهیزات تهویه، دوربین‌ها، جاروبرقی‌های رباتیک، کنتورهای انرژی، MQTT، Zigbee، Z-Wave، Matter، Apple HomeKit و cloud services.

تفاوت اصلی با برنامه یک برند واحد این است که سناریو به یک ecosystem محدود نمی‌شود. یک sensor از یک تولیدکننده می‌تواند چراغ تولیدکننده‌ای دیگر را روشن کند، دمای thermostat شخص ثالث را تغییر دهد و برای تلفن شما notification بفرستد.

چرا Home Assistant از مجموعه‌ای از برنامه‌ها مفیدتر است

اگر یک سیستم فقط کلید چراغ را به smartphone منتقل کند، خانه هوشمندتر نمی‌شود. ارزش Home Assistant زمانی آغاز می‌شود که یک کار روزمره به‌صورت خودکار انجام شود.

Automationها از یک trigger، یک condition اختیاری و یک action تشکیل می‌شوند. برای نمونه: «کسی به خانه رسیده است» trigger است، «خورشید غروب کرده است» condition است و «چراغ‌های اتاق نشیمن را روشن کن» action است.

دستگاه‌ها در یک dashboard مشترک برای تلفن، کامپیوتر یا تبلت دیواری نمایش داده می‌شوند. می‌توانید آن‌ها را به اتاق‌ها اختصاص دهید و برای اعضای خانواده و مهمان‌ها viewهای جدا بسازید.

با یک local integration، فرمان‌ها و داده‌ها در شبکه خانه باقی می‌مانند و سناریوها بدون اتصال اینترنت هم کار می‌کنند. بااین‌حال، اگر دستگاه فقط cloud API ارائه دهد، Home Assistant نیز به سرویس تولیدکننده وابسته خواهد بود.

قابلیت‌های دیگر شامل mobile notifications، تشخیص حضور، دستیار صوتی Assist و energy dashboard است؛ این داشبورد برای پیگیری برق شبکه، پنل‌های خورشیدی، باتری‌ها، گاز، آب و لوازم خانگی جداگانه استفاده می‌شود.

سناریوهای کاربردی Home Assistant

روشنایی بدون استفاده مداوم از کلید

یک motion sensor فقط پس از غروب چراغ‌ها را روشن می‌کند. در شب از روشنایی کم استفاده می‌شود و اگر چند دقیقه حرکتی تشخیص داده نشود، چراغ‌ها خاموش می‌شوند.

محافظت در برابر نشت آب

یک sensor آب را تشخیص می‌دهد، سیستم یک electric shutoff valve سازگار را می‌بندد، pump را خاموش می‌کند و notification می‌فرستد. اقدام مهم بلافاصله انجام می‌شود، نه پس از آنکه صاحب خانه پیام را ببیند.

کنترل دما بر اساس حضور افراد

وقتی آخرین نفر خانه را ترک می‌کند، سیستم گرمایش یا air conditioner به حالت صرفه‌جویی انرژی می‌رود. باز شدن پنجره می‌تواند کنترل دما را در اتاق مشخصی موقتاً غیرفعال کند.

اعلان پایان شست‌وشوی لباس

یک smart plug مصرف برق ماشین لباسشویی را اندازه می‌گیرد. پس از پایان چرخه، وقتی توان مصرفی از سطح تعیین‌شده پایین‌تر بیاید، Home Assistant اعلام می‌کند که زمان بیرون آوردن لباس‌ها رسیده است.

پیدا کردن مصرف غیرضروری انرژی

تاریخچه مصرف کمک می‌کند بارهایی را که دائماً فعال هستند پیدا کنید و ببینید کار کردن کدام وسیله در زمان دیگری اقتصادی‌تر است.

آیا به کدنویسی نیاز است

برای یک خانه هوشمند پایه، برنامه‌نویسی لازم نیست. integrationها، اتاق‌ها، dashboardها و بیشتر automationها از طریق graphical interface تنظیم می‌شوند.

برای موارد پیچیده‌تر به YAML، templateها و custom integrationها نیاز دارید. لازم نیست با این موارد شروع کنید: راهنماهای قدیمی که ویرایش دستی تقریباً همه تنظیمات را لازم می‌دانند، دیگر روش معمول یک کاربر تازه‌کار را نشان نمی‌دهند.

بهترین محل نصب Home Assistant کجاست

مستندات فعلی دو گزینه اصلی را معرفی می‌کنند: Home Assistant Operating System و Home Assistant Container.

گزینهمناسب براینکته مهم
Home Assistant Greenبه یک hub آماده نیاز داریدسیستم از قبل نصب شده است
Raspberry Pi یا mini PC با Home Assistant OSبیشتر کاربران خانگیبه‌روزرسانی، backup و appها راحت هستند
Virtual machine روی NAS یا سرور خانگیاز قبل یک host همیشه‌روشن داریدمی‌توانید منابع اختصاص دهید و دستگاه‌های USB را pass through کنید
Home Assistant Containerکاربران Dockerapp store داخلی ندارد؛ به‌روزرسانی‌ها دستی هستند
VPSآزمایش و مکان‌های دوردستدسترسی مستقیم به دستگاه‌های رادیویی خانه وجود ندارد

Home Assistant OS برای بیشتر کاربران گزینه پیشنهادی است. Container زمانی راحت است که سرویس‌های دیگر از قبل روی سرور Linux اجرا شوند، اما appها و برخی اجزای Thread یا Z-Wave باید جداگانه نگهداری شوند.

چه مقدار منابع لازم است

حداقل رسمی برای یک virtual machine برابر با 2 vCPU و 2 GB RAM است. راهنمای عملی:

سناریوCPURAMفضای ذخیره‌سازی
سیستم آزمایشی یا کوچک2 vCPU2 GB32 GB SSD
خانه با ظرفیت سرویس‌های اضافی2–4 vCPU4 GB32–64 GB SSD
دوربین‌ها، صدای محلی و تاریخچه گسترده4+ vCPU8+ GBاز 64 GB SSD

دوربین‌ها، نگهداری تاریخچه، مدل‌های صوتی و containerهای اضافی بیشترین بار را ایجاد می‌کنند. برای نصب دائمی، SSD انتخاب بهتری است.

نصب Home Assistant با Docker Compose

این روش برای یک سرور Linux مناسب است که Docker Engine و Docker Compose روی آن نصب شده باشند. یک directory بسازید:

mkdir -p ~/homeassistant/config
cd ~/homeassistant

فایل compose.yaml را بسازید:

services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - ./config:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    environment:
      TZ: Etc/UTC
    restart: unless-stopped
    stop_grace_period: 60s
    privileged: true
    network_mode: host

خط /run/dbus برای Bluetooth لازم است و اگر از Bluetooth استفاده نمی‌کنید می‌توان آن را حذف کرد. منطقه زمانی Etc/UTC را با منطقه زمانی خود جایگزین کنید. Container را اجرا کنید:

docker compose up -d

رابط کاربری در http://SERVER_IP:8123 باز می‌شود. در سرور خانگی، آن را داخل شبکه محلی استفاده کنید. در VPS، پیش از آن port 8123 را در firewall خارجی ببندید.

برای نخستین ورود به یک سرور راه دور، می‌توانید SSH tunnel بسازید:

ssh -L 8123:127.0.0.1:8123 user@SERVER_IP

http://localhost:8123 را باز کنید، یک administrator account بسازید و نخستین integrationها را اضافه کنید.

آیا Home Assistant روی VPS قابل استفاده است

Home Assistant Container روی Linux VPS کار می‌کند. این روش برای بررسی رابط کاربری، استفاده از cloud integrationها و اتصال مکان‌های دور از طریق VPN یا MQTT مناسب است.

بااین‌حال، VPS خارج از خانه قرار دارد. معمولاً دستگاه‌های محلی را از طریق network discovery نمی‌بیند و نمی‌تواند USB adapter خانه برای Zigbee، Z-Wave یا Thread را مستقیماً استفاده کند. سنسورهای Bluetooth نیز خارج از محدوده باقی می‌مانند.

به همین دلیل بهتر است controller اصلی را در خانه نگه دارید و VPS را به‌عنوان یک لایه بیرونی به کار ببرید: VPN gateway، نقطه دسترسی امن، monitoring server یا host سرویس‌های مرتبط.

برای یک سیستم آزمایشی بدون پروتکل‌های رادیویی محلی، 2 vCPU، 2 GB RAM و یک SSD کافی است. با tropic.host می‌توانید با یک Linux configuration کوچک شروع کنید و اگر MQTT، Node-RED، database یا containerهای دیگر به Home Assistant اضافه شدند، منابع را افزایش دهید. Zigbee، Thread، Z-Wave و Bluetooth همچنان بهتر است روی home node باقی بمانند.

چگونه دسترسی امن و backupها را تنظیم کنیم

port 8123 را مستقیماً در اینترنت expose نکنید. برای کنترل از راه دور از Home Assistant Cloud، VPN یا reverse proxy همراه با HTTPS استفاده کنید. multi-factor authentication را فعال کنید و administrator permissions را فقط به کاربرانی بدهید که به آن نیاز دارند.

Home Assistant از backupهای خودکار رمزگذاری‌شده پشتیبانی می‌کند. یک نسخه را خارج از سیستم نگه دارید و emergency kit حاوی encryption key را جداگانه ذخیره کنید.

اشتباهات رایج

اشتباهروش بهتر
خرید دستگاه پیش از بررسی integration آنمدل‌ها و قابلیت‌های پشتیبانی‌شده را بررسی کنید
ساختن ده‌ها automation از همان ابتدابا یک سناریوی ساده شروع کنید
حذف کامل کلیدهای فیزیکیبرای عملکردهای مهم کنترل دستی را حفظ کنید
نصب Zigbee coordinator روی VPSآن را داخل خانه قرار دهید
نگهداری backup کنار سیستمیک نسخه روی دستگاهی دیگر یا خارج از خانه بسازید

نتیجه کوتاه

Home Assistant دستگاه‌های جداگانه را به یک سیستم واحد تبدیل می‌کند: یک dashboard، تاریخچه یکپارچه و automationهایی میان برندهای مختلف. با بررسی سازگاری، نصب Home Assistant OS یا Container و ساختن یک سناریوی کاربردی می‌توانید بدون برنامه‌نویسی شروع کنید.

به‌ویژه هنگام استفاده از Zigbee، Thread، Z-Wave یا Bluetooth بهتر است سرور اصلی داخل خانه باشد. VPS برای آزمایش، cloud integrationها، VPN، monitoring و سرویس‌های مرتبط مفید است، اما جای local radio gateway را نمی‌گیرد.

FAQ

آیا Home Assistant رایگان است؟

بله. سخت‌افزار، cloud serviceهای شخص ثالث و اشتراک اختیاری Home Assistant Cloud ممکن است هزینه داشته باشند.

آیا سیستم بدون اینترنت کار می‌کند؟

local integrationها و automationها داخل شبکه خانه به کار خود ادامه می‌دهند. دستگاه‌هایی که فقط به cloud وابسته‌اند، بدون اینترنت در دسترس نخواهند بود.

آیا Raspberry Pi لازم است؟

خیر. می‌توانید از Home Assistant Green، mini PC، کامپیوتر قدیمی، NAS، virtual machine یا Linux server استفاده کنید.

Home Assistant OS بهتر است یا Container؟

Home Assistant OS برای بیشتر کاربران راحت‌تر است. Container برای کسانی مناسب است که از قبل Docker دارند و آماده‌اند سرویس‌های اضافی را خودشان نگهداری کنند.

آیا می‌توان دستگاه‌های تولیدکنندگان مختلف را متصل کرد؟

بله، اگر integrationهای سازگار وجود داشته باشند. پیش از خرید، علاوه بر برند، مدل دقیق و قابلیت‌های پشتیبانی‌شده را نیز بررسی کنید.