core icon indicating copy to clipboard operation
core copied to clipboard

Camera : unavailable stream on one of two Netatmo Presence cameras

Open mguyard opened this issue 1 year ago • 5 comments

The problem

I've 3 cameras (2 Netatmo Presence and 1 Netatmo Welcome) connected with my own client ID. All stream works except one Presence (camera_terrasse - 70:ee:50:85:42:78) I've tested to call Netatmo API to retrieve id in vpn_url and access to http://<IP_Address>/<ID>/live/files/high/index.m3u8 with success. So stream is able to be retrieve from HA and working from Netatmo App

What version of Home Assistant Core has the issue?

core-2024.8.3

What was the last working version of Home Assistant Core?

core-2024.7.1

What type of installation are you running?

Home Assistant Supervised

Integration causing the issue

netatmo

Link to integration documentation on our website

https://next.home-assistant.io/integrations/netatmo

Diagnostics information

config_entry-netatmo-01J672ABTXBJ4685HS5RNK2G4V.json

Example YAML snippet

No response

Anything in the logs that might be useful for us?

2024-08-26 12:11:44.015 ERROR (MainThread) [homeassistant.components.camera] Timeout getting stream source

Only have this error in logs. But not sure if it's relevant to this camera



### Additional information

Tried to delete, recreate device => Without success
Tried to delete all configuration and switch to Nabucasa Auth link => Without success
Tried to delete all configuration and come back to my ClientID auth => Without success

mguyard avatar Aug 26 '24 10:08 mguyard

Hey there @cgtobi, mind taking a look at this issue as it has been labeled with an integration (netatmo) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of netatmo can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign netatmo Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


netatmo documentation netatmo source (message by IssueLinks)

home-assistant[bot] avatar Aug 26 '24 10:08 home-assistant[bot]

I have the same problem

subbiesub avatar Sep 04 '24 10:09 subbiesub

Hi, +1

I have 5 smarts cameras: 3 OK / 2 KO... And I can reach all m3u8 streams without issue.

This may be a clue, but the 2 KO cameras have a space in their Netatmo name / an underscore in their HA IDentity... Portail > camera.portail > OK Bureau > camera.bureau > OK Garage > camera.garage > OK Parking AV > camera.parking_AR > KO Parking AR > camera.parking_AV > KO

Capture d’écran 2024-09-05 à 00 49 06

Killator avatar Sep 04 '24 21:09 Killator

For me, camera came back without actions.

I don't know if Netatmo rate limit api request based on user-agent like to have done by blocking all Synology NAS to API as they have find that to many request are coming from Synology NAS 🥲

For me it will be my last issue, Synology blocking was the last example of bad camera management by Netatmo with only cloud solution (where they are blocking what they want without notice someone), next week all my Netatmo cam will be replaced with real RTSP cam

mguyard avatar Sep 04 '24 22:09 mguyard

same problems, only one of the two camera works

amphiprius avatar Sep 21 '24 23:09 amphiprius

Hi all,

FYI, everything works fine since few days and I don't know why... I think there is a little enhancement from Netatmo side...

Could you please confirm @mguyard @subbiesub @amphiprius ?

Thx 😉

Image JPEG-0B35E2C8D1C5-1

Killator avatar Sep 24 '24 08:09 Killator

Yes I confirm also on my side it's works. And seems to be stable for now

mguyard avatar Sep 24 '24 08:09 mguyard

Hello, Problem I have the same issue. For me, I have two houses on my Netatmo account. The first house 2 cameras work but on the 2nd house (my main one ...) At first:

  • none of the cameras work (2 exterior, 1 interior). They are displayed as "unavailable". However, I can turn On and Off the lights of the exterior cameras. Then
  • I reload the app and I see a photo of the video on one camera, but no stream. Then
  • I remove the Add-ons and reinstall the add-on not using HA Cloud but the App I created on dev.netatmo.com. No change for the exterior camera. I can now see the stream of the interior camera on the dashboard. However it is written "idle" instead of "streaming". Also when I click on it, sometimes I can see the video, sometimes I see the grey screen "unavailable".

