twrecked / hass-aarlo

Asynchronous Arlo Component for Home Assistant
GNU Lesser General Public License v3.0
384 stars 78 forks source link

Arlo without Cloud Subscription #376

Open skilly00 opened 3 years ago

skilly00 commented 3 years ago

Hi sorry if I just missed this in the writeup but I am trying to see if when my Arlo 3 subscription ends if I will still be able to record video with this service or it is only able to do so if I maintain the cloud subscription. Thanks for all the hard work on this integration!

-Skilly

rsunny2012 commented 3 years ago

Hello,

can anyone help here. even i dont have cloud subscription but recording all the data in the local sd card ( from base station). how can i link it up with home assistant

twrecked commented 3 years ago

Sorry for the delay getting back. Truthfully, I don't know what will happen. I've always had a cloud subscription.

aarlo use the standard web interface so it will get what that gets.

I've got some ideas about saving the streams and so on but it's in very early stages.

rsunny2012 commented 3 years ago

Hello,

Thanks for the response. All these days i used cloud subscription and use dot get alerts in email and on my app. But paying $10 to this service is not worth. it would be great if you implement the data from sd card ( base station) so that it will be helpful for many people I have planned to use aarlo with homeassitant in this way. Whenever there is motion detected in the camera, it should alert in email with screenshot or alexa should ring the bell or talk anything.

jesserockz commented 3 years ago

I don't have a cloud subscription and i just have my cameras set up to record to the base station USB drive. I have tried to connect directly to the web server that the base station has to get the local files from like the app does but had no luck so far. Arlo have made it really hard to get in.

Previously you could get snapshots without a cloud subscription, but at some point Arlo removed that function too so the only option now is the aarlo way of streaming and taking a frame, but that is quite slow tbh.

rsunny2012 commented 3 years ago

lets hope twerecked help us asap

twrecked commented 3 years ago

@jesserockz Do you still have the ability to position the camera from the web interface? And does it still work? Because if so, you can try the non-streaming snapshots.

rsunny2012 commented 3 years ago

without cloud subscription, we can view live feed from the camera and it stores last motion snapshot too. if we want to get the data, we have to click on library, then select Smarthub Base ( if we have cloud subscription, then cloud icon will come and we can instantly view the data if we have connectivity to internet from phone) and then download the video ( at this point, we dont get snapshots of the video) from smarthub base and then we can view

jesserockz commented 3 years ago

@jesserockz Do you still have the ability to position the camera from the web interface? And does it still work? Because if so, you can try the non-streaming snapshots.

Huh, Something must have changed since I last tried this as its working now giving the fullFrameSnapshot very quickly. Thanks

twrecked commented 3 years ago

I tidied up the snapshot code a couple of revisions ago. But keep an eye on it, I've had cameras where the snapshot failed and the cause was Arlo - the website and app positioning failed as well.

rsunny2012 commented 3 years ago

@twrecked do you have any update on camera setup without cloud subscription

CrouchingWorm commented 3 years ago

Hi folks, Slightly different question, still related to Aarlo without an Arlo subscription. I have 9 Arlo's around my place (inside and out). Only one of them have a subscription as it's part of the initial complimentary three month trial. What I'm seeing is ONLY the Arlo with the active complimentary subscription updates in HA. The other glance cards (and subsequent Deepstack processing) only update when I restart HA.

Is this expected?

It'd be a pity to have to have a subscription on all cameras. Love this integration and massive thanks for all involved in creating it.

jesserockz commented 3 years ago

@CrouchingWorm I don't have a subscription and I get updates from my cameras. Are yours WiFi or base station linked?

CrouchingWorm commented 3 years ago

Hi @jesserockz so sorry for the delay in replying. My camera's are Arlo3 2.5K ones. they're connected via their hub. on their own WiFi channel. From what I've read on the Arlo forums Arlo won't let you pair their cameras on your own WiFi. I have two hubs at my place. I can confirm (at my place) the Arlo app and HA show different images. My car port for example has a different image between the Arlo app compared to HA. While I've been typing this, I've restarted HA and the images all match now... :(

I've triggered motion detection. captured an image. manually triggered by detection automation (with the new image that's updated since the HA restart). Triggered notification automation - all comes throughas expected. But manually.

