Khắc phục lỗi cảm biến khi cần xem thì lại Unknown, làm thế nào để lưu và hiển thị lại giá trị trước đó?

Cấu hình tự động lưu lại gía trị cảm biến. Xem lại giá trị cuối cùng cảm biến ghi nhận được trước khi mất tín hiệu.

Khắc phục lỗi cảm biến khi cần xem thì lại Unknown, làm thế nào để lưu và hiển thị lại giá trị trước đó?

Có một điểm cực khó chịu khi sử dụng HASS đó là một số cảm biến sẽ không ổn định, nhất là liên quan tới bluetooth vì vậy thường xuyên rơi vào tình trạng không nhận được tín hiệu và hiển thị Unknown hoặc Unavailable. Tuy nhiên không phải lúc nào chúng ta cũng cần xem giá trị mới nhất của cảm biến, nếu hiển thị giá trị gần nhất thì cũng ổn rồi. Vậy làm thế nào để thực hiện?

Tạo trigger và cảm biến mới để liên tục lưu lại giá trị cảm biến khi nó vẫn chạy

Thêm đoạn sau vào file YAML Config của HASS

template:
	##Cấu hình lưu lại giá trị cảm biến
	- trigger:
	  - platform: state
		entity_id: sensor.m_c_tag_area
		not_to:
			- 'unknown'
			- 'unavailable'
	
	##Cảm biến mới hiển thị giá trị lưu lại cuối cùng
	  sensor:
		- name: "Vị trí Mực"
			state: >
			{% set value = states('sensor.m_c_tag_area') %}
			{{ value if value not in ['unknown', 'unavailable'] else '0' }}
			unique_id: "muc_area_available"

Giải thích:

  1. Chúng ta định nghĩa một template trong đó chứa trigger và sensor
  2. Sensor này sẽ liên tục ghi lại các giá trị của cảm biến sensor.m_c_tag_area khi nó không ở trạng thái unknown hoặc unavailable (tức các giá trị hợp lệ)
  3. Sensor sẽ luôn hiển thị giá trị cuối cùng được lưu lại. Nếu không nhận được giá trị sẽ ghi lại giá trị = 0

Và đây là thành quả, cảm biến sẽ bớt ghi nhận các giá trị ảo do đổi trạng thái liên tục giữa có giá trị và không có giá trị

Mình sử dụng cảm biến này để kiểm tra vị trí mèo đang ở đâu trong nhà để yên tâm khi đi ra khỏi nhà thì không cần phải chạy đi kiếm mèo khắp nơi nữa.

Kết luận

Chỉ với thủ thuật nhỏ này bạn đã khắc phục được phần lớn vấn đề tình trạng cảm biến unavailable. Có câu hỏi nào đừng ngại comment để mình có thể hỗ trợ nhé.

Nếu thấy nội dung bài viết hữu ích, hãy chia sẻ cho bạn bè và người thân. Đừng quên để lại email để theo dõi Geek Playground. Chân thành cám ơn các bạn và hẹn gặp lại trong những nội dung kế tiếp ❤️