Script trong Home Assistant

Written by Admin on March 15, 2021 Categories: Sunshine Sliving

Script trong HASS là gì?

Hiểu theo một cách đơn giản thì Script cho phép thiết lập một chuỗi hành động liên tiếp nhau có thứ tự.

Tại sao lại cần đến Script trong Hass?

Vì Script sẽ thực hiện một chuỗi các hành động liên tiếp nhau, ví dụ khi về nhà thay vì thực hiện các hành động rời rạc như bật tất cả các đèn, mở máy lạnh, điều chỉnh nhiệt độ…​ thì một việc đơn giản hơn có thể thực hiện là xây dựng một đoạn Script để thực hiện tất cả những hành động trên chỉ với một thao tác duy nhất.

Cấu trúc Script trong HASS

Ví dụ về Script:

script:
  iamhome:
    sequence:
      # gọi service mở đèn và mở máy lạnh
      - service: switch.turn_on
        entity_id:
          - switch.main_light_1
          - switch.air_con
       # gọi service tắt switch báo động
      - service: switch.turn_off
        entity_id: switch.alarm

Cấu trúc Script gồm có:

  • script: Khai báo script.

  • iamhome: Tên của script.

  • sequence: Là câu khai báo của script.

  • service: Khai báo thiết bị và sự kiện của thiết bị đó.

  • entity_id: Chỉ ra cụ thể thiết bị nào.

Lưu ý: Phải đảm bảo đúng cú pháp (khoảng trắng ” ” và gạch nối “-“)

Các cách để viết script

script điều khiển thiết bị sonoff

Cách 1: Viết vào file config/scripts.yaml

script scripts

Cách 2: Viết vào file config/configuration.yaml

script conf

Sau khi viết scripts Check configuration và reload script

checkscript

Click EXECUTE để test Scripts

Tương tự viết script tắt sonoff

No Comments on Script trong Home Assistant

Cài đặt Raspbian cho Raspberry Pi trên Windows

Written by Admin on  Categories: Sunshine Sliving

Sử dụng Raspberry Pi Imager để cài đặt Raspbian

setup
  • Bước 2: Sử dụng đầu đọc thẻ MicroSD để kết nối thẻ vào máy tính và kiểm tra lại ổ đĩa chứa dữ liệu của thẻ.

  • Bước 3: Mở Raspberry Pi Imager, chọn OS có sẵn trong phần mềm.

os

Hoặc OS đã tải về trong máy.

custom
  • Bước 4: Chọn thẻ MicroSD cần ghi và nhấn Write để bắt đầu ghi OS vào thẻ.

write sd

Sau khi quá trình Write hoàn thành, ngắt kết nối thẻ MicroSD khỏi máy tính, cắm vào Raspberry. Sau đó, có thể cấp nguồn, khởi động và tiến hành các bước cấu hình cho Raspberry (nếu có màn hình để kết nối).

success sd

Cách bật SSH và cấu hình Wifi cho Raspberry (headless Raspberry)

Cách bật SSH cho Raspberry (headless Raspberry)

  • Bước 1: Ngắt nguồn (nếu Raspberry đang hoạt động) và lấy thẻ MicroSD khỏi Raspberry.

  • Bước 2: Dùng đầu đọc MircoSD để kết nối thẻ nhớ vào máy tính.

  • Bước 3: Đi đến ổ đĩa chứa dữ liệu thẻ MicroSD và tạo một file rỗng, không có phần phần mở rộng (extension) và đặt tên là ssh.

ssh

Nếu file bị ẩn phần mở rộng, nhấn vào View trong File Explorer và chọn vào File name extensions.

extension
  • Bước 4: Ngắt kết nối thẻ MicroSD khỏi máy tính và gắn vào Raspberry.

  • Bước 5: Cấp nguồn và khởi động Raspberry. Sau đó, ta có thể SSH được vào Rasberry.

Cách cấu hình Wifi cho Raspberry (headless Raspberry)

  • Bước 1: Ngắt nguồn và lấy thẻ MicroSD khỏi Raspberry.

  • Bước 2: Dùng đầu đọc MircoSD để kết nối thẻ nhớ vào máy tính.

  • Bước 3: Đi đến ổ đĩa chứa dữ liệu thẻ MicroSD và tạo một file tên là wpa_supplicant.conf và thêm các dòng lệnh sau vào và lưu lại.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<Insert 2 letter ISO 3166-1 country code here>

network={
 ssid="NETWORK-NAME"
 psk="NETWORK-PASSWORD"
}
wifi
  • Bước 4: Ngắt kết nối thẻ MicroSD khỏi máy tính và cắm vào Raspberry.

  • Bước 5: Khởi động Raspberry. Dùng Advanced IP Scanner hoặc các phần mềm tương tự để tìm được IP của Raspberry, sau đó ta có thể tiến hành ssh vào Raspberry vào tiến hành các bước cấu hình khác cho Raspberry.

scanner

Có thể chọn SSH bằng Putty hoặc Command line của máy tính

Putty
  • Nhập usernamepassword của để đăng nhập vào Raspberry, usernamepassword mặc định của Raspberry lần lượt là piraspberry.

rasp ssh
  • Command line:

  • Mở Command line trên máy tính và dùng lệnh:

   ssh <username_of_pi>@<IP_of_pi>

username mặc định của Raspberry là pi.

ssh cmd
  • Nhập password của pi, password mặc định là raspberry

password cmd
No Comments on Cài đặt Raspbian cho Raspberry Pi trên Windows

Cài đặt Raspbian cho Raspberry Pi trên Ubuntu

Written by Admin on  Categories: Sunshine Sliving

Một số hệ điều hành phổ biến cho Raspberry PI

