美文网首页
用Arduino玩ESP32(08):Homeassistant

用Arduino玩ESP32(08):Homeassistant

作者: 幸运派 | 来源:发表于2020-01-01 09:40 被阅读0次

    Home Assistant 是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。

    按照下面的步骤完成后,开启防火墙8123端口,然后打开浏览器http://服务器ip:8123即可通过web-ui访问控制

    一、安装系统依赖环境(root身份执行)

    引自:https://www.home-assistant.io/docs/installation/centos/

    添加一个名为homeassistant的用户
    useradd -rm homeassistant
    
    转到/srv目录,建立homeassistant文件夹
    cd /srv
    mkdir homeassistant
    
    更改此文件夹的所有者和所属组
    chown homeassistant:homeassistant homeassistant
    

    二、Python虚拟环境安装Homeassistant(切换用户操作)

    更换用户
    su -s /bin/bash homeassistant
    
    切换目录,创建并进入虚拟环境
    cd /srv/homeassistant
    python3 -m venv homeassistant_venv
    source /srv/homeassistant/homeassistant_venv/bin/activate
    
    虚拟环境下更新pip, setuptools(此步非常重要,否则安装HASS时会报错)
    pip install --upgrade pip
    
    安装依赖netdisco和warrant(此步非常重要,否则安装完HASS会报discovery等错误)
    pip install netdisco
    pip install warrant
    
    正式安装HomeAssistant,速度会非常快
    pip install homeassistant
    
    安装完毕,退出虚拟环境
    exit
    

    三、设置开机启动

    编辑开机启动脚本信息
    vi /etc/systemd/system/home-assistant@homeassistant.service
    
    [Unit]
    Description=Home Assistant
    After=network.target
    
    [Service]
    Type=simple
    User=homeassistant
    Environment=PATH="$VIRTUAL_ENV/bin:$PATH"
    ExecStart=/srv/homeassistant/homeassistant_venv/bin/hass -c "/home/homeassistant/.homeassistant"
    
    [Install]
    WantedBy=multi-user.target
    

    四、控制命令:

    更新系统设置
    systemctl daemon-reload
    
    设置HomeAssistant开机启动
    systemctl enable home-assistant@homeassistant.service
    
    启动HomeAssistant
    systemctl start home-assistant@homeassistant.service
    
    重新启动HomeAssistant
    systemctl restart home-assistant@homeassistant.service
    
    查看HomeAssistant状态
    systemctl status home-assistant@homeassistant.service
    

    忘记密码

    找到.storage/隐藏文件夹删除里面的文件,然后重启设备,重新注册就好

    如果是使用的云服务器,还需开方端口,默认8123

    #define MQTT_HOST://MQTT服务器地址
    #define MQTT_PORT://MQTT服务器端口
    #define MQTT_USER://MQTT服务器用户名
    #define MQTT_PASS://MQTT服务器密码
    #define STA_SSID://WI-FI帐号
    #define STA_PASS://WI-FI密码
    

    相关文章

      网友评论

          本文标题:用Arduino玩ESP32(08):Homeassistant

          本文链接:https://www.haomeiwen.com/subject/exkyoctx.html