As a side note, I don't see any of the Thermostats. I have "unavailable".

If that helps, here is some log: 2024-11-26 19:51:42.703 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547362110000] Error handling message: Camera is off (home_assistant_error) Ad from fe80::34:c19b:8639:c4c8 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1.1 Safari/605.1.15) 2024-11-26 19:51:48.304 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547362110000] Error handling message: Camera is off (home_assistant_error) Ad from fe80::34:c19b:8639:c4c8 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1.1 Safari/605.1.15) 2024-11-26 19:51:52.382 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547362110000] Error handling message: Camera is off (home_assistant_error) Ad from fe80::34:c19b:8639:c4c8 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1.1 Safari/605.1.15) 2024-11-26 19:54:17.254 ERROR (MainThread) [homeassistant.components.camera] Error adding entity camera.camera_veranda for domain camera with platform netatmo Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 663, in _request conn = await self._connector.connect( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 538, in connect proto = await self._create_connection(req, traces, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 1050, in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 1353, in _create_direct_connection transp, proto = await self._wrap_create_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohttp/connector.py", line 1109, in _wrap_create_connection sock = await aiohappyeyeballs.start_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohappyeyeballs/impl.py", line 82, in start_connection sock = await _connect_sock( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohappyeyeballs/impl.py", line 174, in _connect_sock await loop.sock_connect(sock, address) File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 641, in sock_connect return await fut ^^^^^^^^^ asyncio.exceptions.CancelledError The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 599, in _async_add_entities await coro File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 918, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1366, in add_to_platform_finish await self.async_internal_added_to_hass() File "/usr/src/homeassistant/homeassistant/components/camera/__init__.py", line 791, in async_internal_added_to_hass await self.async_refresh_providers(write_state=False) File "/usr/src/homeassistant/homeassistant/components/camera/__init__.py", line 809, in async_refresh_providers new_provider = await self._async_get_supported_webrtc_provider( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/camera/__init__.py", line 833, in _async_get_supported_webrtc_provider return await fn(self.hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/camera/webrtc.py", line 351, in async_get_supported_provider if not providers or not (stream_source := await camera.stream_source()): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/netatmo/camera.py", line 200, in stream_source await self.device.async_update_camera_urls() File "/usr/local/lib/python3.12/site-packages/pyatmo/modules/module.py", line 502, in async_update_camera_urls self.local_url = await self._async_check_url( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyatmo/modules/module.py", line 514, in _async_check_url resp = await self.home.auth.async_post_api_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyatmo/auth.py", line 86, in async_post_api_request return await self.async_post_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyatmo/auth.py", line 105, in async_post_request async with self.websession.post( File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 1360, in __aenter__ self._resp: _RetType = await self._coro ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 578, in _request with timer: File "/usr/local/lib/python3.12/site-packages/aiohttp/helpers.py", line 749, in __exit__ raise asyncio.TimeoutError from exc_val TimeoutError 2024-11-26 19:55:28.254 ERROR (MainThread) [homeassistant.components.camera] Timeout getting stream source 2024-11-26 19:55:59.254 ERROR (MainThread) [homeassistant.components.camera] Timeout getting stream source 2024-11-26 20:00:35.102 WARNING (MainThread) [hass_nabucasa.cloud_api] Fetched https://alexa-api.nabucasa.com/access_token (400) 2024-11-26 20:01:05.950 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/netatmo/__init__.py", line 157, in register_webhook webhook_register( File "/usr/src/homeassistant/homeassistant/components/webhook/__init__.py", line 54, in async_register raise ValueError("Handler is already defined!") ValueError: Handler is already defined! 2024-11-26 20:07:18.254 ERROR (MainThread) [homeassistant.components.camera] Timeout getting stream source

Home Assistant versions: Core 2024.11.3 Supervisor 2024.11.4 Operating System 13.2 Frontend 20241106.2

adriengendre avatar Nov 26 '24 19:11 adriengendre

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.