Raspberry PI là một máy tính nhúng thông dụng và được phát triển từ năm 2012, vì thế cho đến nay nó được hỗ trợ khá nhiều hệ điều hành, trong đó có Raspbian là hệ điều hành chính thức của Raspberry PI.

Cài đặt Raspbian trên Ubuntu

Cài đặt Imager

  • Để cài đặt hệ điều hành Raspbian cho Raspberry PI, đầu tiên ta cần phải download Imager từ trang chủ của Raspberry PI.

  • Click Raspberry Pi Imager for Ubuntu để tải imager_1.4_amd64.deb

  • Để cài đặt Imager, Double Click lên file đã tải, Nhập password và chờ cài đặt.

  • Sau khi cài đặt, khởi động Imager.

open
  • Chọn CHOOOSE OS để lựa chọn OS cần cài đặt lên PI.

    • Chọn Raspbian Pi OS (other) – Raspbian Pi OS Full (32-bit).

  • Chọn CHOOSE SD CARD để lựa chọn thẻ nhớ cần cài đặt.

  • Sau khi hoàn thành các bước trên ta sẽ có giao diện tương tự như sau.

infoImager
  • Click Write để tiến hành cài đặt. Click yes để đồng ý.

  • Chờ một lúc để quá trình cài đặt hoàn tất.

waitingWrite
  • Hoàn thành bước cài đặt Raspbian

Lưu ý: Có thể tham khảo thêm ở đây nếu quá trình cài đặt có lỗi xảy ra.

Setup cơ bản Raspbian – Khi có đầy đủ thiết bị

  • Gắn thẻ nhớ, kết nối Raspberry Pi với màn hình, bàn phím, chuột và cắm nguồn. Sau khi khởi động thì cửa sổ xuất hiện:

step1
  • Click Next. Thiết lập vị trí, ngôn ngữ, thời gian

step2
  • Click Next. Thiết lập kết nối wifi

step3
  • Click Next. Cập nhật hệ điều hành

step4
  • Click Next. Chờ cho quá trình cập nhật diễn ra

step5
  • Sau khi quá trình cập nhật hoàn thành, click Restart để khởi động lại thiết bị.

  • Sau khi khởi động lại, việc thiết lập ban đầu hoàn tất.

Setup cơ bản Raspbian – Không có đầy đủ thiết bị

Setup wifi khi không có màn hình

Cắm thẻ nhớ vào máy tính cá nhân

  • Vào boot, tạo file wpa_supplicant.conf

cdboot
  • Thêm các dòng lệnh.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=VN
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_PASSWORD"
key_mgmt=WPA2-PSK
}

Trong đó:

  • YOUR_NETWORK_NAME là tên mạng WiFi.

  • YOUR_PASSWORD là mật khẩu WiFi nếu có.

wpaconf

Tháo thẻ nhớ ra cắm vào Raspberry PI và khởi động. Lúc này Raspbian sẽ tự detect folder /boot. Nếu file wpa_supplicant.conf có tồn tại thì nó sẽ được copy vào đúng nơi lưu trữ cấu hình WiFi và kết nối với WiFi mới.

SSH

Để thực hiện SSH tới Raspberry, trước hết máy tính cần phải được kết nối chung mạng với Raspberry PI, sau đó phải tìm được tìm được địa chỉ IP cần kết nối. Ubuntu có hỗ trợ một phần mềm tìm địa chỉ IP là nmap.

  • Cài đặt nmap

$ sudo apt-get install nmap
  • Tìm địa chỉ IP của máy tính Ubuntu

$ ifconfig
ipconf
  • Tìm địa chỉ IP của Raspberry PI

Vì Raspberry PI được kết nối chung mạng với máy tính nên ta có thể dùng địa chỉ lớp mạng của máy tính để tìm. Địa chỉ của máy tính hiện tại là 192.168.1.151 như vậy ta cần tìm IP trên lớp mạng 192.168.1.0/24.

$ nmap -sn 192.168.1.0/24

Địa chỉ IP của Raspberry

iprasp

Ngoài ra cũng có thể sử dụng phần mềm FING trên Smartphone để tìm địa chỉ IP (chỉ cần Smartphome sử dụng cùng mạng với thiết bị).

  • SSH

$ ssh pi@<ip của Raspberry>

Nhập password là: raspberry

sshRasp

Như vậy ta đã hoàn tất việc cài đặt Raspbian trên Ubuntu và có thể truy cập tới Raspberry PI qua SSH.

No Comments on Cài đặt Raspbian cho Raspberry Pi trên Ubuntu

Cài đặt Home Assistant qua Docker

Written by Admin on  Categories: Sunshine Sliving

Docker là gì?

Docker là một nền tảng mở cung cấp cho người sử dụng những công cụ và service để người sử dụng có thể đóng gói và chạy chương trình của mình trên các môi trường khác nhau một cách nhanh nhất. Bạn có thể giả lập môi trường trên Server ở dưới máy local bình thường hoặc trải nghiệm một hệ điều hành mà không cần dùng đến Virtual Studio.

Cài đặt Docker

Bước 1: Lấy quyền truy cập root access

sudo -i
Dock sudoi

Bước 2: Cài đặt các packages cần thiết

apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common
Dock InstallPack

Bước 3: Thêm key GPG của Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Dock addkey

Bước 4: Thêm đường link repo mà bạn tải Docker

add-apt-repository \
 "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
 $(lsb_release -cs) \
 stable"
Dock addrepo

Bước 5: Cài Docker

apt-get install docker-ce docker-ce-cli containerd.io
Dock install

Bước 6: Kiểm tra lại docker đã được cài đúng cách hay chưa

docker run hello-world
Dock check

Cài đặt Home Assistant

Bước 1: Cài đặt packages cần thiết cho HASS

apt-get install \
  apparmor-utils \
  avahi-daemon \
  dbus \
  jq \
  network-manager \
  socat
