Home Assistant : HA Install On Pi Run Play MP3
1. Download PI และ Restore ใส่ SD Card นำไป Boot
https://www.raspberrypi.org/downloads/raspbian/
2. ตั้งค่า wifi
https://raspberrypihq.com/how-to-connect-your-raspberry-pi-to-wifi/
ถ้ามี Error แสดง
ใช้คำสั่ง
https://www.raspberrypi.org/forums/viewtopic.php?t=206223
3. Set Wifi Connect
เพิ่ม
จะได้ IP
4. Config rapberry pi
เลือก Time zone
- เปลี่ยนชื่อ Host ตามที่ต้องการ เช่น pi-moning
- เปิด ssh
และอื่น ๆ
Run set locale
ติดตั้ง ntp และ config ntp
5. ติดตั้ง
https://www.home-assistant.io/docs/installation/raspberry-pi/
Run Command
hass ใช้เวลาสักพัก ประมาณ 20-30 นาที
ถ้าขึ้น INFO (MainThread) [homeassistant.core] Timer:starting คือเสร็จแล้ว
6. เข้าหน้า Web ตั้งรหัสผ่าน user
http://ipaddress:8123
7. ทำ hass auto service
ทำต่อจากข้อ 8
https://intranet.sci.com/blog.php?u=281&b=1603
เพิ่มเติม
https://www.home-assistant.io/docs/autostart/systemd/
https://community.home-assistant.io/t/unit-home-assistant-homeassistant-service-not-found/28507
8. Confing configuration.yaml
all config file
คำสั่ง restart service
AIQ
สร้างไฟล aqi.sh
สมัครฟรี 10000 ครั้ง/เดือน หมดอายุ 348 วัน XXXX คือคีย์ที่ได้จาก Web
https://www.airvisual.com/thailand/bangkok
9. ติดต้ง jq
10. Code sh ยัดค่าใส่ sensor
เพิ่ม
11. เล่นเพลง MP3
copy mp3 ไปไว้ตามที่ต้องการ
ติดตั้งโปรแกรม
ทดลองเล่นด้วยคำสั่ง
ถ้ามี Error
ให้ติดตั้ง fonts เพิ่ม
https://raspberrypi.stackexchange.com/questions/32755/install-omxplayer-on-the-commandline
จากข้อ 11. user อื่น ๆ เล่นได้แต่พอไป Test run จาก หน้า Web Home Assistant จะไม่ได้ ไม่เล่นเพลง
ต้อง Add user homeassistant เข้า Group ด้วย ไม่อย่างนั้น จะ Error เมื่อเรียกจาก homeassistant
แล้ว reboot เครื่อง
ลอง Run ที่ User homeassistant
12. Fix IP Wifi
https://electrondust.com/2017/11/25/setting-raspberry-pi-wifi-static-ip-raspbian-stretch-lite/
เพิ่มไว้ล่างสุด
แล้ว Reboot เครื่อง
13. configuration.yaml
14. scrip.yaml
15. automations.yaml
***** เพิ่มเติม IP Wifi มีปัญหา ****
พบปัญหา Wifi ที่ Config จาก Service dhcpcd มีปัญหา
เครื่องเปิดปกติทำงานปกติ แต่ Wifi ใช้ไม่ได้เข้าไม่ได้
เปลี่ยนวิธี Config ip wifi ใหม่ ใช้
https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip-address
เพิ่ม
ของ Lan ถ้าต้องการใช้ก็ Fix จากไฟล์นี้เหมือนกัน เช่น
แล้วปิด Service dhcpcd ไปให้ไปใช้ network/interfaces แทน
แล้ว Reboot เครื่อง ก็จะสามารถใช้ IP ที่ Fix ได้
1. Download PI และ Restore ใส่ SD Card นำไป Boot
https://www.raspberrypi.org/downloads/raspbian/
2. ตั้งค่า wifi
https://raspberrypihq.com/how-to-connect-your-raspberry-pi-to-wifi/
ถ้ามี Error แสดง
Wi-Fi is currently blocked by rfkill
ใช้คำสั่ง
- sudo rfkill unblock 0
- ifconfig wlan0 up
https://www.raspberrypi.org/forums/viewtopic.php?t=206223
3. Set Wifi Connect
- iwlist wlan0 scan
- nano /etc/wpa_supplicant/wpa_supplicant.conf
เพิ่ม
แล้ว reboot เครื่อง Run คำสั่งnetwork={
ssid="SCI_EMP"
psk="XXXXXX"
}
- ifconfig wlan0
จะได้ IP
4. Config rapberry pi
เลือก Time zone
- open ssh timezone
- raspi-config
- เปลี่ยนชื่อ Host ตามที่ต้องการ เช่น pi-moning
- เปิด ssh
และอื่น ๆ
Run set locale
- locale-gen en_US en_US.UTF-8 th_TH th_TH.UTF-8
ติดตั้ง ntp และ config ntp
5. ติดตั้ง
https://www.home-assistant.io/docs/installation/raspberry-pi/
Run Command
- sudo apt-get update
- sudo apt-get upgrade -y
- sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev
- sudo useradd -rm homeassistant -G dialout,gpio,i2c
- cd /srv
- sudo mkdir homeassistant
- sudo chown homeassistant:homeassistant homeassistant
- sudo -u homeassistant -H -s
- cd /srv/homeassistant
- python3 -m venv .
- source bin/activate
- python3 -m pip install wheel
- pip3 install homeassistant
hass ใช้เวลาสักพัก ประมาณ 20-30 นาที
ถ้าขึ้น INFO (MainThread) [homeassistant.core] Timer:starting คือเสร็จแล้ว
6. เข้าหน้า Web ตั้งรหัสผ่าน user
http://ipaddress:8123
7. ทำ hass auto service
ทำต่อจากข้อ 8
https://intranet.sci.com/blog.php?u=281&b=1603
เพิ่มเติม
https://www.home-assistant.io/docs/autostart/systemd/
https://community.home-assistant.io/t/unit-home-assistant-homeassistant-service-not-found/28507
8. Confing configuration.yaml
all config file
- cd /home/homeassistant/.homeassistant
คำสั่ง restart service
- systemctl restart home-assistant@homeassistant
AIQ
สร้างไฟล aqi.sh
#!/bin/sh
#New Key 20200206 348 Day
result=$(curl -s --location --request GET "api.airvisual.com/v2/city?city=Samut%20Sakhon&state=Samut%20Sakhon&country=Thailand&key=XXXXXXXXXXXXXX")
echo $result | jq -r .data.current.pollution.aqius
สมัครฟรี 10000 ครั้ง/เดือน หมดอายุ 348 วัน XXXX คือคีย์ที่ได้จาก Web
https://www.airvisual.com/thailand/bangkok
9. ติดต้ง jq
- sudo apt install jq
10. Code sh ยัดค่าใส่ sensor
- nano configuration.yaml
เพิ่ม
#AIQ From aiq.sh
sensor:
- platform: command_line
name: AQI
scan_interval: 3600
command: "/home/homeassistant/.homeassistant/aqi.sh"
11. เล่นเพลง MP3
copy mp3 ไปไว้ตามที่ต้องการ
ติดตั้งโปรแกรม
- apt-get install omxplayer
ทดลองเล่นด้วยคำสั่ง
- omxplayer /home/pi/MP3/Auto_7.55.mp3
ถ้ามี Error
Error: Unable to open font
ให้ติดตั้ง fonts เพิ่ม
- apt-get install libpcre3 fonts-freefont-ttf
https://raspberrypi.stackexchange.com/questions/32755/install-omxplayer-on-the-commandline
จากข้อ 11. user อื่น ๆ เล่นได้แต่พอไป Test run จาก หน้า Web Home Assistant จะไม่ได้ ไม่เล่นเพลง
ต้อง Add user homeassistant เข้า Group ด้วย ไม่อย่างนั้น จะ Error เมื่อเรียกจาก homeassistant
- usermod -a -G audio homeassistant
- usermod -G video homeassistant
แล้ว reboot เครื่อง
ลอง Run ที่ User homeassistant
- su - homeassistant
- /usr/bin/omxplayer /home/pi/MP3/1.mp3
12. Fix IP Wifi
https://electrondust.com/2017/11/25/setting-raspberry-pi-wifi-static-ip-raspbian-stretch-lite/
- nono /etc/dhcpcd.conf
เพิ่มไว้ล่างสุด
interface wlan0
static ip_address=192.168.0.175
static routers=192.168.0.2
static domain_name_servers=8.8.8.8
แล้ว Reboot เครื่อง
13. configuration.yaml
- nano configuration.yaml
shell_command:
auto_normal: /usr/bin/omxplayer /home/homeassistant/.homeassistant/MP3/Auto_7.55.mp3
song_national: /usr/bin/omxplayer /home/homeassistant/.homeassistant/MP3/Song_National.mp3
no_act: /usr/bin/omxplayer /home/homeassistant/.homeassistant/MP3/No_Act.mp3
song_enough: /usr/bin/omxplayer /home/homeassistant/.homeassistant/MP3/Song_Enough.mp3
stop_mp3: bash /home/homeassistant/.homeassistant/stop_mp3.sh
14. scrip.yaml
- nano scrip.yaml
'1582256882671':
alias: 1. ^{ ^a ^d ^h ^` ^b ^i ^a ^v Manual
sequence:
- service: shell_command.no_act
- service: system_log.write
'1582256923595':
alias: 2. ^` ^~ ^g ^h ^h ^g ^~ ^` ^~ ^g Manual
sequence:
- service: shell_command.song_enough
'1582256950346':
alias: 3. ^` ^~ ^g ^j ^u Manual
sequence:
- service: shell_command.song_national
'1582259558847':
alias: Stop Sound
sequence:
- data: {}
service: shell_command.stop_mp3
15. automations.yaml
- nano automations.yaml
- id: '1582084332514'
alias: 1. ^` ^b ^i ^a ^v ^{ ^a ^u ^{ ^a ^w ^a ^y 7:55
description: ^` ^b ^i ^a ^v ^{ ^a ^u ^` ^{ ^t ^` ^~ ^g ^h ^h ^g ^~ ^` ^~ ^g + ^` ^~ ^g ^j ^u
trigger:
- at: '7:54:57'
platform: time
condition: []
action:
- service: shell_command.auto_normal
initial_state: true
- id: '1582106072377'
alias: 2. ^g ^t ^a ^h ^a 7:30, 7:50 ^a ^` ^{ ^t ^` ^~ ^g ^j ^u 8:00
description: ^{ ^a ^g ^t ^a ^h ^a ^a ^` ^{ ^t ^` ^~ ^g ^j ^u 8:00
trigger:
- at: '7:30:00'
platform: time
condition: []
action:
- data: {}
service: shell_command.no_act
- delay: 00:19:45
- service: shell_command.no_act
- delay: 00:09:45
- service: shell_command.song_national
initial_state: false
***** เพิ่มเติม IP Wifi มีปัญหา ****
พบปัญหา Wifi ที่ Config จาก Service dhcpcd มีปัญหา
เครื่องเปิดปกติทำงานปกติ แต่ Wifi ใช้ไม่ได้เข้าไม่ได้
เปลี่ยนวิธี Config ip wifi ใหม่ ใช้
https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip-address
- nano /etc/network/interfaces
เพิ่ม
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.175
netmask 255.255.255.0
gateway 192.168.0.2
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
ของ Lan ถ้าต้องการใช้ก็ Fix จากไฟล์นี้เหมือนกัน เช่น
auto eth0
iface eth0 inet static
address 10.1.1.30
netmask 255.255.255.0
gateway 10.1.1.1
แล้วปิด Service dhcpcd ไปให้ไปใช้ network/interfaces แทน
- sudo systemctl disable dhcpcd
- sudo systemctl enable networking
แล้ว Reboot เครื่อง ก็จะสามารถใช้ IP ที่ Fix ได้