Versus the one camera that has a subscription which triggers automatically with no manual intervention. the same automations are triggered, with the exception of the entity_id...

CrouchingWorm commented 3 years ago

Hi again, I guess this may be a local config issue then? Seems I'm the only one having this issue. Would it be okay to have someone review my config to see if I've simply made an error? I'll have a look at the event bus to see if anything fires on movement.. I'll add a subscription to one of my cameras and will make no other changes to my configs to see if they start triggering events..

twrecked commented 3 years ago

Post your config, just leave out the sensitive bits!

CrouchingWorm commented 3 years ago

Thanks so much! I let the Arlo app control the motion detection actions, I use the app to store files locally on the attched USB.

Config.yaml

  - platform: aarlo
    siren: True
    all_sirens: True
#    snapshot: True
    siren_volume: 9
    siren_duration: 15

  - platform: aarlo
    monitored_conditions:
    - total_cameras
    - last_capture
    - recent_activity
    - captured_today
    - battery_level
    - signal_strength

alarm_control_panel:
  - platform: aarlo
    away_mode_name: armed
    home_mode_name: home
    trigger_time: 30
    alarm_volume: 8

light:
  - platform: aarlo
binary_sensor:
  - platform: aarlo
    monitored_conditions:
    - motion
    - sound
    - connectivity

camera:
  - platform: aarlo
  - platform: local_file
    name: aarlo7snapshot
    file_path: /config/snapshots/arlo7.jpg
##(plus 8 others)##

aarlo:
  username: BLAHBLAH@hotmail.com
  password: !secret hotmail_arlo
  refresh_devices_every: 2
  stream_timeout: 120
  user_agent: Chrome

### I've not been able to use a web browser to see the camera images for some time (this used to be Linux) - Mobile App shows 
camera feeds fine ##
  reconnect_every: 60
  request_timeout: 120
  save_updates_to: /config/snapshots
  media_retry:
  - 5
  - 15
  - 25
  tfa_host: imap-mail.outlook.com
  tfa_username: BLAHBLAH@hotmail.com
  tfa_password: !secret SMTP_notify_password
  stream_snapshot: true
  stream_snapshot_stop: 3
  snapshot_checks: 1

automations.yaml

- id: 'DetectionID'
  alias: Arlo Detection Stairs
  description: ''
  trigger:
  - event_data:
      entity_id: aarlo.arlo7
    event_type: aarlo_image_updated
    platform: event
  condition:
  - condition: state
    entity_id: alarm_control_panel.aarlo_doukiinternalhub
    state: armed_away
  action:
  - delay: 00:00:20
  - data: {}
    entity_id: image_processing.stairs
    service: image_processing.scan
  mode: single

- id: 'NotificationID'
  alias: Arlo Deepstack Stairs Notification
  description: ''
  trigger:
  - event_data:
      entity_id: image_processing.stairs
      name: person
    event_type: deepstack.object_detected
    platform: event
  condition: []
  action:
  - service: notify.smtp
    data:
      title: Motion Detection
      message: Motion upstairs {{ state_attr('image_processing.stairs','targets_found'),
        state_attr('image_processing.stairs','last_target_detection') }}
      data:
        images:
        - /config/deepstack/arlo7/stairs_latest.jpg
  mode: single

ui-lovelace.yaml

    - type: 'custom:aarlo-glance'
      entity: camera.aarlo_arlo7
      name: UStairs
      show:
        - motion
#        - sound
#        - snapshot
        - battery_level
        - signal_strength
        - captured_today
        - image_date
      top_title: false
      top_status: false
      top_date: false
      image_click: play
      light: light.aarlo_arlo7
      play_direct: true