HASS pack

Bước 2: Cài đặt HASS

curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s
HASS install

Bước 3: Dựa vào IP được cho trên terminal ta truy cập vào home assistant bằng chrome hoặc firefox (Trong ví dụ này là 192.168.1.141:8123). Nếu bạn chưa có tài khoản thì HASS sẽ hướng dẫn bạn tạo tài khoản.

HASS login
HASS Interface
No Comments on Cài đặt Home Assistant qua Docker

Multiroom audio (Spotify) sử dụng Raspberry, Snapcast và Mopidy

Written by Admin on  Categories: Sunshine Sliving

Cài đặt Snapcast server và Snapcast client

Tải Snapserver và Snapclient từ github.com/badaix/snapcast/releases/latest. Ở đây ta cài đặt cho Raspberry nên sẽ tải các file có định dạng snapserver_<version>_armhf.debsnapclient_<version>_armhf.deb.

sudo wget <download_link_snapserver hoặc download_link_snapclient>
Snapcast download

Cài đặt Snapserver

  • Bước 1: Cài đặt Snapserver

sudo dpkg -i snapserver_<version>_armhf.deb
snapserver install
  • Bước 2: Chạy Snapserver.

snapserver
snapserver run
  • Bước 3: Hiển thị IU của Snapserver ở local.
    Địa chỉ mặc định của Snapserver là 0.0.0.0:1780.

snapserver web

Hoặc có thể xem địa chỉ của Snapserver bằng cách xem log.

snapserver ip

Cài đặt Snapclient (Không bắt buộc)

Snapclient chỉ cần thiết nếu ta muốn dùng Raspberry như một client có thể phát nhạc, nếu không ta có thể dùng app Snapcast có sẵn trong CH Play.

snapcast app
  • Bước 1: Cài đặt Snapclient

sudo dpkg -i snapclient_<version>_armhf.deb
snapclient install
  • Bước 2: Chạy Snapclient.

snapclient
snapclient run

Cài đặt Mopidy, các extension cần thiết

wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/buster.list
sudo apt update
sudo apt install mopidy
mopidy install
sudo python3 -m pip install Mopidy-Spotify
sudo python3 -m pip install mopidy-mopify

Chỉnh sửa file cấu hình của Mopidy

File cấu hình của Mopidy mopidy.conf nằm tại đường dẫn ~/.config/mopidy. Để mở file, ta dùng lệnh:

sudo nano ~/.config/mopidy/mopidy.conf
  • Ở phần ta thêm giá trị:

output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! filesink location=/tmp/snapfifo
audio conf
  • Có thể chỉnh sửa lại giá trị hostname trong phần [Http] thành localhost hoặc 127.0.0.1 hoặc IP của Rapberry (không bắt buộc).

Sau khi đã cài đặt các extension ở phần trên, ta cần khai báo extension đó cùng các giá trị của nó trong file cấu hình mopidy.

  • Mopidy-Spotify:

 [spotify]
 username =
 password =
 client_id =
 client_secret =
  • username: có thể tìm thấy trong phần Tổng quan về tài khoản trong Spotify

spotify username
  • password: mật khẩu đăng nhập vào Spotify.

  • client_idclient_secret: Vào mopidy.com/ext/spotify/ và nhấn vào Authenticate Mopidy with Spotify. Sau khi đăng nhập vào Spotify cá nhân, client_idclient_secret sẽ được tạo ra.

spotify idsecret
spotify conf
  • Mopidy-Mopify:

[mopify]
enabled = true
debug = false

Chạy Mopidy và thiết lập Mopify để phát nhạc

Chạy Mopidy và truy cập Mopify

  • Khởi động Mopidy.

mopidy
mopidy run
  • Truy cập vào Mopify: địa chỉ truy cập của mopify tùy vào giá trị hostnameport tại phần [Http] của file cấu hình Mopidy.

mopify web

Thiết lập Mopify để phát nhạc

Trong mục Service, chọn kết nối Spotify và đăng nhập tài khoản Spotify giống với tài khoản đã khai báo trong file cấu hình của Mopidy. Sau khi kết nối, các thông tin trên Spotify đã được đồng bộ với Mopify và có thể bắt đầu phát nhạc bằng Mopify.

mopify music

Các lỗi thường gặp và cách giải quyết

  1. dpkg frontend is locked by another process: lỗi có thể gặp phải khi cài đặt Snapserver và Snapclient bằng dpkg.

Các giải quyết:

  • Bước 1: Tìm PID của tiến trình đang giữ file lock.

 lsof /var/lib/dpkg/lock-frontend
  • Bước 2: Tiến hành kill tiến trình đó bằng PID tìm được.

 sudo kill -9 <PID>
  • Bước 3: Xóa file lock và cấu hình lại dpkg.

 sudo rm /var/lib/dpkg/lock-frontend
 sudo dpkg --configure -a
  1. Không thể phát nhạc bằng Mopify hoặc các bài hát chỉ nằm ở QueuePlaylist dù đã nhấn Play.

Cách giả quyết:
Hãy chắc chắn rằng tài khoản Spotify được khai báo trong file cấu hình Mopidy và tài khoản được kết nối vào Mopify đều giống nhau và là tài khoản Premium.

  1. Nhạc ở các Snapclient được phát quá nhanh và có nhiều tạp âm.

Cách giải quyết:
Không được chạy Snapserver bằng cả hai cách là dùng lệnh:

 snapserver

Và sử dụng service snapserver.service cùng một lúc với nhau mà chỉ được chọn một trong hai.

  1. Khi chạy Mopidy bằng cách chạy mopidy.service thì bị bị báo lỗi thiếu các phần cấu hình dù đã cấu hình trước đó.

