Language: fa
Home Assistant: مرکز کنترل یکپارچه برای خانه هوشمند
چراغ هوشمند در یک برنامه تنظیم میشود، جاروبرقی رباتیک در برنامهای دیگر، کولر در برنامه سوم و حسگر نشت آب از برنامه چهارم اعلان میفرستد. در نتیجه، خانه «هوشمند» گاهی به اقدامات دستی بیشتری از یک کلید برق معمولی نیاز دارد.
Home Assistant دستگاههای سازگار را در یک dashboard جمع میکند و آنها را با automation به هم متصل میسازد. در این مقاله قابلیتها، نیازمندیها و روش نصب آن با Docker Compose را بررسی میکنیم.
Home Assistant در هفت مرحله
- دستگاههای خود را در integrations catalog مربوط به Home Assistant بررسی کنید.
- محل نصب را انتخاب کنید: hub آماده، mini PC، Raspberry Pi، NAS، virtual machine یا سرور Linux.
- Home Assistant OS یا Home Assistant Container را نصب کنید.
- دستگاهها و سرویسهای شناساییشده را اضافه کنید.
- آنها را به اتاقها اختصاص دهید و dashboard را تنظیم کنید.
- یک automation مفید بسازید.
- 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 | کاربران Docker | app store داخلی ندارد؛ بهروزرسانیها دستی هستند |
| VPS | آزمایش و مکانهای دوردست | دسترسی مستقیم به دستگاههای رادیویی خانه وجود ندارد |
Home Assistant OS برای بیشتر کاربران گزینه پیشنهادی است. Container زمانی راحت است که سرویسهای دیگر از قبل روی سرور Linux اجرا شوند، اما appها و برخی اجزای Thread یا Z-Wave باید جداگانه نگهداری شوند.
چه مقدار منابع لازم است
حداقل رسمی برای یک virtual machine برابر با 2 vCPU و 2 GB RAM است. راهنمای عملی:
| سناریو | CPU | RAM | فضای ذخیرهسازی |
|---|---|---|---|
| سیستم آزمایشی یا کوچک | 2 vCPU | 2 GB | 32 GB SSD |
| خانه با ظرفیت سرویسهای اضافی | 2–4 vCPU | 4 GB | 32–64 GB SSD |
| دوربینها، صدای محلی و تاریخچه گسترده | 4+ vCPU | 8+ 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_IPhttp://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های سازگار وجود داشته باشند. پیش از خرید، علاوه بر برند، مدل دقیق و قابلیتهای پشتیبانیشده را نیز بررسی کنید.
