Releases: JurajNyiri/HomeAssistant-Tapo-Control
5.4.1
5.4.0
Version 5.4.0 🔒
This release adds support for the new encryption introduced in the latest and upcoming firmware(s) for cameras. This was first seen in #436 on C210 1.3.9 Build 231019 Rel. 13805n(4555). In these new firmwares a new strengthened communication was introduced, encrypting and decrypting the traffic on fly.
Integration now automatically chooses the highest possible encryption available in firmware of your camera.
Note
When you update camera to the new firmware with the new encryption, you will need to restart HA instance once.
Thank you
@bonvga for providing the logs of communication between app and camera
@GSzabados for help with debugging
@viprapp for help with testing
5.3.9
5.3.8
New Features
- Add: Switch to control recording enabled / disabled
- Add: Recording Plan in attributes of camera entity
5.3.7
5.3.6
New Features
- Add: New sensor entities about all available storages in cameras, generated dynamically from camera. Depending on your settings, values for these entities might change a lot so I would recommend adding them to
exclude
in logbook and/or recorder.
Developer Notes
Recently one of my cameras stopped detecting SD card and thus stopped recording without my knowledge. Because of this, I added all these new data into Diagnostics section of each camera. You can see my example automation below, which automatically notifies me about an unexpected state of SD card in one of my cameras. You can add more triggers from other cameras too and it will work correctly automatically.
Automation to notify about invalid SD card state
Automation YAML:
alias: "Tapo: Detect SD card failure"
description: >-
Detects invalid state of SD cards of tapo cameras and creates a persistent notification
trigger:
- platform: state
entity_id:
- sensor.bedroom_disk_1_detect_status
from: normal
- platform: state
entity_id:
- sensor.bedroom_disk_1_rw_attr
from: rw
- platform: state
entity_id:
- sensor.bedroom_disk_1_status
from: normal
- platform: state
entity_id:
- sensor.bedroom_disk_1_write_protect
from: "0"
condition: []
action:
- service: notify.persistent_notification
data:
message: >
{% set diskName = trigger.entity_id | regex_findall_index('sensor\.(.*?disk_.*?)_') %}
WARNING: Camera {{device_attr(trigger.entity_id,"name")}} SD card failure!
status: {{states("sensor."+diskName+"_status")}}
detect_status: {{states("sensor."+diskName+"_detect_status")}}
rw: {{states("sensor."+diskName+"_rw_attr")}}
write_protect: {{states("sensor."+diskName+"_write_protect")}}
mode: single
Example output:
*triggered with additional state trigger sensor.bedroom_disk_1_record_free_duration
which updates every 10 seconds for me, for testing
5.3.5
5.3.4
5.3.3
Fixes
- Fix: Edge cases where errors "Remote end closed connection without response" were shown
- Fix: Edge case - TypeError: 'NoneType' object is not iterable when no recordings were made during the day