Cách giải quyết:
mopidy.service sử dụng file cấu hình nằm ở đường dẫn /etc/mopidy/mopidy.conf còn khi chạy Mopidy bằng lệnh mopidy file cấu hình được dùng nằm ở ~/.config/mopidy/mopidy.conf.

Quản lý Multiroom Audio bằng HASS

Cài đặt Hass trên Docker

Cài đặt Docker

  • Bước 1: Cài đặt Docker.

sudo apt-get update && sudo apt-get upgrade
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
docker install
  • Bước 2: Thêm non-root User vào group Docker (không bắt buộc).
    Mặc định của Docker là chỉ các root user mới có thể khởi chạy các container. Nếu không sử dụng root user thì khi khởi chạy các container phải dùng sudo. Việc thêm các non-root user vào group Docker giúp ta chạy cách lệnh của Docker mà không phải làm các việc trên.

sudo usermod -aG docker <user_name>

Ví dụ, nếu muốn thêm user pi vào group Docker:

sudo usermod -aG docker pi

Sau bước này ta tiến hành reboot lại trước khi tiếp tục.

sudo reboot
  • Bước 3: Cài đặt Docker Compose (không bắt buộc).
    Docker Compose dùng để định nghĩa và chạy multi-container.

sudo pip3 -v install docker-compose
  • Bước 4: Kiểm tra các thông tin và phiên bản Docker đã cài đặt.

docker info
docker info
docker version
docker version
  • Bước 5: Chạy container mẫu Hello World để kiểm tra xem Docker có bị lỗi trong quá trình thiết lập hay không.

docker run hello-world
docker test

Cài đặt HASS trên Docker

  • Bước 1: Cài đặt HASS.

docker run --init -d --name="home-assistant" -e "TZ=<YOUR_TIME_ZONE>" -v <CONFIG_LOCATION>:/config --net=host homeassistant/raspberrypi3-homeassistant:stable
hass install

TZ (Time Zone) có thể được tìm thấy bằng lệnh:

timedatectl list-timezones
hass tz
  • Bước 2: Kiểm tra thông tin của HASS.

docker ps -a
hass run
  • Bước 3: Sử dụng trình duyệt để hiện thị HASS.
    Truy cập địa chỉ <IP_Raspberry_contains_HASS>:8123 bằng trình duyệt để sử dụng HASS.

hass UI
hass dashboard

Thêm Multiroom Audio vào HASS

  • Bước 1: Vào thư mục chứa file cấu hình configuration.yaml, chỉnh sửa và thêm cấu hình của Snapcast.

media_player:
 - platform: snapcast
   host: <ip_of_snapserver>
hass snapcast
  • Bước 2: Thêm script để định nghĩa và hiển thị các client.
    Chọn Edit Dashboard -> Raw configuration editor

hass edit
hass edit2
hass edit3
- type: media-control
  entity: <id_of_snapclient>
  name: <optional_name_for_entity>

Nhấn SAVE để lưu lại.

hass snapclient
hass clientUI
  • Bước 3: Thêm script định nghĩa và hiển thị giao diện của mopify để điều khiển việc phát nhạc.
    Chọn Edit Dashboard -> Raw configuration editor

- type: iframe
  url: 'http://<IP_of_mopidy>:<port_of_mopidy>/mopify'
  aspect_ratio: <optional_aspect_ratio>
  title: <optional_title>

Nhấn SAVE để lưu lại.

hass mopify
hass mopifyUI
No Comments on Multiroom audio (Spotify) sử dụng Raspberry, Snapcast và Mopidy

Kết nối Broadlink RM Pro với Home Assistant

Written by Admin on  Categories: Sunshine Sliving

Như đã được giới thiệu trong bài viết Một số thiết bị SmartHome có sẵn trên thị trường, ta đã biết được Broadlink có khả năng học lệnh điều khiển từ các Remote và nó có khả năng tích hợp vào hệ thống SmartHome. Vậy trong bài này, ta sẽ tìm hiểu cách thức kết nối Broadlink với Home Assistant và cách thức học lệnh của nó như thế nào.

broadlinkxhass

Tham khảo kết nối Broadlink với HASS: link

Các bước cài đặt:

  • Mở file configuration.yaml để bắt đầu thêm component Broadlink

switch:
  - platform: broadlink
    host: #IP Broadlink
    mac: #MAC Broadlink
    switches:
      name1: # đặt tên cho thiết bị
        friendly_name: "Name device" # tên sử dụng của thiết bị
        command_on:
        command_off:
      name2:
        friendly_name: "Name device" # tên sử dụng của thiết bị
        command_on:
        command_off:

Khai báo địa chỉ IP và địa chỉ Mac của thiết bị. Vào modem tìm đến phần các thiết bị đã kết nối với modem để tìm được địa chỉ MAC và địa chỉ IP của Broadlink.

ipmac
  • Click CHECK CONFIGURATION và Restart lại HASS

checkconfrestart
  • Sau khi Restart HASS vào Configuration  Integrations và Configuration Broadlink

configurationbroadlink
  • Vào Developer Tools  Services và khai báo như hình bên dưới. VD khai báo cho TV

learncmd
  • Bắt đầu học lệnh: Click CALL SERVICE

Sau khi click CALL SERVICE trên thiết bị Broadlink sẽ xuất hiện đèn vàng, hướng Remote vào Broadlink và ấn nút bật, tắt. Khi đó đèn vàng sẽ chớp tắt rồi tắt hẳn.

learncmdlight
  • Khai báo lệnh điều khiển

Vào config > .storage  broadlink_remote_34ea34e7de30_codes

seecmd

Copy 2 dòng lệnh vào command_on/command_off

definecmd
  • Thêm Card Broadlink

Vào Overview > ⋮  Edit Dashboard  + Chọn Card mà bạn muốn thêm.

addcard

Đã kết nối và học lệnh. Tiến hành sử dụng.

