{"id":8225,"date":"2024-09-11T15:22:46","date_gmt":"2024-09-11T06:22:46","guid":{"rendered":"https:\/\/hasu0707.duckdns.org\/blog\/?p=8225"},"modified":"2024-09-23T22:57:21","modified_gmt":"2024-09-23T13:57:21","slug":"home-assistant-%ec%84%a4%ec%b9%98","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=8225","title":{"rendered":"Install Home Assistant Core"},"content":{"rendered":"\n<span style=\"font-family: \ub3cb\uc6c0\uccb4, \uad74\ub9bc\uccb4, \ub098\ub214\uace0\ub515\ucf54\ub529, \uad81\uc11c\uccb4; font-size: 12pt;\">\ucc38\uace0: <a href=\"https:\/\/www.home-assistant.io\/installation\/odroid\" target=\"_blank\" rel=\"noopener\">https:\/\/www.home-assistant.io\/installation\/odroid<\/a><br \/>\ud14c\uc2a4\ud2b8 \uc7a5\ube44: Orange Pi Zero2<br \/><br \/>1. \uae30\ubcf8 \uc694\uad6c\uc0ac\ud56d<br \/>&nbsp; Ubuntu 24.04 \uc774\uc0c1<br \/>&nbsp; Python 3.12 \uc774\uc0c1<br \/><br \/>2. \ud544\uc694\ud55c \ub9ac\ub205\uc2a4 \ud328\ud0a4\uc9c0 \uc124\uce58<br \/>&nbsp; apt install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libturbojpeg0-dev tzdata ffmpeg liblapack3 liblapack-dev libatlas-base-dev<br \/>&nbsp; apt install -y libtiff6<br \/><br \/>3. \uc0ac\uc6a9\uc790 \ucd94\uac00<br \/>&nbsp; useradd --system --create-home -c \"Home Assistant\" -d \"\/var\/homeassistant\" homeassistant -G dialout,i2c,gpio<br \/>&nbsp; mkdir \"\/opt\/homeassistant\"<br \/>&nbsp; chown homeassistant:homeassistant \/opt\/homeassistant<br \/><br \/>4. \uae30\ubcf8 Python\uacfc \ubd84\ub9ac\ud558\uc5ec \ub3c5\ub9bd\uc801\uc73c\ub85c \uc2e4\ud589\ud560 \uac00\uc0c1 \ud658\uacbd\uc744 \uc124\uce58\ud55c\ub2e4.<br \/>&nbsp; sudo -u homeassistant -H -s<br \/>&nbsp; cd \/opt\/homeassistant<br \/>&nbsp; python3 -m venv \/opt\/homeassistant<br \/>&nbsp; source \/opt\/homeassistant\/bin\/activate<br \/>&nbsp; python3 -m pip install wheel<br \/><br \/>5. Home Assistant\ub97c \uc124\uce58\ud55c\ub2e4.<br \/>&nbsp; pip3 install homeassistant==2024.9.9<br \/>&nbsp; \uc704\uc758 \uad6c\ubb38\uc744 \uc2e4\ud589\ud558\uba74 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uba74\uc11c \uc124\uce58\uac00\ub2a5\ud55c \ubc84\uc804 \ubaa9\ub85d\uc774 \ub098\uc624\ub294\ub370 2024.9.9 \uc790\ub9ac\uc5d0 \ucd5c\uc2e0 \ubc84\uc804\uc744 \uba85\uc2dc\ud558\uc5ec \uc124\uce58\ud55c\ub2e4.<br \/><br \/>6. Home Assistant systemd \uc11c\ube44\uc2a4 \uae30\uc220 \ud30c\uc77c \uc791\uc131<br \/>&nbsp; exit<br \/>&nbsp; vi \/usr\/lib\/systemd\/system\/hass.service<br \/><br \/>----------<br \/>[Unit]<br \/>Description=Home Assistant<br \/>After=network-online.target<br \/><br \/>[Service]<br \/>Type=simple<br \/>User=homeassistant<br \/>Group=homeassistant<br \/>WorkingDirectory=\/var\/homeassistant<br \/>ExecStartPre=\/bin\/sleep 5<br \/>ExecStart=\/opt\/homeassistant\/bin\/hass -c \"\/var\/homeassistant\"<br \/>ExecStop=pkill -SIGTERM -f \"homeassistant\\\/bin\\\/hass\"<br \/>RestartForceExitStatus=100<br \/><br \/>[Install]<br \/>WantedBy=multi-user.target<br \/>----------<br \/><br \/>&nbsp; systemctl daemon-reload<br \/>&nbsp; systemctl enable hass.service<br \/>&nbsp; systemctl start hass.service<br \/>&nbsp; \u203b\ucd5c\ucd08 \uc2e4\ud589\ub418\ub294\ub370 10\ubd84 \uc815\ub3c4 \uc18c\uc694\ub41c\ub2e4.<br \/><br \/>7. \uc6f9\ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c \uc544\ub798 \ud615\uc2dd\uc73c\ub85c \uc811\uc18d\uc744 \ud655\uc778\ud55c\ub2e4.<br \/>&nbsp; http:\/\/10.10.10.108:8123<br \/><br \/><br \/><br \/>\u25a0 SSL \uc801\uc6a9<br \/><br \/>1. configuration.yaml\uc5d0 \uc124\uc815 \ucd94\uac00<br \/>&nbsp; \uc544\ub798 \uc124\uc815\uc73c\ub85c Reverse Proxy\ub97c \ud5c8\uc6a9\ud558\uace0 WebSocket\uc774 \ud65c\uc131\ud654 \ub41c\ub2e4.<br \/><br \/>&nbsp; vi \/var\/homeassistant\/configuration.yaml<br \/>----------<br \/># Enable Reverse Proxy<br \/>http:<br \/>&nbsp; use_x_forwarded_for: true<br \/>&nbsp; trusted_proxies:<br \/>&nbsp; &nbsp; - 10.10.10.0\/24<br \/>&nbsp; &nbsp; - 10.10.10.108<br \/>&nbsp; &nbsp; - 127.0.0.1<br \/><br \/># Enable WebSocket<br \/>websocket_api:<br \/>----------<br \/><br \/>2. nginx \uc124\uce58<br \/>&nbsp; apt -y install nginx<br \/>&nbsp; systemctl enable nginx.service<br \/><br \/>3. ngix\uc5d0 Reverse Proxy \uc124\uc815\ud30c\uc77c\uc744 \uc791\uc131<br \/>&nbsp; hasu0707.duckdns.org\ub97c \uc678\ubd80 HOST\uba85\uc73c\ub85c \ubcc0\uacbd\ud558\uace0 \uc6d0\ud65c\ud55c \uc11c\ube44\uc2a4\ub97c \uc704\ud574\uc11c\ub294 \uc790\uccb4 \uc11c\uba85\uc774 \uc815\uc0c1\uc801\uc778 SSL \uc778\uc99d\uc11c\ub97c \ubc1c\uae09\ubc1b\uc544 \uc14b\ud305\ud55c\ub2e4.<br \/><br \/>&nbsp; vi \/etc\/nginx\/sites-available\/reverse_proxy<br \/>----------<br \/>###########################################################<br \/># \/etc\/nginx\/sites-available\/reverse_proxy<br \/>#<br \/># Add the following to Home Assistant's configuration.yaml:<br \/>###########################################################<br \/>#http:<br \/># &nbsp;use_x_forwarded_for: true<br \/># &nbsp;trusted_proxies:<br \/># &nbsp; &nbsp;- 10.10.10.0\/24<br \/># &nbsp; &nbsp;- 10.10.10.108<br \/># &nbsp; &nbsp;- 127.0.0.1<br \/>#<br \/>#websocket_api:<br \/>###########################################################<br \/><br \/>server {<br \/>&nbsp; &nbsp; listen [::]:443 ssl default_server http2 ipv6only=off;<br \/>&nbsp; &nbsp; server_name 'hasu0707.duckdns.org';<br \/><br \/>&nbsp; &nbsp; # These shouldn't need to be changed<br \/>&nbsp; &nbsp; add_header Strict-Transport-Security \"max-age=31536000; includeSubdomains\";<br \/>&nbsp; &nbsp; ssl_protocols TLSv1.2;<br \/>&nbsp; &nbsp; ssl_ciphers \"EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4\";<br \/>&nbsp; &nbsp; ssl_prefer_server_ciphers on;<br \/>&nbsp; &nbsp; ssl_session_cache shared:SSL:10m;<br \/>&nbsp; &nbsp; proxy_buffering off;<br \/><br \/>&nbsp; &nbsp; location \/ {<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_pass &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;http:\/\/localhost:8123\/;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_http_version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.1;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_redirect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;http:\/\/ https:\/\/;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_cache_bypass &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$http_upgrade;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header Connection &nbsp; &nbsp; &nbsp; &nbsp; \"upgrade\";<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header Host &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $host;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header Upgrade &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$http_upgrade;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header X-Forwarded-Host &nbsp; $host;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header X-Forwarded-Port &nbsp; $server_port;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header X-Forwarded-Proto &nbsp;$scheme;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header X-Forwared-For &nbsp; &nbsp; $proxy_add_x_forwarded_for;<br \/>&nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header X-Real-IP &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$remote_addr;<br \/>&nbsp; &nbsp; }<br \/><br \/>&nbsp; &nbsp; # self signed certificate<br \/>&nbsp; &nbsp; ssl_certificate '\/etc\/ssl\/opizero2\/certs\/ssl-cert.crt';<br \/>&nbsp; &nbsp; ssl_certificate_key '\/etc\/ssl\/opizero2\/private\/ssl-cert.key';<br \/>}<br \/><br \/>server {<br \/>&nbsp; &nbsp; # managed by Certbot<br \/>&nbsp; &nbsp; if ($host = 'hasu0707.duckdns.org') {<br \/>&nbsp; &nbsp; &nbsp; &nbsp; return 301 https:\/\/$host$request_uri;<br \/>&nbsp; &nbsp; }<br \/><br \/>&nbsp; &nbsp; listen 80;<br \/>&nbsp; &nbsp; server_name 'hasu0707.duckdns.org';<br \/><br \/>&nbsp; &nbsp; # managed by Certbot<br \/>&nbsp; &nbsp; return 404;<br \/>}<br \/>----------<br \/>&nbsp; ln -s \/etc\/nginx\/sites-available\/reverse_proxy \/etc\/nginx\/sites-enabled\/reverse_proxy<br \/><br \/><br \/>4. nginx \uc7ac\uc2dc\uc791<br \/>&nbsp; systemctl restart nginx.service<br \/><br \/><br \/><br \/>\u25a0 Zigbee2MQTT \uc124\uce58<br \/>\ucc38\uace0: <a href=\"https:\/\/docs.jethome.ru\/en\/controllers\/linux\/howto\/zigbee2mqtt.html\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.jethome.ru\/en\/controllers\/linux\/howto\/zigbee2mqtt.html<\/a><br \/><br \/>1.MQTT broker mosquitto \ud328\ud0a4\uc9c0 \uc124\uce58<br \/>&nbsp; apt install -y mosquitto mosquitto-clients<br \/>&nbsp; systemctl enable mosquitto.service<br \/>&nbsp; systemctl restart mosquitto.service<br \/>&nbsp; systemctl status mosquitto.service<br \/><br \/>2.mosquitto broker ID\/Password \ucd94\uac00 \ubc0f \uc554\ud638\ud654<br \/>&nbsp; vi \/etc\/mosquitto\/conf.d\/account.conf<br \/>----------<br \/># \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uacbd\ub85c \uc124\uc815<br \/>password_file \/etc\/mosquitto\/passwd<br \/><br \/># \uc775\uba85 \uc811\uc18d \ucc28\ub2e8<br \/>allow_anonymous false<br \/>----------<br \/><br \/>&nbsp; vi \/etc\/mosquitto\/passwd<br \/>----------<br \/># username:password<br \/>mqttuser:mqTT123@<br \/>----------<br \/>&nbsp; mosquitto_passwd -U \/etc\/mosquitto\/passwd<br \/>&nbsp; systemctl restart mosquitto.service<br \/><br \/>3.mosquitto broker \ud14c\uc2a4\ud2b8<br \/>&nbsp; # subscribe<br \/>&nbsp; mosquitto_sub -h localhost -t \/topic -u mqttuser -P mqTT815@<br \/>&nbsp; \u203bsubscribe\ub294 listen \ubaa8\ub4dc\uc774\ub2e4. publish\uac00 \ubcf4\ub0b8 \uba54\uc138\uc9c0\uac00 \ud45c\uc2dc\ub41c\ub2e4.<br \/><br \/>&nbsp; # publish (\ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \uc2e4\ud589\ud55c\ub2e4)<br \/>&nbsp; mosquitto_pub -h localhost -t \/topic -u mqttuser -P mqTT815@ -m \"test\"<br \/>&nbsp; \u203bsubscribe \uc138\uc158\uc5d0\uc11c test\uac00 \ub728\uba74 \uc131\uacf5.<br \/><br \/>4.node.js \ucd5c\uc2e0\ubc84\uc804 \ud655\uc778 \ud6c4 NODE_MAJOR \ubcc0\uc218\uc5d0 major \ubc84\uc804\ubc88\ud638 \uc124\uc815<br \/>&nbsp; https:\/\/nodejs.org\/en\/download\/package-manager\/current<br \/>&nbsp; export NODE_MAJOR=22<br \/><br \/>5.20.x \uc774\uc0c1\uc758 node.js \ubc0f \ube4c\ub4dc\uc5d0 \ud544\uc694\ud55c \ucd94\uac00 \ud328\ud0a4\uc9c0 \uc124\uce58<br \/>&nbsp; apt install -y ca-certificates curl gnupg<br \/>&nbsp; mkdir -p \/etc\/apt\/keyrings<br \/>&nbsp; curl -fsSL https:\/\/deb.nodesource.com\/gpgkey\/nodesource-repo.gpg.key | gpg --dearmor -o \/etc\/apt\/keyrings\/nodesource.gpg<br \/>&nbsp; echo \"deb [signed-by=\/etc\/apt\/keyrings\/nodesource.gpg] https:\/\/deb.nodesource.com\/node_$NODE_MAJOR.x nodistro main\" | tee \/etc\/apt\/sources.list.d\/nodesource.list<br \/>&nbsp; apt -y update<br \/>&nbsp; apt install -y nodejs git make g++ gcc<br \/><br \/>6.Zigbee2MQTT \uc124\uce58<br \/>&nbsp; mkdir -p \/opt\/zigbee2mqtt<br \/>&nbsp; chown -R homeassistant:homeassistant \/opt\/zigbee2mqtt<br \/>&nbsp; git clone --depth 1 https:\/\/github.com\/Koenkk\/zigbee2mqtt.git \/opt\/zigbee2mqtt<br \/>&nbsp; cd \/opt\/zigbee2mqtt<br \/><br \/>7.npm clean-install\uc744 \ud1b5\ud574 \ud328\ud0a4\uc9c0\ub4e4\uc744 \uc124\uce58\ud558\uc5ec node_modules\uc5d0 \uc801\uc7ac<br \/>&nbsp; npm ci<br \/><br \/>8.\/opt\/zigbee2mqtt\/data\/configuration.yaml \uc124\uc815<br \/>&nbsp; vi \/opt\/zigbee2mqtt\/data\/configuration.yaml<br \/>----------<br \/># Home Assistant integration (MQTT discovery)<br \/>homeassistant: true<br \/><br \/># Allow new devices to join<br \/>permit_join: false<br \/><br \/># MQTT settings<br \/>mqtt:<br \/>&nbsp; # MQTT base topic for Zigbee2MQTT MQTT messages<br \/>&nbsp; base_topic: zigbee2mqtt<br \/>&nbsp; # MQTT server URL<br \/>&nbsp; server: 'mqtt:\/\/localhost'<br \/><br \/># Serial settings<br \/>serial:<br \/>&nbsp; # SONOFF Zigbee 3.0 USB Dongle Plus V2 (EFR32MG21)<br \/>&nbsp; port: \/dev\/ttyUSB0<br \/>&nbsp; adapter: ember<br \/>&nbsp; rtscts: false<br \/><br \/># Optional: advanced settings<br \/>advanced:<br \/>&nbsp; # Optional: ZigBee channel (Note: changing requires re-pairing of all devices)<br \/>&nbsp; channel: 15<br \/>&nbsp; # Optional: ZigBee pan ID<br \/>&nbsp; pan_id: 0x1a62<br \/>&nbsp; # Optional: network encryption key, will improve security (Note: changing requires repairing of all devices)<br \/>&nbsp; network_key: [1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 13]<br \/><br \/>frontend:<br \/>&nbsp; # Optional, default 8080<br \/>&nbsp; port: 8080<br \/>&nbsp; # Optional, default 0.0.0.0<br \/>&nbsp; host: 0.0.0.0<br \/>----------<br \/><br \/>9.Zigbee2MQTT \uc218\ub3d9 \uc2dc\uc791 \ud14c\uc2a4\ud2b8<br \/>&nbsp; cd \/opt\/zigbee2mqtt<br \/>&nbsp; npm start<br \/><br \/>10.Zigbee2MQTT systemd \uc11c\ube44\uc2a4 \uae30\uc220 \ud30c\uc77c \uc791\uc131<br \/>&nbsp; vi \/usr\/lib\/systemd\/system\/zigbee2mqtt.service<br \/>----------<br \/>[Unit]<br \/>Description=zigbee2mqtt<br \/>After=network.target<br \/><br \/>[Service]<br \/>User=homeassistant<br \/>Group=homeassistant<br \/>WorkingDirectory=\/opt\/zigbee2mqtt<br \/>ExecStart=\/usr\/bin\/npm start<br \/>StandardOutput=inherit<br \/>StandardError=inherit<br \/>Restart=always<br \/><br \/>[Install]<br \/>WantedBy=multi-user.target<br \/>----------<br \/>&nbsp; systemctl daemon-reload<br \/>&nbsp; systemctl enable zigbee2mqtt.service<br \/>&nbsp; chown -R homeassistant:homeassistant \/opt\/zigbee2mqtt<br \/>&nbsp; systemctl restart zigbee2mqtt.service<br \/><br \/>11.\uc815\uc0c1 \uc2e4\ud589 \ubaa8\ub2c8\ud130\ub9c1<br \/>&nbsp; journalctl -u zigbee2mqtt.service -f<br \/><br \/>12.Home Assistant \ud1b5\ud569<br \/>&nbsp; &bull;MQTT \uc0ac\uc6a9\uc790 \uc0dd\uc131 (Home Assistant Supervisor \ubc84\uc804\ub9cc \ud574\ub2f9)<br \/>&nbsp; &nbsp; \uc124\uc815 &gt; \uad6c\uc131\uc6d0 &gt; +\uad6c\uc131\uc6d0 \ucd94\uac00\ud558\uae30 &gt; \u2611\ub85c\uadf8\uc778 \ud5c8\uc6a9\ud558\uae30 \/ \uc774\ub984:mqttuser, \uc554\ud638:mqTT815@<br \/><br \/>&nbsp; &bull;MQTT \ud1b5\ud569<br \/>&nbsp; &nbsp; \uc124\uc815 &gt; \uae30\uae30 \ubc0f \uc11c\ube44\uc2a4 &gt; +\ud1b5\ud569\uad6c\uc131\uc694\uc18c \ucd94\uac00\ud558\uae30 &gt; MQTT<br \/>&nbsp; &nbsp; &nbsp; \ube0c\ub85c\ucee4: localhost<br \/>&nbsp; &nbsp; &nbsp; \ud3ec\ud2b8: 1883<br \/>&nbsp; &nbsp; &nbsp; \uc0ac\uc6a9\uc790\uc774\ub984: mqttuser<br \/>&nbsp; &nbsp; &nbsp; \uc554\ud638: mqTT815@<br \/><br \/>13.MQTT \uae30\uae30 \ucd94\uac00<br \/>&nbsp; &bull;MQTT\uc5d0\uc11c \uc8fc\ubcc0 \uae30\uae30 \uc790\ub3d9 \ucd94\uac00<br \/>&nbsp; &nbsp; \uc124\uc815 &gt; \uae30\uae30 \ubc0f \uc11c\ube44\uc2a4 &gt; MQTT &gt; n\uac1c\uc758 \uae30\uae30 &gt; Zigbee2MQTT Bridge &gt; \uc81c\uc5b4\uc7a5\uce58-Permit join:Enable<br \/><br \/>&nbsp; &bull;IoT \uc7a5\ube44 \ud398\uc5b4\ub9c1 \ubaa8\ub4dc \ucf1c\uae30<br \/><br \/>14.\ud398\uc5b4\ub9c1\ub41c IoT \uc7a5\ube44\uba85\ub4e4\uc758 \uc7a5\ube44\uba85 \ubc0f \uc601\uc5ed \ubcc0\uacbd<br \/>&nbsp; &bull;\uc124\uc815 &gt; \uae30\uae30 \ubc0f \uc11c\ube44\uc2a4 &gt; MQTT &gt; n\uac1c\uc758 \uae30\uae30 &gt; \uae30\uae30 \uc120\ud0dd<br \/>&nbsp; &bull;\uc6b0\uce21 \ucd5c\uc0c1\ub2e8 \uc5f0\ud544\ubaa8\uc591 \uc544\uc774\ucf58 \ud074\ub9ad<br \/><\/span>\n","protected":false},"excerpt":{"rendered":"<p>\ucc38\uace0: https:\/\/www.home-assistant.io\/installation\/odroid\ud14c\uc2a4\ud2b8 \uc7a5\ube44: Orange Pi Zero2 1. \uae30\ubcf8 \uc694\uad6c\uc0ac\ud56d&nbsp; Ubuntu 24.04 \uc774\uc0c1&nbsp; Python 3.12 \uc774\uc0c1 2. \ud544\uc694\ud55c \ub9ac\ub205\uc2a4 \ud328\ud0a4\uc9c0 \uc124\uce58&nbsp; apt install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libturbojpeg0-dev tzdata ffmpeg liblapack3 liblapack-dev libatlas-base-dev&nbsp; apt install -y libtiff6 3. \uc0ac\uc6a9\uc790 \ucd94\uac00&nbsp; useradd &#8211;system &#8211;create-home -c &#8220;Home Assistant&#8221; -d [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[93],"tags":[],"class_list":["post-8225","post","type-post","status-publish","format-standard","hentry","category-computing_iot"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/8225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8225"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/8225\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}