.infineon/_-Review/home-assistant.md
2024-06-03 07:04:29 -07:00

6.6 KiB

type, created, updated
type created updated
topic 2024-01-06T01:25:36.065Z 2024-01-06T01:25:36.065Z

Home Assistant

wsl --export Ubuntu "Ubuntu\Ubuntu-Home-Assistant-001.tar"
wsl --unregister Ubuntu
wsl --import Ubuntu-Home-Assistant Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-001.tar"
wsl --export Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-002.tar"
del "Ubuntu\Ubuntu-Home-Assistant-002.tar"
Name: Ubuntu-Home-Assistant
Command Line: wsl.exe -d Ubuntu-Home-Assistant
Tab Title: Ubuntu-Home-Assistant
sudo -i
apt-get update
ip a
lsb_release -a
apt-get install links unzip nginx git nano ncdu -y
ncdu
timedatectl set-timezone America/Phoenix
timedatectl
nano /etc/hosts
nano /etc/nginx/sites-available/default
echo >/etc/nginx/sites-available/default && nano /etc/nginx/sites-available/default
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    server_name _;
    location / {
        try_files $uri $uri/ =404;
    }
}
server {
    ssl_certificate 'laundry.phares.myftp.org.crt';
    ssl_certificate_key 'laundry.phares.myftp.org.key';
    listen 443 ssl http2;
    ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
    listen [::]:443 ssl http2;
    server_name laundry.phares.myftp.org;
    location / {
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_pass              http://localhost:80/;
        proxy_read_timeout      600s;
        proxy_send_timeout      600s;
    }
}
server {
    ssl_certificate 'laundry.phares.myftp.org.crt';
    ssl_certificate_key 'laundry.phares.myftp.org.key';
    listen 443 ssl http2;
    ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
    listen [::]:443 ssl http2;
    server_name home-assistant.laundry.phares.myftp.org;
    location / {
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_pass              http://localhost:9400/;
        proxy_read_timeout      600s;
        proxy_send_timeout      600s;
    }
}
nano /home/mike/laundry.phares.myftp.org.conf
echo >/home/mike/laundry.phares.myftp.org.conf && nano /home/mike/laundry.phares.myftp.org.conf
[req]
default_bits       = 2048
default_keyfile    = laundry.phares.myftp.org.key
distinguished_name = req_distinguished_name
req_extensions     = req_ext
x509_extensions    = v3_ca

[req_distinguished_name]
countryName                 = Country Name (2 letter code)
countryName_default         = US
stateOrProvinceName         = State or Province Name (full name)
stateOrProvinceName_default = Arizona
localityName                = Locality Name (eg, city)
localityName_default        = Anthem
organizationName            = Organization Name (eg, company)
organizationName_default    = Phares
organizationalUnitName      = organizationalunit
organizationalUnitName_default = Development
commonName                  = Common Name (e.g. server FQDN or YOUR name)
commonName_default          = laundry.phares.myftp.org
commonName_max              = 64

[req_ext]
subjectAltName = @alt_names

[v3_ca]
subjectAltName = @alt_names

[alt_names]
DNS.1   = laundry.phares.myftp.org
DNS.2   = dashkiosk.laundry.phares.myftp.org
DNS.3   = gogs.laundry.phares.myftp.org
DNS.4   = nextcloud.laundry.phares.myftp.org
DNS.5   = photoprism.laundry.phares.myftp.org
DNS.6   = pi-hole.laundry.phares.myftp.org
DNS.7   = syncthing.laundry.phares.myftp.org
DNS.8   = mike.desktop
DNS.9   = desktop-h6jg91b
DNS.10   = localhost
DNS.11   = 127.0.0.1
ls /etc/nginx
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/laundry.phares.myftp.org.key -out /etc/nginx/laundry.phares.myftp.org.crt -config /home/mike/laundry.phares.myftp.org.conf
ls /etc/nginx
nginx -t
systemctl restart nginx
nginx -s reload
exit
exit
wsl --export Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-002.tar"
wsl --unregister Ubuntu-Home-Assistant
wsl --import Ubuntu-Home-Assistant Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-002.tar"
sudo -i
python3 --version
apt install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
[enter]
apt update
apt-get 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
apt install python3.12 -y
ls /usr/bin/python3*
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 2
update-alternatives --config python3
[enter]
python3 --version
apt install libpython3.12-dev -y
apt-cache rdepends python3.12
# apt-get install -y libtiff6
# apt install python3.10-venv
# apt-add-repository universe
# apt-get update
# apt-get install virtualenv
# apt install python3.11-venv
apt install python3.12-venv -y
# apt install python3.13-venv
apt-get install libavcodec-dev libavformat-dev libavfilter-dev libavdevice-dev -y
apt install pkg-config -y
useradd -rm homeassistant
mkdir /srv/homeassistant
chown homeassistant:homeassistant /srv/homeassistant
passwd homeassistant
exit
exit
wsl --export Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-003.tar"
wsl --unregister Ubuntu-Home-Assistant
wsl --import Ubuntu-Home-Assistant Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-003.tar"
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
pip install --upgrade pip
python3 -m pip install wheel
pip3 install homeassistant
pip3 install homeassistant
pip install av
pip install ha-av
exit
exit
wsl --export Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-004.tar"
wsl --unregister Ubuntu-Home-Assistant
wsl --import Ubuntu-Home-Assistant Ubuntu-Home-Assistant "Ubuntu\Ubuntu-Home-Assistant-004.tar"
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
hass
# You can now reach your installation via the web interface on http://homeassistant.local:8123.
# https://www.youtube.com/watch?v=O7pC1oI86gg
# https://tasmota.github.io/docs/About/
# https://www.youtube.com/watch?v=fgeZ1O6J4jc
# https://www.youtube.com/watch?v=CYvTLw_Wn6I
# https://python-kasa.readthedocs.io/en/latest/smartdevice.html
# https://zigbee.blakadder.com/plugs.html