UIHASS
No Comments on Kết nối Broadlink RM Pro với Home Assistant

Giải pháp thông minh cho ngôi nhà

Written by Admin on  Categories: Sunshine Sliving

1. Cảm biến rung Aqara (Aqara vibration sensor)

Giới thiệu

Cảm Biến Rung Xiaomi Aqara là thiết bị giúp người dùng phát hiện nhanh các chuyển động bất thường. Cho phép bạn giám sát và bảo vệ căn nhà của bạn khởi những nguy cơ tìm ẩn từ môi trường xung quanh. Sản phẩm sử dụng kết nối không dây Zigbee.

Cảm biến hỗ trợ 3 mức cảm biến lực khác nhau, chính vì thế, thông qua ứng dụng trên điện thoại, người dùng có thể thiết lập mức độ cảm biến khác nhau cho từng khu vực trong nhà. Việc này giúp nâng cao độ chính xác của cảm biến, cũng như hạn chế những báo động không mong muốn gây ra bởi những tác nhân vô hại như trẻ con hoặc thú cưng.

HS VbSensor

Giải pháp an ninh

  • Lắp đặt ở vị trí cửa kính ban công, cửa sổ để phát hiện vỡ kính

HS BalconyGlass
  • Lắp đặt ở cửa tủ, ngăn kéo

HS DrawerCabinet
  • Lắp ở các tài sản có giá trị như đồ cổ, tranh vẽ

HS ValuePainting

2. Cảm biến chuyển động Aqara (Aqara motion sensor)

Giới thiệu

Để có thể nhận biết được sự hiện diện của con người trong phòng thì việc sử dụng cảm biến chuyển động là một phương án có thể được nghĩ tới. Và khi đó, có thể thực hiện được nhiều thao tác được cài đặt sẵn như bật đèn, điều khiển nhiệt độ máy lạnh thích hợp…​ khi có người, hoặc khi không có người sẽ tắt toàn bộ thiết bị mà không cần bất cứ hành động nào để điều khiển chúng. Thiết bị sử dụng kết nối không dây zigbee

HS MSensor

Giải pháp an ninh

Có thể lắp đặt ở tất cả các vị trí mà bạn mong muốn như:

  • Lắp đặt ở vị trí gần cửa ra vào hoặc cửa sổ. Khởi động khi ra ngoài để phát hiện người khác xâm nhập vào nhà.

  • Lắp đặt ở các nơi chứa các đồ vật có giá trị.

Các cách lắp đặt:

HS MSensor Op1
HS MSensor Op2
HS MSensor Op3

3. Cảm biến cửa Aqara (Aqara Door sensor)

Giới thiệu

Cảm biến cửa có thể phát hiện việc đóng mở cửa và cửa sổ bằng cách cảm nhận sự gần xa của cảm biến và nam châm. Nó sẽ gửi thông báo đến điện thoại của bạn qua App khi có chuyển động. Bộ cảm biến gồm 1 cảm biến chính và một nam châm. Thiết bị sử dụng kết nối không dây Zigbee.

HS DS

Giải pháp an ninh

  • Đặt ở vị trí cửa ra vào và cửa sổ phát hiện người xâm nhập.

HS DoorWindow

4. Camera Aqara

Giới thiệu

Camera Aqara G2H là một trong những sản phẩm bảo mật được mong đợi nhất trong năm nay vì khả năng tương thích Apple Homekit. Với các tính năng đặc biệt:

  • Ghi hình 1080p full HD và chế độ ghi hình đêm.

  • Hỗ trợ lưu trữ bằng nhiều cách: thẻ SD, NAS và Cloud.

  • Camera góc quay rộng 140 độ, dễ lắp ở nhiều vị trí.

  • Nhận diện thông minh với trí tuệ nhân tạo AI.

  • Giao tiếp hai chiều, âm thanh rõ ràng.

  • Có thể kếp hợp với các thiết bị thông minh khác:

    • Chụp lại hình ảnh khi có ai đó xâm nhập vào nhà bạn với bất kì cánh cửa nào khi phát hiện cửa mở với cảm biến cửa Aqara.

    • Bật đèn khi phát hiện có người đi qua (Đèn Philips Hue + Camera).

    • Tắt máy lạnh khi không có người trong nhà (Camera + Điều khiển máy lạnh Aqara Air P3).

    • Bật chế độ an ninh khi không có ai ở nhà (Aqara Secure Kit + camera).

    • Tắt toàn bộ đèn và tự động khóa nhà khi tất cả mọi người rời khỏi nhà. Thiết bị tham khảo: Công tắc thông minh Aqara cho đèn, Khóa thông minh Aqara N100, Aqara Kit và Camera.

  • Thiết bị có thể sử dụng kết nối không dây WiFi hoặc Zigbee.

HS CameraAquara

Giải pháp an ninh

  • Có thể lắp đặt ở các vị trí gần cửa ra vào, phòng khách, phòng làm việc, hoặc ở vị trí sảnh trước nhà.

HS CaminBeforeDoor
HS CaminDoor

5. Cảm biến tràn nước (Aqara water leak sensor)

Giới thiệu

Nước tràn từ nhà tắm hoặc bồn chứa nước do người dùng quên tắt. Đây là một trong những vấn đề khá phổ biến và rất nhiều người gặp phải. Nó không chỉ ảnh hưởng đến các vât dụng đồ dùng khác trong nhà và thậm chí còn có thể gây chập điện rất nguy hiểm. Mà hơn thế nó là một trong những nguyên nhân của tình trạng lãng phí nước hiện nay. Chính vì lý do này, cảm biến tràn nước Aqara đã ra đời. Như một giải pháp tối ưu để chấm dứt những vấn đề trên. Thiết bị sử dụng kết nối không dây Zigbee.

