petretiandrea / home-assistant-tapo-p100

A custom integration to control Tapo devices from home assistant.
MIT License
802 stars 100 forks source link

Tapo Smart Hub (H100) connected but no visibility of devices paired with it #354

Closed monkga1 closed 11 months ago

monkga1 commented 1 year ago

Add support for Tapo Smart Hub connected devices such as motion sensors (T100) which don't have own IP addresses.

I'd like to use Tapo Motion Sensors like any other HA supported motion sensors.

Piksanhome commented 1 year ago

Support

MohitDeshwal commented 1 year ago

Waiting for the same.

seba1337 commented 1 year ago

I have captured some packets, which seems like json with base64 encoded binary data but I don't know how to decode it. Any tips? I can help with reverse engineering as I have H100 with various sensors on it.

seba1337 commented 1 year ago

OK probably what I've catched was only get status requests from home assistant, meh. I see that everything is encrypted. Seems like a PIA to reverse engineer.

seba1337 commented 1 year ago

On a RTL-SDR in EU: tapo-eu

MohitDeshwal commented 1 year ago

Also have hub with few sensors connected willing to help if I could. @seba1337 Do you also have a Zigbee gateway around? tried connecting these sensors to that, instead of H100? I am worried about the future of these devices and potential Matter support in the Future.

seba1337 commented 1 year ago

I don't think it's ZigBee compatible.

Anyway I can't find any keyword that I could send to the H100 hub that would get me the connected devices or anything like that. The only thing that works is _method: get_deviceinfo

petretiandrea commented 1 year ago

Unfortunately without having the hub phisically, I can't develop a proper integration

seba1337 commented 1 year ago

I have it. How would you approach the problem?

Jacxel commented 1 year ago

Unfortunately without having the hub phisically, I can't develop a proper integration

I am willing to donate the cost of one if you think there is a chance you might be able to get it working. The hub and its accessories work very well and are great value, I would love to be able to integrate them into my HA setup.

KennethS2022 commented 1 year ago

I'd happily chip in financially as well. Would love to have integration for S220 switches.

akshaybengani commented 1 year ago

I am willing to donate, if someone can start working on the integration of Tapo H100, Tapo T315, Tapo S200B

Jacxel commented 1 year ago

I used your plugp100 code to run the state.get_unmapped_state() method on the hub and it returned the following:

{
   "device_id":"802DD58004D46C425A596926B180734E20B87756",
   "fw_ver":"1.2.3 Build 221012 Rel.103821",
   "hw_ver":"1.0",
   "type":"SMART.TAPOHUB",
   "model":"H100",
   "mac":"29-AE-5A-BB-21-0D",
   "hw_id":"F9GG7B5B3B67E8F51EBF6E2BBDE2977B",
   "fw_id":"00000000000000000000000000000000",
   "oem_id":"941591747A8D77AA74916014FEC3AD90",
   "overheated":false,
   "ip":"111.111.1.1",
   "time_diff":0,
   "ssid":"RsGjw7kvbk1lc2g=",
   "rssi":-58,
   "signal_level":2,
   "in_alarm":false,
   "in_alarm_source":"",
   "latitude":000000,
   "longitude":00000,
   "lang":"en_US",
   "avatar":"hub",
   "region":"Europe/Somwehere",
   "specs":"UK",
   "nickname":"VGFwyGDdWI=",
   "has_set_location_info":true
}

I assume it should be possible to create new methods to control the hub and subdevice functionality but I don't really know how, I tried adding a method to set the "in_alarm" parameter to true which i expected to activate the ringer but that didnt seem to happen.

Note: I have replaced most of the potentially identifying details

NJBILLT commented 1 year ago

Any movement on this request? Is it possible? I'd love to see the H100 hub integrated with HA.

akshaybengani commented 1 year ago

Screenshot_20230605-071752 Screenshot_20230605-071711

Well I think the Tapo team is working on the alexa integration directly, Yesterday I saw a device in my alexa devices section as tapo button, it gives 4 events, tap, double tap, rotate clockwise and rotate counter clockwise. I made some alexa routines and it worked for several hours, now again it's not working either some network issue or maybe they are still working on this., So probably we might not need H100 integration directly.

monkga1 commented 1 year ago

