home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
69.89k stars 28.98k forks source link

Error while requesting ONVIF pull point #114257

Closed Marcoletto closed 2 months ago

Marcoletto commented 3 months ago

The problem

Registratore: homeassistant.components.reolink.host Fonte: components/reolink/host.py:544 integration: Reolink IP NVR/camera (documentazione, problemi) Prima occorrenza: 24 marzo 2024, 23:55:20 (2 occorrenze) Ultima registrazione: 25 marzo 2024, 06:45:53

Error while requesting ONVIF pull point: Failed to request pull point message: Host 192.168.178.40:80: connection error: [Errno None] Can not write request body for http://192.168.178.40:8000/onvif/event_service. Error while requesting ONVIF pull point: Failed to request pull point message: Host 192.168.178.40:80: connection error: Cannot connect to host 192.168.178.40:8000 ssl:default [Connect call failed ('192.168.178.40', 8000)].

How can I solve this issues?

Thanks

What version of Home Assistant Core has the issue?

core-2024.3.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Reolink IP NVR/camera

Link to integration documentation on our website

https://www.home-assistant.io/integrations/reolink

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 3 months ago

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

Code owner commands Code owners of `reolink` 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 reolink` 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)


reolink documentation reolink source (message by IssueLinks)

Joo01 commented 3 months ago

Hi, I've been having the same problem for a few days now. I get the error only for model "E1 Outdoor Pro" camera. My other three "E1 Outdoor" models don't log issues.

Beside the error mentioned above (which occurs every minute) 2024-04-02 09:22:29.399 ERROR (MainThread) [homeassistant.components.reolink.host] Error while requesting ONVIF pull point: Host 192.168.1.120:443: failed to request pull point message, not yet subscribed

I also get once the error message: 024-04-02 09:23:31.692 ERROR (MainThread) [homeassistant.components.reolink.host] Reolink HofCAM event long polling subscription lost: Host 192.168.1.120:443: failed to subscribe long_poll: Host 192.168.1.120:443: connection error: Cannot connect to host 192.168.1.120:8000 ssl:default [Connect call failed ('192.168.1.120', 8000)].

config_entry-reolink-02d23784f96917c36894c4e52faca5b8.json

is the "event connection: Fast polling" correct? ...and if not how can I change this?

  "data": {
    "model": "E1 Outdoor Pro",
    "hardware version": "IPC_560SD88MP",
    "firmware version": "v3.1.0.2838_23102510",
    "HTTPS": true,
    "HTTP(S) port": 443,
    "WiFi connection": false,
    "WiFi signal": null,
    "RTMP enabled": true,
    "RTSP enabled": true,
    "ONVIF enabled": true,
    "event connection": "Fast polling",
    "stream protocol": "rtsp",
    "channels": [
      0
    ],
    "stream channels": [
      0
    ],
    "IPC cams": {
      "0": {
        "model": "E1 Outdoor Pro",
        "firmware version": "v3.1.0.2838_23102510"
      }
    },
    "capabilities": {
      "Host": [
        "ONVIF",
        "RTSP",
        "RTMP",
        "UID",
        "initial_ONVIF_state",
        "ftp",
        "push",
        "recording",
        "email",
        "update",
        "wifi",
        "hdd",
        "reboot"
      ],
Joo01 commented 3 months ago

Hi, I was able to fix the problem. Restarting HA and the camera didn't help. Removing and re-integrating the camera into HA didn't help either. Only after I switched to RTMP and then back to RTSP did the problem resolve. No password change or other setting changed!

Maybe here is the debug log for those who encounter the same problem:

2024-04-04 08:42:52.399 DEBUG (MainThread) [homeassistant.components.reolink.host] restarting long polling task
2024-04-04 08:42:52.399 DEBUG (MainThread) [reolink_aio.api] Host 192.168.1.120:443: subscription request data:
<soap:Envelope xmlns:add="http://www.w3.org/2005/08/addressing" xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsdl="http://www.onvif.org/ver10/events/wsdl">
<soap:Header>
<add:Action>http://www.onvif.org/ver10/events/wsdl/EventPortType/CreatePullPointSubscriptionRequest</add:Action>
<wsse:Security soap:mustUnderstand="true" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-e01add7a-2475-465b-a43c-cd0520e6cc85">
<wsse:Username>admin</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">blablabla</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">blablabla</wsse:Nonce>
<wsu:Created>2024-04-04T06:42:52.000Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<wsdl:CreatePullPointSubscription>
<wsdl:InitialTerminationTime>PT15M</wsdl:InitialTerminationTime>
</wsdl:CreatePullPointSubscription>
</soap:Body>
</soap:Envelope>
2024-04-04 08:42:52.404 DEBUG (MainThread) [reolink_aio.api] Reolink long_poll subscribe error: Host 192.168.1.120:443: connection error: Cannot connect to host 192.168.1.120:8000 ssl:default [Connect call failed ('192.168.1.120', 8000)].
Marcoletto commented 2 months ago

Hi, I was able to fix the problem. Restarting HA and the camera didn't help. Removing and re-integrating the camera into HA didn't help either. Only after I switched to RTMP and then back to RTSP did the problem resolve. No password change or other setting changed!

Maybe here is the debug log for those who encounter the same problem:

2024-04-04 08:42:52.399 DEBUG (MainThread) [homeassistant.components.reolink.host] restarting long polling task
2024-04-04 08:42:52.399 DEBUG (MainThread) [reolink_aio.api] Host 192.168.1.120:443: subscription request data:
<soap:Envelope xmlns:add="http://www.w3.org/2005/08/addressing" xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsdl="http://www.onvif.org/ver10/events/wsdl">
<soap:Header>
<add:Action>http://www.onvif.org/ver10/events/wsdl/EventPortType/CreatePullPointSubscriptionRequest</add:Action>
<wsse:Security soap:mustUnderstand="true" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-e01add7a-2475-465b-a43c-cd0520e6cc85">
<wsse:Username>admin</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">blablabla</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">blablabla</wsse:Nonce>
<wsu:Created>2024-04-04T06:42:52.000Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<wsdl:CreatePullPointSubscription>
<wsdl:InitialTerminationTime>PT15M</wsdl:InitialTerminationTime>
</wsdl:CreatePullPointSubscription>
</soap:Body>
</soap:Envelope>
2024-04-04 08:42:52.404 DEBUG (MainThread) [reolink_aio.api] Reolink long_poll subscribe error: Host 192.168.1.120:443: connection error: Cannot connect to host 192.168.1.120:8000 ssl:default [Connect call failed ('192.168.1.120', 8000)].

Thanks, seems that this is the solution. I'm waiting to be sure and than I will close the topic.

starkillerOG commented 1 month ago

Seems like the RTSP or RTMP port was somehow closed, probably by a (automatic) firmware update of the camera. Switching between RTMP and RTSP ensured both ports were enabled.

Glad it is now resolved for you.

If you appreciate the reolink integration and want to support its development, please consider sponsering the upstream library or purchase Reolink products through this affiliate link.