HS WaterLeak

Giải pháp an ninh

  • Lắp đặt ở những nơi có khả năng tràn nước: phòng tắm, tầng hầm, nhà bếp.

6. Cảm biến khói Aqara (Aqara smoke sensor)

Giới thiệu

Cảm biến khói Xiaomi Mijia Honeywell là thiết bị dò khói giúp ta phát hiện kịp thời các sự cố có thể xảy ra trong nhà. Nó sẽ báo động cháy nổ và truyền tín hiệu đến trung tâm Aqara để kích hoạt báo động. Cảm biến khói Xiaomi Mijia Honeywell có thể sử dụng rộng rãi trong các hộ gia đình, văn phòng…​ Đó là một thiết bị an toàn thông minh, nhưng có vai trò quan trọng trong việc phòng chống cháy nổ.

HS SmokeSensor

Giải pháp an ninh

Lắp đặt ở trần nhà, kho chứa.

HS SMK
No Comments on Giải pháp thông minh cho ngôi nhà

Tìm hiểu về Home Assistant

Written by Admin on  Categories: Sunshine Sliving

Home Assistant (HASS) là gì?

Home Assistant là một hệ thống tự động hóa ngôi nhà thông minh mã nguồn mở và miễn phí được thiết kế để trở thành hệ thống điều khiển trung tâm trong hệ thống Smart Home. Hệ thống được viết trên nền tảng Python 3, với trọng tâm chính là kiểm soát cục bộ và tính bảo mật cao.

Home Assistant được thiết kế để dễ dàng triển khai trên nhiều thiết bị như máy tính nhúng Raspberry Pi, Orange PI…​ hay trên máy tinh để bàn, các thiết bị lưu trữ (NAS) hay thậm chí là trên Container Docker.

Cho đến thời điểm hiện tại Home Assistant hỗ trợ đến 1600 model thiết bị tích hợp sẵn các hệ thống và dịch vụ IoT khác nhau dưới dạng “intergation component” – “thành phần tích hợp”. Các hành động như điều khiển ánh sáng, không khí, hệ thống giải trí, điều khiển từ xa …​ có thể kích hoạt tự động bằng tập lệnh, giọng nói, ứng dụng di động hoặc được điều khiển qua trình duyệt Web Home Assistant.

Dự án Home Assistant được bắt đầu từ tháng 9 năm 2013, do Paulus Schoutsen khởi xướng. Cho đến nay đã có trên 1930 nhà phát triển đã đóng góp vào hệ thống. Bên cạnh đó, dự án còn có các ứng dụng mã nguồn mở và miện phí trên iOS và Android.

Trích dẫn trên Wiki Pedia

Trang chủ Home Assistant

homepageHASS

Tính năng

Home Assistant hoạt động như một trung tâm điều khiển nhà thông minh có tất cả các chức năng phổ biến mà bạn mong đợi từ một nền tảng Home Automation.

  • Quản lý cảnh báo của hệ thống an ninh, giám sát các thiết bị đo năng lượng và các loại cảm biến khác.

  • Cung cấp các hệ thống dự trên hành động và tập lệnh để tự động hóa, xử lý các sự kiện, cài đặt thời gian hoạt động, đặt lịch cho các tác vụ, thông báo, điều khiển bằng giọng nói cũng như các chức năng cho phép tác động trực tiếp hay theo yêu cầu.

  • Được triển khai như một hệ thống tại chỗ, có thể kết nối trực tiếp hoặc gián tiếp với các thiết bị IoT cục bộ, các Gateway/Hub/Bridge hoặc các Cloud từ nhiều nhà cung cấp khác nhau, bao gồm hệ sinh thái Smart Home đóng và mở khác.

  • Tích hợp nhiều thiết bị, dịch vụ và hệ sinh thái IoT phổ biến như: Amazon Alexa, Apple HomeKit, Bluetooth, ecobee, Google Assistant, Google Cast (Google Chromecast), Google Home, Google Nest, IFTTT, IKEA Smart Home , KNX, Xiaomi Smart Home (Mi Home), MQTT, Philips Hue, SmartThings (Samsung), Sonoff (eWeLink, chế độ DIY hay chương trình từ bên thứ 3), Sonos, Tuya Smart, X10, Zigbee, Z-Wave, một số Smart Locks từ Yale/August và nhiều bên thứ 3 khác.

modelhass
  • Cung cấp hệ thống điều khiển qua web hoặc ứng dụng trên iOS, Android cho phép theo dõi tình trạng của tất cả các thiết bị trong nhà. Nhờ đó có thể điều khiển tất cả các thiết bị từ một giao diện duy nhất và lưu trữ tất cả các hoạt động của người dùng trên máy chủ, đảm bảo tính bảo mật cao.

  • Ngoài ra hệ thống còn dễ dàng thiết kế các kịch bản điều khiển thiết bị một cách thông minh giúp ngôi nhà của bạn trở nên hoàn toàn tự động và dễ dàng kiểm soát.

supperviseHASS
  • Một ví dụ cơ bản như tích hợp bóng đèn Philips Hue vào hệ thống, ta cần điều khiển màu sắc của đèn, có thể bật/tắt hoặc đọc trạng thái của đèn. Home Assistant cung cấp các tính năng cho mọi thiết bị, dịch vụ được hỗ trợ, hay truy cập dễ dàng vào các nhóm thành phần như ánh sáng, nhiệt độ, công tắc, đóng mở cửa…​. Quá trình thiết lập cũng dễ dàng nhờ khả năng phát hiện nhiều loại thiết bị khác nhau. Nếu có một thiết bị được hỗ trợ, thì việc thiết lập nó gần như là một quá trình tự động.

