bropat / eufy-security-ws

Small server wrapper around eufy-security-client library to access it via a WebSocket.
MIT License
176 stars 26 forks source link

[Question]: packageDetected with doorbell dual #207

Closed ejpenney closed 1 year ago

ejpenney commented 1 year ago

Ask your question

Hi, In https://github.com/bropat/eufy-security-ws/issues/120 we discussed implementing the addition of a "packageDetected" attribute and as of yet, I've never seen this attribute get set for my T8203.

properties:
  name: Doorbell
  model: T8203
  serialNumber: T8203P1122020012
  hardwareVersion: P1
  softwareVersion: 2.0.6.6
  type: 93
  stationSerialNumber: T8203P1122020012
  wifiRssi: -39
  wifiSignalLevel: 4
  enabled: true
  autoNightvision: true
  statusLed: true
  motionDetection: true
  motionDetectionType: 0
  motionDetectionSensitivity: 4
  motionDetected: false
  personDetected: false
  personName: ''
  watermark: 1
  pictureUrl: >-
    https://zhixin-security-pr.s3.us-west-2.amazonaws.com/thumb/2023/04/29/station/T8203P1122020012/raqiCMmPV21xuNcz./20230429115425.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJYLV2KOLW6PU4FSA%2F20230429%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230429T202917Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=392c2337baf57194b9df0587263a0b45cc10a96dfc8a7da72ea6ca387bb11129
  state: 1
  ringing: false
  speakerVolume: 80
  ringtoneVolume: 80
  audioRecording: true
  videoStreamingQuality: 1
  videoWdr: true
  notificationType: 2
  notificationRing: true
  notificationMotion: true
  deliveryGuard: true
  deliveryGuardPackageGuarding: false
  deliveryGuardPackageGuardingVoiceResponseVoice: 1
  deliveryGuardPackageGuardingActivatedTimeFrom: '00:00'
  deliveryGuardPackageGuardingActivatedTimeTo: '23:59'
  deliveryGuardUncollectedPackageAlert: true
  deliveryGuardUncollectedPackageAlertTimeToCheck: '20:00'
  deliveryGuardPackageLiveCheckAssistance: true
  dualCamWatchViewMode: 12
  ringAutoResponse: false
  ringAutoResponseVoiceResponse: false
  ringAutoResponseVoiceResponseVoice: 1100476313
  ringAutoResponseTimeFrom: '00:00'
  ringAutoResponseTimeTo: '23:59'
  snoozeTime: 0
  snoozeStartTime: 0
  snoozeHomebase: false
  snoozeMotion: false
  snoozeChime: false
commands:
  - start_livestream
  - stop_livestream
  - quick_response
  - start_download
  - cancel_download
  - start_talkback
  - stop_talkback
  - snooze
