YooSee SD-M5 doorbell: 1080p, PoE, RTSP, Onvif, only $66

Evo

n3wb
Joined
Nov 8, 2021
Messages
4
Reaction score
0
Location
Japan
I wouldn't waist your time trying to mess with an updated firmware, there is nothing new in there you'd need to use, I'm sure the only changes in there have to do with the servers the doorbell connects to. If you really want to make a difference and help us make some progress in this thread I would run the stock firmware, connect to shell over UART and start making changes in the Yosee app and see what it changes in the file system. The first place you could start looking is in /rom/custom_setting.ini
What type of things are you wanting to make progress with? As a bare minimum I'd like to disable telnet, set a root password and to run sshd. After doing that I could consider other things.
 

mrxyz

Getting the hang of it
Joined
May 4, 2020
Messages
72
Reaction score
79
Location
Island
What type of things are you wanting to make progress with? As a bare minimum I'd like to disable telnet, set a root password and to run sshd. After doing that I could consider other things.
What would help is someone can look at this Nextcloud Talk API + webrtc. I can ring my phone, but answering and starting a videocall doesn't seem to work yet. If this would work, then you can skip this whole yousee app / .cn communication stuff.
 

Evo

n3wb
Joined
Nov 8, 2021
Messages
4
Reaction score
0
Location
Japan
What would help is someone can look at this Nextcloud Talk API + webrtc. I can ring my phone, but answering and starting a videocall doesn't seem to work yet. If this would work, then you can skip this whole yousee app / .cn communication stuff.
I've got webrtc working with this device. See GitHub - deepch/RTSPtoWebRTC: RTSP to WebRTC use Pion WebRTC and for a Home Assistant app using this see GitHub - AlexxIT/WebRTC: Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC and MSE technology
Latency is typically less than a second. The stability of the stream seems to be primarily driven by the quality of the network.
I'm not familiar with Nextcloud Talk API (but I do run a Nextcloud instance). Getting audio to work has not really been a priority for me. I get a via mqtt and HA when the bell is pushed and check the video feed to know if the caller should be ignored or if I should answer the door. This all works nicely with my router keeping the doorbell restricted to the internal network only.screenshot-20211215-110952.png
 

mrxyz

Getting the hang of it
Joined
May 4, 2020
Messages
72
Reaction score
79
Location
Island
I've got webrtc working with this device. See GitHub - deepch/RTSPtoWebRTC: RTSP to WebRTC use Pion WebRTC and for a Home Assistant app using this see GitHub - AlexxIT/WebRTC: Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC and MSE technology
Latency is typically less than a second. The stability of the stream seems to be primarily driven by the quality of the network.
I'm not familiar with Nextcloud Talk API (but I do run a Nextcloud instance). Getting audio to work has not really been a priority for me. I get a via mqtt and HA when the bell is pushed and check the video feed to know if the caller should be ignored or if I should answer the door. This all works nicely with my router keeping the doorbell restricted to the internal network only.View attachment 112099
The issue is more about the communication part. Getting the video part from the ONVIF stream and pipe it to WebRTC is not the biggest issue. I can have my phone ringing when somebody presses the doorbell, but after that it is getting more complicated:

curl -X POST -H "Accept: application/json" -H "OCS-APIRequest: true" -u "username:pass" "<room>/participants/active"
curl -X GET -H "Accept: application/json" -H "OCS-APIRequest: true" -u "username:pass" "<room>"
curl -X POST -d'{flags: 7}' -H "Accept: application/json" -H "OCS-APIRequest: true" -u "username:pass" "<room>"

If someone can tell me what the next steps would be, it would be great :)
 
Joined
Nov 1, 2019
Messages
2
Reaction score
0
Location
MD
I think my Yoosee finally died.
There is no video, constant clicking inside the doorbell and the thing rings the bell with no one there. LOL.

I do not think I will get another one, because it looks like there are better options.
I will take any suggestions on my next move!
When I first bought mine I took it apart while reading this thread and when going back together the doorbell button got stuck pressed in which caused it to act weird. See if the button is stuck on yours before declaring it dead.

I've had mine running on an isolated network for about 2 years streaming video only (the crappy 5 FPS 99% of the time) to blue iris and within the last few months the daytime video started having a pink tint to it. Still looks the same as it always did at night. With the recent firmware modification activities I'm debating buying a new one because there still isn't a better POE option anywhere close in price.
 

Florissilfhout

Young grasshopper
Joined
Dec 9, 2020
Messages
35
Reaction score
13
Location
Netherlands
I'm trying to flash a revised firmware for testing purposes (includes MQTT, busybox, set_time.sh/dhcp.script from @whoami ™) but I am unable to find the device with the IPC_upgrade_tool. The SD card reader on the device is still broken. Any ideas on how to flash it through UART or Telnet?
 