Tóm lại: Home Assistant là một hệ thống điều khiển ngôi nhà thông minh một cách vượt trội, dễ dàng kết nối và quản lý thiết bị thông minh, tính bảo mật cao, có thể tích hợp được trên nhiều thiết bị khác nhau.

No Comments on Tìm hiểu về Home Assistant

Github nâng cao

Written by Admin on March 11, 2021 Categories: Git Tutorial

Reset your branch – Đặt lại nhánh

Một trong những tính năng nâng cao của git đó là đặt lại branch của bạn. Để quay trở lại (revert) những lần commit trước. Mặc định sẽ quay lại lần commit gần nhất, nhưng bạn có thể dùng commit hash để quay lại commit cụ thể. Lệnh này có 2 tuỳ chọn khác nhau; –hard và –sort.

git reset --hard <#commit hash>

Lệnh này sẽ đưa branch của bạn về những lần commit cụ thể. Tất cả commit thực hiện sau sẽ được hoàn tác. Dự án của bạn sẽ quay lại chính xác như thời điểm này.

git reset --sort <#commit hash>

Lệnh này cũng sẽ đưa branch của bạn về những lần commit cụ thể, nhưng sẽ giữ tất cả thay đổi của bạn ở local.
Từ thời điểm này, nếu bạn thay đổi bất kỳ điều gì trong tệp đó, thì sẽ được đối chiếu trong Git status.

Git rebase

Một trong những tính năng của git hữu dụng nhất, Git rebase sẽ fetch lần commit cuối từ branch master và đặt code của bạn vào đầu branch master.

git rebase
  • Lưu ý: Việc này có thể tạo ra vấn đề:

    • Ví dụ: Nếu branch của bạn đang hoạt động, tách branch master trong 1 thời gian dài sau đó bạn muốn rebase nó với branch master, điều này có thể gây sự cố, bởi vì sau 1 khoảng thời gian, sẽ có nhiều thay đổi trong branch master gây ảnh hương lên branch của bạn, hoặc phá vỡ các tính năng của ứng dụng.

    • Để khắc phục tình trạng này, bạn cần rebase thường xuyên với branch master.

Git log

Để xem lại thay đổi trên code của bạn. Git log sẽ chỉ ra commit logs. Lệnh này giúp bạn có thể xem
lại những hành động trước đó. Nếu bạn gõ “git log” vào termial trong dự án của bạn, bạn sẽ xem 1 danh sách logs như hình bên dưới.

git log
  • Ngoài ra bạn cũng có thể xem 5 commit gần nhất bằng lệnh sau:

git log -5

bạn có thể thay 5 bằng bất kì số nào

git log --oneline --graph

lệnh này để xem log trên từng dòng:

git log oneline
  • Hoặc để xem riêng hoạt động của một người dùng:

git log --author <#author name>
git log author
  • Bạn có thể xem commit theo format:

git log --pretty=format:"The commit %h is applied by %cn"
git log format

Git stash

Git stash có thể dùng để lưu code của bạn mà không cần thực hiện commit. Khi bạn chạy lệnh:

git stash

code sẽ được lưu local commit tạm thời vào branch của bạn. Nó chỉ được sử dụng cho mục đích cá nhân vì không thể push một stash lên remote respository.

git stash

Khi bạn thực hiện nhiều lần thay đổi trên code và sử dụng git stash để lưu, sử dụng:

git stash list

để xem danh sách, có thể trông giống như:

git stash list

Bạn có thể dễ dàng thực hiện việc lựa chọn những stash cụ thể trong danh sách (nếu bạn có nhiều hơn 1 stash) bằng cách sử dụng:

git stash apply stash stash@{1}
  • Số 1 biểu thị cho stash cũ nhất, mới nhất là số 0.

git stash apply

Nếu bạn không muốn sử dụng code đã apply bằng stash. Bạn có thể dùng lệnh:

git checkout .

để resets tất cả code chưa được commit.

  • Lưu ý, bạn có thể xoá từng stash trong danh sách bằng cách sử dụng:

git stash drop stash@{2}
git stash drop

hoặc:

git stash clear

để xoá tất cả.

git stash clear

Sử dụng .gitignore global

Khi tạo một dự án mới bạn phải khai báo các file/ folder không cần upload lên server trong file .gitignore.
Nếu các file/ folder này không nằm trong project mà tự động sinh ra từ máy hay phần mềm bạn đang dùng, ví dụ bạn dùng MacOs hay có file .DS_STORE, Thumbs.db, .Spotlight-V100…​ sinh ra:

gitignore

nếu bạn code android thường sinh ra những file .gradle hay thư mục /build thường rất nặng.

android

lúc này bạn nên dùng .gitignore global.

Để sử dụng .gitignore global, bạn cần mở termial lên và gõ lệnh sau:

  • Dành cho macOS, Linux, Windows dùng git bash:

git config --global core.excludesfile '~/.gitignore'
  • Dành cho Windows dùng cmd, powershell:

git config --global core.excludesfile "%USERPROFILE%\.gitignore"

Sửa file .gitignore vừa sinh ra và lưu lại. File .gitignore tham khảo:

# Mac OS X hidden files

.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

#Vim swap files
.*.sw?

#PhpStorm
.idea

#vs code
.vscode

#Sublime Text
*.sublime-project

#Node
node_modules
npm-debug.log
yarn-error.log
.phpunit-watcher-cache.php

Lưu ý:

  • Khi bạn tạo 1 project mới, rất có thể IDE sẽ tự tạo file .gitignore cấu hình sẵn với project.

  • Việc tạo .gitignore phù hợp sử dụng cá nhân.

Tổng kết

Thank for watching!

No Comments on Github nâng cao

Giới thiệu về Github

Written by Admin on  Categories: Git Tutorial

Git là gì

Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System — DVCS), nó là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay.