voices:
  '1':
    voice_id: 1
    user_id: c45aae16971fa55709146edc9275f2433f2c8e9d
    desc: Excuse me, can I help you
    device_sn: ''
    voice_link: >-
      https://cdn-us.eufylife.com/voice/2019/06/24/mobile/T8200N0119170068/urcrubXComwHnirl.Excuse%20me%2C%20can%20I%20help%20you.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJYLV2KOLW6PU4FSA%2F20230429%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230429T201906Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=a06099af9aaf341d7c17cca875ace6820380f1620eb480726b8fab76904df5dc
    voice_type: 0
    key_prefix: >-
      /voice/2019/06/24/mobile/T8200N0119170068/urcrubXComwHnirl.Excuse me, can
      I help you.wav
  '2':
    voice_id: 2
    user_id: c45aae16971fa55709146edc9275f2433f2c8e9d
    desc: Please leave it at the door
    device_sn: ''
    voice_link: >-
      https://cdn-us.eufylife.com/voice/2019/06/24/mobile/T8200N0119170068/puOOgwHedpAmA3EL.Please%20leave%20it%20at%20the%20door.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJYLV2KOLW6PU4FSA%2F20230429%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230429T201906Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=e29b38ce3fc06005fced50185cf8158e6aae3270e16a92707ff9da1fed615ed9
    voice_type: 0
    key_prefix: >-
      /voice/2019/06/24/mobile/T8200N0119170068/puOOgwHedpAmA3EL.Please leave it
      at the door.wav
  '3':
    voice_id: 3
    user_id: c45aae16971fa55709146edc9275f2433f2c8e9d
    desc: 'We will be right there '
    device_sn: ''
    voice_link: >-
      https://cdn-us.eufylife.com/voice/2019/06/24/mobile/T8200N0119170068/WqkGKQH2r7JiMCOW.We%20will%20be%20right%20there.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJYLV2KOLW6PU4FSA%2F20230429%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230429T201906Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=0c5fca6cd555cb6a710b1fca1fc653690c8c134860a01cafdd814d2c99fc5afa
    voice_type: 0
    key_prefix: >-
      /voice/2019/06/24/mobile/T8200N0119170068/WqkGKQH2r7JiMCOW.We will be
      right there.wav
  '1100476313':
    voice_id: 1100476313
    user_id: 084ec7dabf7eaa264d6d8e2ebb296979c36ccd3a
    desc: Come around to the backyard
    device_sn: T8203P1122020012
    voice_link: >-
      https://cdn-us.eufylife.com/voice/2022/05/21/mobile/T8203P1122020012/krrUlRDaTj3xQFFv.voice_response_1653169510098.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJYLV2KOLW6PU4FSA%2F20230429%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230429T201906Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=35d1ea0d33016c80404243098e2b3806e00f34fff20dc93dcb522a6539b4bcf1
    voice_type: 1
    key_prefix: >-
      /voice/2022/05/21/mobile/T8203P1122020012/krrUlRDaTj3xQFFv.voice_response_1653169510098.wav
friendly_name: Doorbell Debug (device)

While I have a template sensor pointing at it, the value is never defined.

binary_sensor:
  - platform: template
    sensors:
      doorbell_package_delivered:
        friendly_name: "Doorbell Package Delivered"
        value_template: "{{ states.binary_sensor.doorbell_debug_device.attributes.properties.packageDelivered is defined and states.binary_sensor.doorbell_debug_device.attributes.properties.packageDelivered }}"

Is there some other way I should be detecting the presence of a package?

ejpenney commented 1 year ago

Still seen with 1.4.1, here's some messages from the Add-On Log:

 InvalidPropertyError  Property packageTaken invalid
error stack:
• device.ts:572 getPropertyMetadata
    usr/src/app/node_modules/eufy-security-client/src/http/device.ts:572:15
• device.ts:77 updateProperty
    usr/src/app/node_modules/eufy-security-client/src/http/device.ts:77:48
• device.ts:2016 <anonymous>
    usr/src/app/node_modules/eufy-security-client/src/http/device.ts:2016:38
• timers:569 listOnTimeout
    node:internal/timers:569:17
• timers:512 processTimers
    node:internal/timers:512:7
2023-05-08 10:30:06.371  WARN Station T8203P1122020012 - Heartbeat check failed. Connection seems lost. Try to reconnect... 
2023-05-08 10:30:06.378  INFO  Disconnected from station T8203P1122020012 
2023-05-08 10:30:26.870  WARN Station T8203P1122020012 - Tried all hosts, no connection could be established 
2023-05-08 10:30:26.871  INFO  Timeout connecting to station T8203P1122020012 
2023-05-08 10:30:36.958  INFO  Connected to station T8203P1122020012 on host 192.168.86.114 and port 11770 
2023-05-08 17:06:32.934  INFO  Stopping the station stream for the device T8203P1122020012, because we haven't received any data for 5000 seconds 
2023-05-08 17:06:41.821  ERROR Message error 

 InvalidPropertyError  Property packageDelivered invalid
error stack:
• device.ts:572 getPropertyMetadata
    usr/src/app/node_modules/eufy-security-client/src/http/device.ts:572:15
• device.ts:77 updateProperty
    usr/src/app/node_modules/eufy-security-client/src/http/device.ts:77:48
• device.ts:2000 <anonymous>
    usr/src/app/node_modules/eufy-security-client/src/http/device.ts:2000:38
• timers:569 listOnTimeout
    node:internal/timers:569:17
• timers:512 processTimers
    node:internal/timers:512:7
bropat commented 1 year ago

Fixed in version 1.5.1.