I've always had the H100 attached devices in Alexa. Both of my motion sensors are there and I've been using them in Alexa routines since I got them. However still no way of having them in HA :(

Regards Gav


From: Akshay Bengani @.> Sent: Monday, June 5, 2023 2:52:41 AM To: petretiandrea/home-assistant-tapo-p100 @.> Cc: monkga1 @.>; Author @.> Subject: Re: [petretiandrea/home-assistant-tapo-p100] Tapo Smart Hub (H100) connected but no visibility of devices paired with it (Issue #354)

[Screenshot_20230605-071752]https://user-images.githubusercontent.com/22613992/243233662-f94b96a3-f1ac-4bdd-ba5c-81456048640b.png [Screenshot_20230605-071711]https://user-images.githubusercontent.com/22613992/243233665-6e27424d-134d-4fc3-a9fe-dcb9100202cd.png

Well I think the Tapo team is working on the alexa integration directly, Yesterday I saw a device in my alexa devices section as tapo button, it gives 4 events, tap, double tap, rotate clockwise and rotate counter clockwise. I made some alexa routines and it worked for several hours, now again it's not working either some network issue or maybe they are still working on this., So probably we might not need H100 integration directly.

— Reply to this email directly, view it on GitHubhttps://github.com/petretiandrea/home-assistant-tapo-p100/issues/354#issuecomment-1575921878, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A5DS2A7GG57ASKNHDWDOFGLXJU3WTANCNFSM6AAAAAAUGYPP7Q. You are receiving this because you authored the thread.Message ID: @.***>

peculiarvale commented 1 year ago

I'm also willing to donate to have HA integration for H100, to control sensors like T110

petretiandrea commented 1 year ago

I will add support for hub, I'm working on it

Jacxel commented 1 year ago

I will add support for hub, I'm working on it

I have a hub and some accessories, I have some basic python knowledge so if I can help I will

compton2012 commented 1 year ago

If it helps, this repo could probably be easily unpicked to give the required functionality:

https://github.com/mihai-dinculescu/tapo

It breaks down all the api calls neccesary for hub comms and works on the same principle of ip/user/password

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 30 days with no activity.

Mandrake1967 commented 1 year ago

+1 for development of H100 support and peripherals

NJBILLT commented 1 year ago

+1 for development of H100 support and peripherals

It's true. I can see the hub but no sensors. All I can do is ring the doorbell chime.

seba1337 commented 1 year ago

+1 for development of H100 support and peripherals

It's true. I can see the hub but no sensors. All I can do is ring the doorbell chime.

How do you do that?

NJBILLT commented 1 year ago

How do you do that?

After adding the TP-Link Tapo integration, the only device that shows is the H100 hub with controls (siren) and diagnostics (overheat and signal level) Somebody will figure this out to show the devices linked to the hub, but it's way above my pay grade. Would be nice though as the sensors are dirt cheap and reliable.

pbailey008 commented 1 year ago

I've been playing around and managed to get a list of child devices that are connected to the hub. I have very limited programming skills but thought I'd share what I found.

First change was to add get_children to tapo_hub_coordinator

from datetime import timedelta

from homeassistant.core import HomeAssistant
from plugp100.api.hub.hub_device import HubDevice
from plugp100.common.functional.either import Either
from plugp100.responses.device_state import DeviceInfo, HubDeviceState
from plugp100.responses.child_device_list import ChildDeviceList

from custom_components.tapo.coordinators import SensorState, TapoCoordinator

class TapoHubCoordinator(TapoCoordinator[HubDeviceState]):
    def __init__(
        self,
        hass: HomeAssistant,
        device: HubDevice,
        polling_interval: timedelta,
    ):
        super().__init__(hass, device, polling_interval)

    def get_sensor_state(self) -> SensorState:
        return SensorState(self.data.info, None, None)

    def get_device_info(self) -> DeviceInfo:
        return self.data.info

    async def _get_state_from_device(self) -> Either[HubDeviceState, Exception]:
        return await self.device.get_state()

    async def get_children(self) -> Either[ChildDeviceList, Exception]:
        return await self._api.get_child_device_list()

Then in tapo_hub -> initialize_hub I logged the result of self.hub.get_children(): Results have been scrubbed to remove any unique identifiers...

ChildDeviceList(child_device_list=[
{'parent_device_id': 'scrubbed', 'hw_ver': '1.0', 'fw_ver': '1.5.0 Build 230105 Rel.180832', 'device_id': 'scrubbed', 'mac': 'scrubbed', 'type': 'SMART.TAPOSENSOR', 'model': 'T310', 'hw_id': 'scrubbed', 'oem_id': 'scrubbed', 'specs': 'US', 'category': 'subg.trigger.temp-hmdt-sensor', 'bind_count': 1, 'status_follow_edge': False, 'status': 'online', 'lastOnboardingTimestamp': 1691133456, 'rssi': -71, 'signal_level': 3, 'jamming_rssi': -117, 'jamming_signal_level': 1, 'at_low_battery': False, 'temp_unit': 'celsius', 'current_temp': 12.9, 'current_humidity': 78, 'current_temp_exception': 0, 'current_humidity_exception': 18, 'nickname': 'scrubbed', 'avatar': 'sensor_t310', 'report_interval': 16, 'region': 'Australia/Adelaide'}, 
{'parent_device_id': 'scrubbed', 'hw_ver': '1.0', 'fw_ver': '1.10.0 Build 220728 Rel.155144', 'device_id': 'scrubbed', 'mac': 'scrubbed', 'type': 'SMART.TAPOSENSOR', 'model': 'S200B', 'hw_id': 'scrubbed', 'oem_id': 'scrubbed', 'specs': 'US', 'category': 'subg.trigger.button', 'bind_count': 1, 'status_follow_edge': False, 'status': 'online', 'lastOnboardingTimestamp': 1691132148, 'rssi': -72, 'signal_level': 3, 'jamming_rssi': -113, 'jamming_signal_level': 1, 'at_low_battery': False, 'nickname': 'scrubbed', 'avatar': '', 'report_interval': 16, 'region': 'Australia/Adelaide'}, 
{'parent_device_id': 'scrubbed', 'hw_ver': '1.0', 'fw_ver': '1.10.0 Build 220728 Rel.155144', 'device_id': 'scrubbed', 'mac': 'scrubbed', 'type': 'SMART.TAPOSENSOR', 'model': 'S200B', 'hw_id': 'scrubbed', 'oem_id': 'scrubbed', 'specs': 'US', 'category': 'subg.trigger.button', 'bind_count': 1, 'status_follow_edge': False, 'status': 'online', 'lastOnboardingTimestamp': 1691133732, 'rssi': -66, 'signal_level': 3, 'jamming_rssi': -115, 'jamming_signal_level': 1, 'at_low_battery': False, 'nickname': 'scrubbed', 'avatar': 'button', 'report_interval': 16, 'region': 'Australia/Adelaide'}, 
{'parent_device_id': 'scrubbed', 'hw_ver': '1.0', 'fw_ver': '1.8.0 Build 220728 Rel.160245', 'device_id': 'scrubbed', 'mac': 'scrubbed', 'type': 'SMART.TAPOSENSOR', 'model': 'T110', 'hw_id': 'scrubbed', 'oem_id': 'scrubbed', 'specs': 'US', 'category': 'subg.trigger.contact-sensor', 'bind_count': 1, 'status_follow_edge': False, 'status': 'online', 'lastOnboardingTimestamp': 1691133771, 'rssi': -66, 'signal_level': 3, 'jamming_rssi': -115, 'jamming_signal_level': 1, 'at_low_battery': False, 'open': False, 'nickname': 'scrubbed', 'avatar': 'sensor_t110', 'report_interval': 16, 'region': 'Australia/Adelaide'}, 
{'parent_device_id': 'scrubbed', 'hw_ver': '1.0', 'fw_ver': '1.8.0 Build 220728 Rel.160245', 'device_id': 'scrubbed', 'mac': 'scrubbed', 'type': 'SMART.TAPOSENSOR', 'model': 'T110', 'hw_id': 'scrubbed', 'oem_id': 'scrubbed', 'specs': 'US', 'category': 'subg.trigger.contact-sensor', 'bind_count': 1, 'status_follow_edge': False, 'status': 'online', 'lastOnboardingTimestamp': 1691133891, 'rssi': -87, 'signal_level': 1, 'jamming_rssi': -111, 'jamming_signal_level': 1, 'at_low_battery': False, 'open': False, 'nickname': 'scrubbed', 'avatar': 'sensor_t110', 'report_interval': 16, 'region': 'Australia/Adelaide'}
], start_index=0, sum=5)

Hope this makes sense, and helps.

petretiandrea commented 1 year ago

Thanks for support I have already added support to children in my plugp100 library. The last step is to integrate to homeassistant. I'm working on it

CaptainMidnight commented 1 year ago

It would be great if this could give access to the T310 temperature & humidity sensor data, which hang off the hub ......

petretiandrea commented 1 year ago

I'm working on It ;)

perdimia commented 1 year ago

Great that you are working on it, we bought the hub, doorbell and motion sensors thinking they would work straight away in HA, as we have light strips and a camera that are fully working. Kinda waste of money right now, fingers crossed you can get this working.

RaidentaylorFilipeLeite85 commented 1 year ago

I was able to connect the HUB but I cannot access the T110 that is connected to it.

Is it supposed to work or is it still in development?

NJBILLT commented 1 year ago

Is it supposed to work or is it still in development?

Still in development. I also have the hub and one door sensor and can only ring the hub's chime; can't see the sensor. I'm glad I didn't make big investment in these because we may never see it fully implemented. I'm sure it's a lot of work and there isn't a big demand. They work fine with the cloud and are cheap. In lieu of these, I'm using Z-Wave and they work flawlessly with HA.

BaerHub commented 1 year ago

Same here, bought the H100 and T100 and thought it would work for HA, hoping for development

petretiandrea commented 1 year ago

I'm working on it, but require time. While for sensors an integration is working in progress, for button it's technically complex and infeasible. Let me explain, the integration can poll sensors to get proper data and that's ok, but for button the approach is inverse. When you click a button, it's the button which send a "message" to hub and the hub execute a cloud automation. Actually the hub doesn't expose a local "stream" of events, e.g. button pressed, double press, etcc..., so it's not possible to get event in real time and integration to home assistant. This is the same reason why if the hub is offline the automation does not work, cause rely on cloud instead of locally. An improper solution would be to poll high frequency to the hub to capture events, but this generates a lot of unnecessary network traffic

BaerHub commented 1 year ago

I'm working on it, but require time. While for sensors an integration is working in progress, for button it's technically complex and infeasible. Let me explain, the integration can poll sensors to get proper data and that's ok, but for button the approach is inverse. When you click a button, it's the button which send a "message" to hub and the hub execute a cloud automation. Actually the hub doesn't expose a local "stream" of events, e.g. button pressed, double press, etcc..., so it's not possible to get event in real time and integration to home assistant. This is the same reason why if the hub is offline the automation does not work, cause rely on cloud instead of locally. An improper solution would be to poll high frequency to the hub to capture events, but this generates a lot of unnecessary network traffic

thanks for the explanation! it would be already amazing, if sensors would work, otherwise my motion sensor is lies around

TheTomahawk commented 1 year ago

Well the motion sensor work for me...

metadata:
  name: Turn on Kitchen Lights on entering the kitchen .
  description: Turn on Kitchen Lights on entering the kitchen

automations:
  starters:
    - device: Kitchen Sensor - Kitchen
      type: device.state.MotionDetection
      state: motionDetectionEventInProgress
      is: true

  condition:
    type: time.between
    before: sunrise+30min
    after: sunset-60min 
    weekdays:
      - MON
      - TUE
      - WED
      - THU
      - FRI
      - SAT
      - SUN

  actions:
    - type: device.command.OnOff
      on: true
      devices: Kitchen Light - Kitchen
BaerHub commented 1 year ago

i only got 3 entities from H100 but not from the sensor T100 that is connected to the hubAm 06.09.2023 07:20 schrieb TheTomahawk @.***>: Well the motion sensor work for me... metadata: name: Turn on Kitchen Lights on entering the kitchen . description: Turn on Kitchen Lights on entering the kitchen

automations: starters:

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

jamesonuk commented 12 months ago

I'm working on it, but require time. While for sensors an integration is working in progress, for button it's technically complex and infeasible. Let me explain, the integration can poll sensors to get proper data and that's ok, but for button the approach is inverse. When you click a button, it's the button which send a "message" to hub and the hub execute a cloud automation. Actually the hub doesn't expose a local "stream" of events, e.g. button pressed, double press, etcc..., so it's not possible to get event in real time and integration to home assistant. This is the same reason why if the hub is offline the automation does not work, cause rely on cloud instead of locally. An improper solution would be to poll high frequency to the hub to capture events, but this generates a lot of unnecessary network traffic

Yep I get events are a pain. I know it is Rust and I haven't actually looked at it but wonder if https://github.com/mihai-dinculescu/tapo/blob/main/src/api/hub_handler.rs might help at all? Says it took inspiration from your work so could have a similar logical base at some level?

petretiandrea commented 12 months ago

I'm working on it, but require time. While for sensors an integration is working in progress, for button it's technically complex and infeasible. Let me explain, the integration can poll sensors to get proper data and that's ok, but for button the approach is inverse. When you click a button, it's the button which send a "message" to hub and the hub execute a cloud automation. Actually the hub doesn't expose a local "stream" of events, e.g. button pressed, double press, etcc..., so it's not possible to get event in real time and integration to home assistant. This is the same reason why if the hub is offline the automation does not work, cause rely on cloud instead of locally. An improper solution would be to poll high frequency to the hub to capture events, but this generates a lot of unnecessary network traffic

Yep I get events are a pain. I know it is Rust and I haven't actually looked at it but wonder if https://github.com/mihai-dinculescu/tapo/blob/main/src/api/hub_handler.rs might help at all? Says it took inspiration from your work so could have a similar logical base at some level?

My implementation is similar, but tapo doesn't offer a stream of events for button "clicks". The only way is polling, but I think is not a good way cause generate a lot of cpu and network waste

jamesonuk commented 12 months ago

Ah yeah just dug a little into the code and I can see it grabs trigger logs https://github.com/mihai-dinculescu/tapo/blob/main/src/api/child_devices/s200b_handler.rs

Can't see that working for a button. Shame but totally understand.

petretiandrea commented 12 months ago
Immagine 2023-09-12 224447

Working in progress 💪

petretiandrea commented 12 months ago

Ah yeah just dug a little into the code and I can see it grabs trigger logs https://github.com/mihai-dinculescu/tapo/blob/main/src/api/child_devices/s200b_handler.rs

Can't see that working for a button. Shame but totally understand.

Yes, but you get event logs when you ask for them by calling the proper method. An event stream is a push approach to be notified when something change, like button pressure

Hatzefatz commented 11 months ago

Hi!

That looks very great!

I'm using those devices already long time just for tapo automation. I did started using Home assistant and can't wait for that integration!

Can you let us know, how long you thing it will take to give us a alpha or beta version for those sensors TP310??

Thank you very much, Henrik

monisha15081996 commented 11 months ago

Hi, I have managed to pair and integrate the Tapo Hub H100 with Home assistant. The siren works fine. However I am not able to add the Tapo T100 motion sensors since they do not have dedicated ip addresses. Could you please help me integrate the Tapo T100 motion sensors with home assistant?

BaerHub commented 11 months ago

Hi, I have managed to pair and integrate the Tapo Hub H100 with Home assistant. The siren works fine. However I am not able to add the Tapo T100 motion sensors since they do not have dedicated ip addresses. Could you please help me integrate the Tapo T100 motion sensors with home assistant?

same here, im also waiting for a update <3

vishn9893 commented 11 months ago

Ah yeah just dug a little into the code and I can see it grabs trigger logs https://github.com/mihai-dinculescu/tapo/blob/main/src/api/child_devices/s200b_handler.rs Can't see that working for a button. Shame but totally understand.

Yes, but you get event logs when you ask for them by calling the proper method. An event stream is a push approach to be notified when something change, like button pressure

Ciao Andrea, Would it be possible to integrate just a portion of the child-devices for the hub H100 as a custom plugin, In my case as well I have a hub h100 and a couple of T100 sensors i guess for the other people above who mentioned as well who have a similar setup needed for detection/monitoring in this case the trigger (event triggers) could be done using the api call that makes an HTTP GET request to the Tapo API endpoint correct?

petretiandrea commented 11 months ago

Release 2.9.0 is out now! It supports hub's devices, actually I've tested physically with T31 and S200, but I've extended support to other devices like smart door and motion sensor. Feel free to open new issues

DimiTerz commented 11 months ago

Hi, thanks for the big update regarding the HUB. I have S210 and S220 light switches paired to the Hub. Atfter 2.9.0 all switches are listed as devices but do't have any controls. Are there plans to expand the Hub support to this devices as well?

ondrejsmola commented 11 months ago

Hi, thanks for your work. I can finally see temp/hum. sensors and I see there exist door sensors. But I don't see state of door sensors. When I look to log, I see some errors. I run HA in in Docker.

2023-09-21 10:17:18 2023-09-21 10:17:18.312 ERROR (MainThread) [homeassistant.components.binary_sensor] Error adding entities for domain binary_sensor with platform tapo 2023-09-21 10:17:18 Traceback (most recent call last): 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 510, in async_add_entities 2023-09-21 10:17:18 await asyncio.gather(*tasks) 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 590, in _async_add_entity 2023-09-21 10:17:18 if entity.unique_id is not None: 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 File "/config/custom_components/tapo/hub/binary_sensor.py", line 38, in unique_id 2023-09-21 10:17:18 return super().unique_id + "_" + self._attr_name.replace(" ", "_") 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 AttributeError: 'NoneType' object has no attribute 'replace' 2023-09-21 10:17:18 2023-09-21 10:17:18.333 ERROR (MainThread) [homeassistant.components.binary_sensor] Error while setting up tapo platform for binary_sensor 2023-09-21 10:17:18 Traceback (most recent call last): 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 370, in _async_setup_platform 2023-09-21 10:17:18 await asyncio.gather(*pending) 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 510, in async_add_entities 2023-09-21 10:17:18 await asyncio.gather(*tasks) 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 590, in _async_add_entity 2023-09-21 10:17:18 if entity.unique_id is not None: 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 File "/config/custom_components/tapo/hub/binary_sensor.py", line 38, in unique_id 2023-09-21 10:17:18 return super().unique_id + "_" + self._attr_name.replace(" ", "_") 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 AttributeError: 'NoneType' object has no attribute 'replace' 2023-09-21 10:17:18 2023-09-21 10:17:18.366 ERROR (MainThread) [custom_components.tapo.coordinators] Error fetching tapo data: Error communication with API: Server disconnected 2023-09-21 10:17:18 2023-09-21 10:17:18.376 ERROR (MainThread) [custom_components.tapo.coordinators] Error fetching tapo data: Error communication with API: Server disconnected 2023-09-21 10:17:18 2023-09-21 10:17:18.840 ERROR (MainThread) [homeassistant.components.binary_sensor] Error adding entities for domain binary_sensor with platform tapo 2023-09-21 10:17:18 Traceback (most recent call last): 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 510, in async_add_entities 2023-09-21 10:17:18 await asyncio.gather(*tasks) 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 590, in _async_add_entity 2023-09-21 10:17:18 if entity.unique_id is not None: 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 File "/config/custom_components/tapo/hub/binary_sensor.py", line 38, in unique_id 2023-09-21 10:17:18 return super().unique_id + "_" + self._attr_name.replace(" ", "_") 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 AttributeError: 'NoneType' object has no attribute 'replace' 2023-09-21 10:17:18 2023-09-21 10:17:18.955 ERROR (MainThread) [homeassistant.components.binary_sensor] Error adding entities for domain binary_sensor with platform tapo 2023-09-21 10:17:18 Traceback (most recent call last): 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 510, in async_add_entities 2023-09-21 10:17:18 await asyncio.gather(*tasks) 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 590, in _async_add_entity 2023-09-21 10:17:18 if entity.unique_id is not None: 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 File "/config/custom_components/tapo/hub/binary_sensor.py", line 38, in unique_id 2023-09-21 10:17:18 return super().unique_id + "_" + self._attr_name.replace(" ", "_") 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 AttributeError: 'NoneType' object has no attribute 'replace' 2023-09-21 10:17:18 2023-09-21 10:17:18.970 ERROR (MainThread) [homeassistant.components.binary_sensor] Error adding entities for domain binary_sensor with platform tapo 2023-09-21 10:17:18 Traceback (most recent call last): 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 510, in async_add_entities 2023-09-21 10:17:18 await asyncio.gather(*tasks) 2023-09-21 10:17:18 File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 590, in _async_add_entity 2023-09-21 10:17:18 if entity.unique_id is not None: 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 File "/config/custom_components/tapo/hub/binary_sensor.py", line 38, in unique_id 2023-09-21 10:17:18 return super().unique_id + "_" + self._attr_name.replace(" ", "_") 2023-09-21 10:17:18 ^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-21 10:17:18 AttributeError: 'NoneType' object has no attribute 'replace' 2023-09-21 10:27:48 2023-09-21 10:27:48.505 ERROR (MainThread) [custom_components.tapo.coordinators] Error fetching tapo data: Unexpected exception: Clock moved backwards. Refusing to generate ID.

CaptainMidnight commented 11 months ago

@petretiandrea a massive thank you to you, my temperature and humidity sensors are working perfectly.

Thank you my friend for all your hard work!

Enjoy the coffees