Git cung cấp cho mỗi lập trình viên kho lưu trữ (Repository) riêng chứa toàn bộ lịch sử thay đổi.
DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn (repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa chính. à một máy tính khác (nếu họ có quyền truy cập) cũng có thể clone lại mã nguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mới nhất trên máy tính kia. trong Git thư mục làm việc trên máy tính gọi là Working Tree. Đại loại là như vậy.

dvcs
  • Ngoài ra, có một cách hiểu khác về Git đơn giản hơn đó là nó sẽ giúp bạn lưu lại các phiên bản của những lần thay đổi vào mã nguồn và có thể dễ dàng khôi phục lại dễ dàng mà không cần copy lại mã nguồn rồi cất vào đâu đó. Họ cũng có thể đối chiếu các thay đổi của bạn rồi gộp phiên bản của bạn vào phiên bản của họ. Cuối cùng là tất cả Cuối cùng là tất cả có thể đưa các thay đổi vào mã nguồn của mình lên một kho chứa mã nguồn.

Tại sao nên sử dụng Git

  • Git dễ sử dụng, an toàn và nhanh chóng.

  • Có thể giúp quy trình làm việc code theo nhóm đơn giản hơn rất nhiều bằng việc kết hợp các phân nhánh (branch).

  • Bạn có thể làm việc ở bất cứ đâu vì chỉ cần clone mã nguồn từ kho chứa hoặc clone một phiên bản thay đổi nào đó từ kho chứa, hoặc một nhánh nào đó từ kho chứa.

  • Dễ dàng trong việc deployment sản phẩm.

  • Và nhiều hơn thế nữa.

Lệnh git clone

Thực hiện lệnh git clone để copy, sao chép về các repo từ server, từ dịch vụ lưu trữ git repo, hay từ máy này sang máy khác, thư mục này sang thư mục khác.
Các bạn tạo một folder trên máy local của các bạn trong môt ổ nào đó.
Ví dụ ở folder chính Document, và tên folder con là: RepoGame.
Các bạn mở Terminal và đi vào thư mục RepoGame theo dòng lệnh sau:

cd /Document/RepoGame

Các bạn gõ câu lệnh sau để sao chép project về máy:

git clone git@github.com:account/tên repo

Lệnh git push

Tạo ra remote repository

Nếu là lần đầu tiên đẩy Local Repo lên Remote Repo mới khởi tạo thì cần tạo ra một theo dõi kết nối:

git remote add <repository> <url>

Ví dụ:

gitLabMergeRequest

Đẩy lên server

Sau khi có upstream, mỗi lần cần đẩy dữ liệu lên remote của nhánh master, chỉ việc thực hiện lệnh:

git push

Hoặc có thể đẩy một nhánh cụ thể, ví dụ đẩy nhánh master lên remote có tên origin:

git push origin master

Đẩy lên server tất cả các nhánh

Đẩy tất cả các nhánh ở local lên server có tên origin:

git push origin --all

Xóa một nhánh trên remote

Ví dụ bạn cần xóa nhánh beta, trên remote có tên origin:

git push origin --delete beta

Bạn có thể kiểm tra các nhánh có trên remote bằng lệnh:

git branch -a

Đẩy mới một branch lên remote

Nếu bạn đang khởi động cho dự án thì công việc đầu tiên là thêm remote repository, sau đó thực hiện đẩy branch tại local lên remote bằng lệnh sau.

git push --set-upstream [remote] [branch]

remote là tên của remote mà bạn đã đặt tại bước thêm remote.
branch là branch mà bạn muốn đẩy lên, thường thì ta sẽ chọn branch master.

git push --set-upstream freetuts master

Sau khi lệnh này thực hiện thành công thì mọi dữ liệu trên local của bạn sẽ được đẩy lên remote, và trên remote cũng sẽ tạo một branch giống tên branch mà bạn đã thiết lập.

Đẩy commit với lệnh git push

Sau khi thiết lập với lệnh git push –set-upstream thì trên remote đã có một branch và toàn bộ mã nguồn, vì vậy các thao tác tiếp theo bạn chỉ cần sử dụng lệnh push bình thường. Mỗi lần push nó sẻ hỏi mật khẩu, tuy nhiên bạn đừng lo lắng quá vì bài tiếp theo mình sẽ hướng dẫn cách lưu mật khẩu để nó bỏ qua bước này:

git push

Câu hỏi đặt ra là lệnh này sẽ đẩy lên branch nào? Đương nhiên là nó sẽ đẩy lên branch tương đồng với nhau, nghĩa là nếu ở local bạn đang ở branch master thì khi push lên nó sẽ áp cho branch master trên remote.
Giả sử bạn tạo mới một branch và checkout sang branch đó tại local, lúc này trên remote sẽ không tồn tại branch này, vậy làm sao để thực hiện thao tác push? Lúc này thay vì sử dụng lệnh push thì bạn sử dụng lệnh sau:

git push --set-upstream <remote> <branch_name>

Ví dụ: Tạo mới branch cuong và thực hiện đẩy nó lên remote repo.

git push --set-upstream freetuts thanh.

Git push discussion

git push được sử dụng phổ biến nhất để xuất bản các thay đổi cục bộ tải lên kho lưu trữ trung tâm. Sau khi một kho lưu trữ cục bộ đã được sửa đổi, một đợt đẩy được thực hiện để chia sẻ các sửa đổi với các thành viên trong nhóm từ xa.

push

Sơ đồ trên cho thấy điều gì sẽ xảy ra khi cái chính cục bộ của bạn đã vượt qua cái chính của kho lưu trữ trung tâm và bạn xuất bản các thay đổi bằng cách chạy cái gốc git push. Lưu ý cách git push về cơ bản giống như chạy git merge master từ bên trong kho lưu trữ từ xa.

Tổng kết

Thank for watching!

No Comments on Giới thiệu về Github