Home Assistant

Home Assistant: theo dõi Thống kê chi tiết Covid19

Corona Virus

Hướng dẫn thêm thông tin về số ca xác nhận, nghi nhiễm, bình phục và âm tính trong dịch bệnh Covid19, gây ra bởi virus SARS-CoV-2, còn gọi là Corona virus hay Wuhan virus. Hi vọng thông tin này giúp bạn và các thành viên trong gia đình sớm cập nhật và nắm được tình hình dịch bệnh để tiện sinh hoạt và giúp cho công tác phòng chống dịch.

Photo: heywood.org
8 phút để đọc hết nội dung

Đây là hướng dẫn thêm vào Home Assistant thông tin về số ca xác nhận, nghi nhiễm, bình phục và âm tính trong dịch bệnh Covid19, gây ra bởi virus SARS-CoV-2, còn gọi là Corona virus hay Wuhan virus.

Cập nhật 12/09/2021

  1. Website lấy dữ liệu đã được chuyển về https://covid19.gov.vn thay vì https://ncov.moh.gov.vn
  2. Cảm biến Rest được hiệu chỉnh cấu hình, nay có thêm attributes – thuộc tính tinh thể hiện thống kê số ca nhiễm, số ca nhiễm trong ngày, đã khỏi, đang điều trị, tử vong của các Tỉnh/Thành phố
  3. Điều chỉnh card ví dụ (Markdown) để hiển thị thông tin của các Tỉnh/Thành phố muốn theo dõi riêng

Hi vọng thông tin này giúp bạn và các thành viên trong gia đình sớm cập nhật và nắm được tình hình dịch bệnh để tiện sinh hoạt và giúp cho công tác phòng chống dịch.

! Lưu ý về Nguồn dữ liệu và Hass

Thông tin được lấy từ nguồn dữ liệu công bố chính thức của bộ Y Tế về tình hình Covid19 tại địa chỉ https://covid19.gov.vn. Chúng tôi chỉ lấy thông tin này và chuyển đổi dạng để phù hợp sử dụng trên Hass. Chúng tôi không can thiệp vào bản chất và nội dung thông tin. Do vậy KonnectED không chịu bất cứ trách nhiệm nào do thông tin sai lệch từ nguồn. Toàn bộ thông tin lấy về bởi Hass phụ thuộc vào tốc độ cập nhật và thông tin cập nhập của bộ Y Tế Việt Nam tại địa chỉ trên.

Sử dụng Rest sensor với nguồn dữ liệu từ server Github như dưới đây yêu cầu máy chủ Hass phải được kết nối vào internet. Điều này không ảnh hưởng đến tính năng điều khiển nội bộ của Hass nhưng có thể cảm biến sẽ hiển thị trạng thái unavailable khi kết nối internet hoặc kết nối đến nguồn tin bị gián đoạn.

mdi:new-box 04/12/2020

Do Bộ Y Tế đã thay đổi thông tin cung cấp từ ngày 12 tháng 4 năm 2020. Chúng tôi điều chỉnh lại cấu hình cảm biến và các Lovelace card ở dưới. Riêng Automation không thay đổi.

Thêm các cảm biến thông tin vào Hass

Bạn copy đoạn cấu hình mẫu sau vào dưới mục sensor: trong file cấu hình chính tại /config/configuration.yaml của Home Assistant hoặc tuỳ theo hiện trạng của Home Assistant. Bạn có thể thay đổi phần name: theo ý thích, tuy nhiên các phần khác cần được giữ nguyên.

  - platform: rest
    name: "VN Covid19"
    resource: "https://konnected.vn/community_services/covid19_VN_stat.json"
    value_template: '{{ value_json.soCaNhiem }}'
    unit_of_measurement: ca
    json_attributes:
      - tuVong
      - dangDieuTri
      - binhPhuc
      - updatedOn
      - tinh

Sau khi thêm, kiểm tra cấu hình và khởi động lại Home Assistant để kích hoạt cảm biến. Nếu thành công, bạn sẽ nhận được cảm biến như dưới đây:

Cảm biến mới (Developer Tools > State > sensor.vn_covid19)

Thêm cảm biến vào giao diện Lovelace

Để thêm cảm biến này vào giao diện Lovelace, sử dụng giao diện web, bạn chọn thêm card mới Add icon, chọn Manual ở dưới cùng rồi xoá hết dữ liệu trong ô nhập, sau đó Copy và Paste đoạn cấu hình bên dưới:

cards:
  - entities:
      - sensor.vn_covid19
    hours_to_show: 48
    refresh_interval: 0
    title: Số Ca Nhiễm
    type: history-graph
  - type: markdown
    content: >
      **Toàn Quốc** Đang Điều Trị: *{{
      "{:,.0f}".format(state_attr('sensor.vn_covid19','dangDieuTri'))}}* Bình
      Phục: *{{ "{:,.0f}".format(state_attr('sensor.vn_covid19','binhPhuc'))}}*
      Tử Vong: *{{
      "{:,.0f}".format(state_attr('sensor.vn_covid19','tuVong'))}}* 

      **Sài Gòn** Số Ca: *{{
      "{:,.0f}".format(state_attr('sensor.vn_covid19','tinh')['TP. Hồ Chí
      Minh']['soCaNhiem'])}}* Hôm Nay: *{{
      "{:,.0f}".format(state_attr('sensor.vn_covid19','tinh')['TP. Hồ Chí
      Minh']['soCaHomNay'])}}*

      **Hà Nội** Số Ca: *{{
      "{:,.0f}".format(state_attr('sensor.vn_covid19','tinh')['Hà Nội']['soCaNhiem'])}}* Hôm Nay: *{{
      "{:,.0f}".format(state_attr('sensor.vn_covid19','tinh')['Hà Nội']['soCaHomNay'])}}*
title: Tình Hình Covid19 VN
type: vertical-stack

Chú thích:

  1. "{:,.0f}".format(...) Template để định dạng lại cách thể hiện số, nhóm hàng nghìn lại bằng dấu “,”
  2. {{state_attr('sensor.vn_covid19','tinh')['TP. Hồ Chí Minh']['soCaNhiem']}} lấy thông tin SoCaNhiem của TP. Hồ Chí Minh. Ví dụ, để lấy thông tin của Khánh Hòa, thay 'TP. Hồ Chí Minh' bằng 'Khánh Hòa'
Covid19 Card
Card thể hiện thống kê tình hình Covid19

Hoặc dùng đoạn cấu hình sau nếu bạn sử dụng Lovelace ở chế độ YAML (cấu hình bằng file). Bạn nên sử dụng cấu hình qua UI.

Automation thông báo khi có thay đổi

Bạn cũng có thể tạo automation thông báo mỗi khi có sự thay đổi tổng số ca nhiễm toàn quốc như dưới đây. Thay thế:
media_player.google_home bằng tên entity bạn muốn phát thông báo lời nói, như media_player.phong_khach_loa chẳng hạn.
notify.mobileapp bằng service thông báo khác bạn đang dùng, như notify.telegram_abc.

- id: '1585534137174'
  alias: Covid19 Notify
  description: thông báo khi số ca nhiễm thay đổi
  trigger:
  - entity_id: sensor.vn_covid19
    platform: state
  condition:
  - after: 06:00:00
    before: '20:30:00'
    condition: time
  - above: '0'
    condition: numeric_state
    entity_id: sensor.vn_covid19
  - condition: template
    value_template: '{{ trigger.to_state.state|int != trigger.from_state.state|int and trigger.from_state.state|int >0 and trigger.to_state.state|int > 0 }}'
  - condition: template
    value_template: '{{ not is_state(''media_player.google_home'',''playing'')
      }}'
  action:
  - data_template:
      message: 'Covid19: Số ca nhiễm hiện tại: {{ trigger.to_state.state }}'
      title: Cập nhật Covid 19
    service: notify.mobileapp
  - data_template:
      entity_id: media_player.google_home
      language: 'vi'
      message: 'Thông báo: tổng số ca nhiễm Covid 19 hiện tại là {{states(''sensor.vn_covid19'')}}'
    service: tts.google_translate_say

Chú thích:
– Ở đây ta kiểm tra trạng thái của media_player.google_home xem có đang phát hay không trước khi thông báo
– Do lỗi kết nối hay lỗi nguồn thông tin, ở một vài thời điểm sensor Rest có thể chuyển sang trạng thái unavailable, do đó ở đây ta thêm 3 điều kiện kiểm tra để loại bỏ thông báo trong trường hợp đó.

Về Bài viết

Bài viết chưa đầy đủ hoặc bạn còn có ý kiến khác? Bạn có thắc mắc và cần thêm thông tin. Vui lòng đăng ý kiến vào mục bình luận để tác giả và Team có thêm thông tin cải thiện chất lượng bài viết. Chúng tôi sẽ giải đáp các thắc mắc ngay trong mục bình luận để giúp được nhiều đọc giả với cùng vấn đề hơn hoặc chúng tôi sẽ trả lời trong một bài viết riêng. Trân trọng cảm ơn bạn!

Cảm ơn bạn đã xem bài viết này!

konnectED Team.

Lên Đầu
  • Đăng ký
Bạn quên mất mật khẩu? Vui lòng nhập tên đăng nhập và địa chỉ email đã đăng ký. Bạn sẽ nhận được liên kết tạo mật khẩu mới qua email (bạn nhớ kiểm tra hộp spam trong trường hợp email đi lạc).