whoami ™

Pulling my weight
Joined
Aug 4, 2019
Messages
230
Reaction score
224
Location
South Florida
I'm trying to flash a revised firmware for testing purposes (includes MQTT, busybox, set_time.sh/dhcp.script from @whoami ™) but I am unable to find the device with the IPC_upgrade_tool. The SD card reader on the device is still broken. Any ideas on how to flash it through UART or Telnet?
For IPC tool to work the doorbell and the computer running the tool has to be able to connect to yosee servers.
 

Florissilfhout

Young grasshopper
Joined
Dec 9, 2020
Messages
35
Reaction score
13
Location
Netherlands
Thanks whoami!
I was able to upload the beta firmware but it got stuck at upgrading... In the end, it didn't take the new firmware but fortunately the device is still running the previous firmware. My Unifi setup was/is still blocking multiple threats targeting the doorbell, so I've removed WAN connection to the doorbell once more.
Maybe the beta firmware is too big, might give it another go when I get the chance.
 

Florissilfhout

Young grasshopper
Joined
Dec 9, 2020
Messages
35
Reaction score
13
Location
Netherlands
The problem I'm having is not being able to edit any of the scripts on the doorbell. Using vi, editing and then :wq does not write the changes.
 

brommetje

n3wb
Joined
Apr 21, 2020
Messages
15
Reaction score
0
Location
Holland
Just started with Home Assistant how can I implement this doorbell?
I think I can use mosquitto_pub for this? Do I need to create an binary sensor or something else, looking for an example?
 

Florissilfhout

Young grasshopper
Joined
Dec 9, 2020
Messages
35
Reaction score
13
Location
Netherlands
Where (what partition) are you trying to write to?
Just /npc/ (where I used to be able to edit files).

Just started with Home Assistant how can I implement this doorbell?
I think I can use mosquitto_pub for this? Do I need to create an binary sensor or something else, looking for an example?
You edit the message in doorbell.sh on the doorbell to reflect your username and password, and the IP of your MQTT Broker, then in Home Assistant you can create an Automation with trigger MQTT, topic Home/Groundfloor/Outside/Doorbell followed by whatever you want when someone rings your doorbell.

Something like this:
Code:
alias: Doorbell_Notify
description: ''
trigger:
  - platform: mqtt
    topic: Home/Groundfloor/Outside/Doorbell
condition: []
action:
  - service: script.turn_on
    target:
      entity_id: script.doorbell_sonos
  - service: camera.snapshot
    target:
      entity_id:
        - camera.silfhout_camera_front_doorbell
    data:
      filename: /media/tmp/snapshot_silfhout_door.jpg
  - service: notify.mobile_app_oneplus_9_pro
    data:
      message: Somebody is at the door!
      title: Dingdong
      data:
        delay:
          hours: 0
          minutes: 0
          seconds: 0
          milliseconds: 500
        channel: Doorbell
        ttl: 0
        priority: high
        image: /media/local/tmp/snapshot_silfhout_door.jpg
  - service: notify.mobile_app_iphone
    data:
      message: Somebody is at the door!
      title: Dingdong
      data:
        delay:
          hours: 0
          minutes: 0
          seconds: 0
          milliseconds: 500
        entity_id: camera.silfhout_door
        image: /media/local/tmp/snapshot_silfhout_door.jpg
  - service: media_player.media_pause
    target:
      entity_id: media_player.lg_webos_smart_tv
mode: parallel
max: 10
 
Last edited:

brommetje

n3wb
Joined
Apr 21, 2020
Messages
15
Reaction score
0
Location
Holland
Just /npc/ (where I used to be able to edit files).


You edit the message in doorbell.sh on the doorbell to reflect your username and password, and the IP of your MQTT Broker, then in Home Assistant you can create an Automation with trigger MQTT, topic Home/Groundfloor/Outside/Doorbell followed by whatever you want when someone rings your doorbell.

Something like this:
Code:
alias: Doorbell_Notify
description: ''
trigger:
  - platform: mqtt
    topic: Home/Groundfloor/Outside/Doorbell
condition: []
action:
  - service: script.turn_on
    target:
      entity_id: script.doorbell_sonos
  - service: camera.snapshot
    target:
      entity_id:
        - camera.silfhout_camera_front_doorbell
    data:
      filename: /media/tmp/snapshot_silfhout_door.jpg
  - service: notify.mobile_app_oneplus_9_pro
    data:
      message: Somebody is at the door!
      title: Dingdong
      data:
        delay:
          hours: 0
          minutes: 0
          seconds: 0
          milliseconds: 500
        channel: Doorbell
        ttl: 0
        priority: high
        image: /media/local/tmp/snapshot_silfhout_door.jpg
  - service: notify.mobile_app_iphone
    data:
      message: Somebody is at the door!
      title: Dingdong
      data:
        delay:
          hours: 0
          minutes: 0
          seconds: 0
          milliseconds: 500
        entity_id: camera.silfhout_door
        image: /media/local/tmp/snapshot_silfhout_door.jpg
  - service: media_player.media_pause
    target:
      entity_id: media_player.lg_webos_smart_tv
