Philips Avent SCD921 Connected Videophone; accessing rtsp-stream; user/password unknown

Hello community,

I have a Philips Avent SCD921Connected Videophone, which connects to my WiFi and provides all functions (Video / Audio-Stream, playing music, Nightlight on/off…etc.) via app.

I would like to stream to my PC in the first step, using VLC.
The Baby-unit provides these ports:

  • 554 RTSP
  • 6000 X11
  • 6668 IRC
  • 8686
  • 8687

As a later step, it would be great, if other functions of the Babyphone could be provided to home assistant, e.g. to trigger automations.

The Philips service did not provide an answer (yet), or will probably not answer.

The problem is: the rtsp stream is protected via username/password. I have tried my email/password combination, which I used to register the app. This did not work.

Does anyone have an idea, how I could receive the videostream in the first step?

Sidenote: The Monitor-Units is also connected to WiFi on commissioning, but during normal use, it does not seem to connect to WiFi.

Best wishes :slight_smile:

2 Likes

I have the same camera but couldn’t find it either.
However, I have tried some stuff and noticed that when using admin as username and the Virtual ID (can be found in the Baby Monitor+ app. Go to camera settings → Baby monitor details → About this baby monitor) I don’t get an authentication error anymore.

The next step is the stream path. I couldn’t figure that one out yet, but maybe this can help you in the right direction.

Thank you alot! This is a good step forward, I could reproduce successfully from your information.

I captured traffic from the Philips Baby Monitor+ App and saw it connects to
HTTPS 443 “a1.tuyaeu.com
DNS 53 “m1.tuyaeu.com
STUN 3478 3.126.77.24
STUN 3478 35.207.116.126
TCP 1443 3.78.237.40
STUN 56045 [local IP address of my camera] (payload 88 B, excerpt: tuya_p2p_sdk_v3.3.1)
TCP 6668 [local IP address of my camera]
etc.

From that I would wildly guess: if the Philips Babycam is tuya-based, maybe we could get the rtsp-path from the tuya sdk documentation. So far I could find e.g. this: RTSP-Tuya IoT Development Platform-Tuya Developer

From the PCAP file opened in wireshark I could not find anything interesting so far, BUT:

Case 1: Internet access for my phone is disabled. I open the app, the app cannot connect and I see no video => It seems the app registers online to get the camera connection.

Case 2: Internet access for my phone is enabled. I open the app, the app connects and I see the video stream. Then I cut my phone’s internet connection (but of course I leave the local Wifi connection intact). I still see the video stream => It maybe that the video maybe streamed locally. I am not sure about if I really cur my internet connection, because I can see UPD connections, which are probably belonging to the video stream:
[local camera IP]:35916 → 10.215.173.1:55245

btw to moderators: The forum prevented me to post this answer because of:

  1. unformatted text
  2. I am only allowed to post 2 links, so I opened 40 tabs of different topics. Hopefully this gets posted now
2 Likes

Great Findings. Did you get any further. I also see traffic to tuya (a bit surprised Philps uses Tuya) Would love to get the stream in HA and maybe the tempature sensor for example. I might look in to it later more to see if i also can do a wireshark

1 Like

Same here, very keen to see any progress on this.

1 Like

The monitor connects directly to the camera while in range. Otherwise it switches to Wifi - the one network the camera is connected to. I tested it many times while traveling, using hotel networks.

1 Like

To find out if it works completely local, is it not possible to unplug your incoming internet cable to your router together with your mobile data of your phone?

Already done that. The monitor does work both through direct and WiFi connection. The phone app does not as it needs to connect to a server to get the url to the camera stream. One it has the url no internet connection is needed any more if the phone and the camera are on the same WiFi network.

1 Like

Any updates on this? I am very interested in finding a solution!

A new idea came to my mind: HA has a tuya-integration. Since this Babyphone seems to be (mostly) a tuya-device, maybe it can be integrated via the tuya-integration. The tuya-integration asks for a “User Code”, which is probably not the virtual ID:
grafik

Any ideas are appreciated :smiley:

Hi!

The QR code which is shown on the Baby Monitor mobile app when you try to add a new device contains a JSON object.This includes three props:

  • s - Wi-Fi SSID
  • p - Wi-Fi password
  • t - which seems to be a valid User Code

The Tuya Smart app seems to generate simliar QR Codes when adding a device.

I’m not sure if a device can be added to multiple users though (Baby Monitor account + Tuya Smart account to get it working in Home Assistant) and haven’t got time left to experiment.

1 Like

Hi @Olive5333 ,

I just tried your clever suggestion, and the user code seems to be accepted by the Tuya integration.
When I scan the QR code generated by the integration with the Tuya Smart app, I can confirm and the account is successfully added. Unfortunately, the device doesn’t appear in the Tuya app or as a device in the integration :confused:

Edit:
After enabling logging, I got:

2024-03-19 01:22:22.387 ERROR (Thread-9) [root] Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/threading.py", line 1073, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/mq.py", line 111, in run
    self.__run_mqtt()
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/mq.py", line 124, in __run_mqtt
    mq_config = self._get_mqtt_config()
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/mq.py", line 47, in _get_mqtt_config
    response = self.api.post("/v1.0/m/life/ha/access/config", None,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(-9999999) The server is busy, please try again later
1 Like

any update here? :slight_smile:

I know this has been a year but I’m curious on how you got around to discover your local ip with wireshark. I’m not too familiar with its use.
Would you (or anyone else) care to explain me how to retreive the pcap file.

I’m trying something new through Smart Life & Tuya developer platform but can’t seem to find the local ip to be able to add it in the “tuya local” or “local tuya” integration.

The device itselfs gives me my public IP and i cannot find any used ip with network scan or in my dhcp-leases.
So i’m currently stuck here

EDIT: found the solution. Local IP can be found easily through a network scan. The philips avent babymonitor uses AltoBeam Wi-Fi chips that start macaddress F4:B1:9C…
The first IP was my camera, the second my receiver.

Nice, that you arw also on the topic.

Yesterday there were firmware updates performed on both the camera and the monitor. I have no clue what has been changed. I cannot believe, that philips has opened up more.

I guess, that all the people owning this baby phone, wanting to integrate it into home assistant also have little children, which keep them busy :wink: So this would explain the little progress here.

Interesting, that you saw IPs of both the Camera and the monitor. Before, I only saw the Camera connected, since the monitor seemed not to connect to WiFi if not needed (just a wild guess; probably only needed for firmware updates, or maybe if the range of the direct radio connection is not enough).

I have some similar output - fresh Docker-Install on QNap… Works a bit - and then no updates after some minutes…

[11:26:13] INFO: Home Assistant Core finish process exit code 100
2024-11-11 11:26:34.638 ERROR (Thread-2) [root] Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/threading.py", line 1073, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/mq.py", line 111, in run
    self.__run_mqtt()
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/mq.py", line 129, in __run_mqtt
    mqttc = self._start(mq_config)
            ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/mq.py", line 149, in _start
    mqttc.connect(url.hostname, url.port)
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 914, in connect
    return self.reconnect()
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 1073, in reconnect
    sock.do_handshake()
  File "/usr/local/lib/python3.12/ssl.py", line 1320, in do_handshake
    self._sslobj.do_handshake()
ConnectionResetError: [Errno 104] Connection reset by peer