If I manually restart HA, manually trigger detection (if there's a snapshot in the arlo app with person in it), then manually trigger notification it all updates and notifies like I'd hoped it would. I think the first event on image_updated isn't being detected by my config.. ?

Thanks agin!

twrecked commented 3 years ago

You config looks good, it actually looks very similar to mine. The only comment is you might not need to worry about the user_agent because the code in the latest betas will pick the best one for the needed action.

In no particular order:

logger:
  default: info
  logs:
    custom_components.aarlo: debug
    custom_components.aarlo.camera: debug
    pyaarlo: debug

edit: we don't need all the logs - there will be a lot - just the stuff around the time of the motion detection.

CrouchingWorm commented 3 years ago

Thank you for the prompt reply @twrecked . hass-aarlo-glance (lovelace-hass-arlo) v0.2-alpha.22. Hass-Aarlo is v0.7.1.beta.5.

I've added the debug entries, I'll let it run a little while and will upload as instructed. I'll trigger a couple of my cameras when I upload them.

I've commented out the user_agent per your suggestion.

I'm using Chrome as the browser on my pc. When I do a CTRL+SHIT+I, then a CTRL+SHIFT+R I don't get a refresh. when I check the console I notice an error.. This is highlighted in red: image The path to hass-aarlo-glance is within my environment is: \192.168.1.178\config\www\community\lovelace-hass-aarlo\ It contains two files: hass-aarlo.js and hass-aarlo.js.gz I'm not sure where that /images/ folder is.. might explain the timeout..

I've manually installed the glance card manually previously, haven't touched it since. I use HACS within HA and update pretty regularly. I may have neglected to take some necessary steps perhaps?

My browser never recovers from the applying CTRL+SHIT+I, then a CTRL+SHIFT+R, i.e. it continues to timeout with the spinning wheel in the address bar and browser tab.

~Update I've since changed my ui-lovelace config to reflect the recommended config for v0.2-alpha.22, namely:

   - type: 'custom:aarlo-glance'
      entity: camera.aarlo_arlo1
      name: Front Door
      image_view: direct
      image_top: 'name,status'
      image_bottom: 'motion,library,stream,snapshot,battery'
      image_click: 'stream'
      library_sizes: '3,4,2'

When I hit CTRL+SHIFT+R, this scrolls through continually in the console and no images get updated in my aarlo-glance crads "DevTools failed to load SourceMap: Could not load content for http://192.168.1.178:8123/frontend_latest/core.a3d9350b.js.map: Load canceled due to load timeout"

twrecked commented 3 years ago

Firstly, your card works great here.

The failed to load resource is a trying to read an image from README file of this repository so I think you might have opened the developer tools on the wrong page.

I'm wondering if the card source code is not being updated as well, maybe a permission issue. We can check if you have the latest version. So:

This will open the source to the Arlo camera card.Go to line 661 in the source code, you should see this:

    _sizeSuffix() {
        if( this.gc.small ) {
            return "small"
        }

If you see this you are on the correct version. If not, can you copy/paste here what you see.

CrouchingWorm commented 3 years ago

It's the same version that you're expecting, I see: " _sizeSuffix() { if( this.gc.small ) { return "small" } else if( this.gc.tiny ) { return "tiny" } return "medium" }"

I just kicked off a live stream and it worked! Once I stopped the stream the images within the glance card stayed put (on the two I attempted). I restarted the browser (as it timesout), the glance cards were emplty.

However this thread is about Arlo without a subscription. I'll upload some debaugs today!

CrouchingWorm commented 3 years ago

You config looks good, it actually looks very similar to mine. The only comment is you might not need to worry about the user_agent because the code in the latest betas will pick the best one for the needed action.

In no particular order:

  • What version of Home Assistant, hass-aarlo and aarlo-glance are you using?
  • One small thing to try; force a refresh of the lovelace card on your browser - on the page showing the card type CTRL+SHIFT+I then CTRL+SHIFT+R. That will open the dev tools and make sure the card is up to date.
  • Other than that, we need to see some debug logs. Start with these in your configuration.yaml, and here is a (old fashioned looking) webpage you can use to encrypt your logs.
logger:
  default: info
  logs:
    custom_components.aarlo: debug
    custom_components.aarlo.camera: debug
    pyaarlo: debug

edit: we don't need all the logs - there will be a lot - just the stuff around the time of the motion detection.

I've uploaded the debug. I trimmed it to the times that I tested.

Arlo 2 & 4 are cameras without a subscription - the snapshots updated via the Arlo App/Web portal with me walking about. No detection automations triggered. HA not showing updated snapshots.

Arlo_landing is the camera with the complientary 3 month subscription. It also updated with an image of me walking about. HA showing updated snapshots. It also triggered my detection and notification automations (send the output from deepstack to an email and iOS notification).

Giddy Up! Thanks so much.

twrecked commented 3 years ago

Sorry, you still need to upload the debug here, that web page will just encrypt it.

CrouchingWorm commented 3 years ago

Sorry, you still need to upload the debug here, that web page will just encrypt it.

oops. so I encrypt in that website, save the file and upload here?

twrecked commented 3 years ago

Yes. Or save it to a file and attach that.

On Sun., Mar. 7, 2021, 22:11 CrouchingWorm, notifications@github.com wrote:

Sorry, you still need to upload the debug here, that web page will just encrypt it.

oops. so I encrypt, then paste and submit?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/twrecked/hass-aarlo/issues/376#issuecomment-792429534, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALHJU6TQPYDGFBTMFGIAYD3TCQ553ANCNFSM4VVPPS7A .

CrouchingWorm commented 3 years ago

Encrypted.txt

twrecked commented 3 years ago

Sorry to be a pain; can you add this config and try again.

aarlo:
  verbose_debug: True

I can see what packets Arlo is sending me and see if I can trigger an update from those.

CrouchingWorm commented 3 years ago

Onto it. another encrypted file.txt This time specifically Arlo1, 4 and Landing(Landing only has a subscription assigned to it) have snapshot updates. Cheers,

twrecked commented 3 years ago

It's got late here but there are a few packets I can definitely use. I'll try and get something out tomorrow.

twrecked commented 3 years ago

I'll push a new release later but if you can install master from HACS then you can try the changes.

twrecked commented 3 years ago

Can you see if the latest beta helps.

CrouchingWorm commented 3 years ago

I've applied, I'll get to testing this morning. You're brilliant!

twrecked commented 3 years ago

Here's hoping it helps!

CrouchingWorm commented 3 years ago

Here's hoping it helps!

Holy Heck! It worked. I'm so very pleased. This has been like that for as long as I can remember. You're awesome. I'll get to sending you 'a coffee'.

Wahoo!

twrecked commented 3 years ago

Keep an eye on it. If it stops working grab the same debug traces and post them here.

CrouchingWorm commented 3 years ago

This will open the source to the Arlo camera card.Go to line 661 in the source code, you should see this:

    _sizeSuffix() {
        if( this.gc.small ) {
            return "small"
        }

If you see this you are on the correct version. If not, can you copy/paste here what you see.

Not to monopolise your time... However my aarlo_glance cards are not displaying (Chrome, Mozilla and Edge on various machines). Mobile (iOS App) is okay.. I confirmed above I'm running the latest alpha version of the card through HACS. Am i best shifting this to another thread? or is it likely its just me and i need to sort it elsewhere?

I'm thrilled you sorted my non-subscrption updates issue, so happy either way :)

twrecked commented 3 years ago

On Chrome start with CTRL+SHIFT+I then do a CTRL+SHIFT+R; then look at the console output, there might be an issue.

CrouchingWorm commented 3 years ago

console logs aarlo glance.txt

I've exported the console output..

When I look at the "view issues" section in the console, I see this: Because a cookie’s SameSite attribute was not set or is invalid, it defaults to SameSite=Lax, which prevents the cookie from being sent in a cross-site request. This behavior protects user data from accidentally leaking to third parties and cross-site request forgery. Resolve this issue by updating the attributes of the cookie: Specify SameSite=None and Secure if the cookie should be sent in cross-site requests. This enables third-party use. Specify SameSite=Strict or SameSite=Lax if the cookie should not be sent in cross-site requests.

But I think this is related to a different add on. When I click on Affected Resources It's another add-on that's impacted.

twrecked commented 3 years ago

Can you open this as an issue against the Lovelace card directly. Can you include an example card configuration.