mode: parallel
max: 10
 

brommetje

n3wb
Joined
Apr 21, 2020
Messages
15
Reaction score
0
Location
Holland
Thanks @Florissilfhout I will try it out when I receive my new PI4 just another question how do you copy the silfhout.jpg from the doorbell to /media/tmp? my DoorSafe is getting an fake gateway address so only able to do something on my internal network.

Still problems with reboots also after implementing the set_time.sh script how can solve this of stopping reboots?
Is this really an date/time problem?
 

Florissilfhout

Young grasshopper
Joined
Dec 9, 2020
Messages
35
Reaction score
13
Location
Netherlands
I have another script in Home Assistant making the snapshot (as it is a regular camera entity), which stores it in /media or wherever you want on your Pi/Synology/HomeAssistant-server.
The reboots are still a problem yes. I have a new patch ready to install but I may have made a mistake since I cannot get it to install on the doorbell.

If your Set_Time script is working correctly, you should not even notice it's rebooting every 3-5 days. I usually tell by the date/time when it's displaying 1970...
 

brommetje

n3wb
Joined
Apr 21, 2020
Messages
15
Reaction score
0
Location
Holland
I have another script in Home Assistant making the snapshot (as it is a regular camera entity), which stores it in /media or wherever you want on your Pi/Synology/HomeAssistant-server.
The reboots are still a problem yes. I have a new patch ready to install but I may have made a mistake since I cannot get it to install on the doorbell.

If your Set_Time script is working correctly, you should not even notice it's rebooting every 3-5 days. I usually tell by the date/time when it's displaying 1970...
In my case it stills reboots ones a day, I have an time server running on my internal network, what do you use for the timezone variabel TZ?
Can you share your set_time script because I saw your also from Holland so same timezone I should think.
 

sp00025

n3wb
Joined
Jul 26, 2020
Messages
27
Reaction score
13
Location
Madrid
In my case it stills reboots ones a day, I have an time server running on my internal network, what do you use for the timezone variabel TZ?
Can you share your set_time script because I saw your also from Holland so same timezone I should think.
I also reboot my Yoosee doorbell once a day. For a few month now my set_time script works well, after I set up a cron job to restart the ntpd in my router. This is the code I use in set_time script:

Bash:
#!/bin/sh

# Sync with UTC time from local ntp server
/mnt/disc1/busybox sleep 5
ntpd -q -p 192.168.x.x
/mnt/disc1/busybox sleep 8
ntpd -q -p 192.168.x.x
T=$(date +"%Y-%m-%d %H:%M:%S")
TZ='WET-0WEST-1,M3.5.0/01:00:00,M10.5.0/02:00:00'
export TZ
date -s "$T"
TZ here is GMT with DST set for Europe. Make adjustment for your own TZ. It is important that this script is run by /ntp/dhcp.script, and then it resync once a day when reboot. The doorbell works well with Home Assistant, sending snapshot on ring to Telegram, but that is done in NodeRed using standard HASS ONVIF integration also capable of getting a stream.
 
Last edited:

mrxyz

Getting the hang of it
Joined
May 4, 2020
Messages
72
Reaction score
79
Location
Island
Can anyone check what the framerate is when viewing over the ONVIF1 stream? I played with the binary a little bit and set it to 30 (which should be possible according to the specs of the board) and it seems to run much smoother now. VLC also says it is running at 30 fps.
 

mrxyz

Getting the hang of it
Joined
May 4, 2020
Messages
72
Reaction score
79
Location
Island
Also, anybody here able to get rid of the time at the top left? I looked at the npc binary a bit, but couldn't find the responsible code unfortunately.

edit I think I might have found out. I'll go and check tomorrow / after the weekend if I'm right and can remove this timestamp thing

edit Nope, still haven't got rid of that timestamp thing :/
 
Last edited:

Joelaero

n3wb
Joined
Jan 10, 2022
Messages
1
Reaction score
0
Location
Strasbourg
I have a Reolink NVR RLN8-410, and wondering if anyone has managed to successfully connect the YooSee SD-M5 doorbell to this NVR.
I have tried RTSP, and Onvif with no luck.
Hello,

Does anyone succeeded in connecting the Yoosee doorbell to an onvif reolink NVR?
Also the audio is coming up broken on the Yoosee iOS app. the video is very good…

thanks
Joel
 
Top