go2rtc icon indicating copy to clipboard operation
go2rtc copied to clipboard

Eufy cameras no longer work with 1.9.7 (mse: unsupported scheme)

Open z-master42 opened this issue 1 year ago • 39 comments

After changing from 1.9.6 to 1.9.7 (Docker), the streams of my two Eufy cameras no longer work. They are a T8410 and a T8210. The stream comes via the eufy-security-ws addon in Home Assistant.

The message mse: unsupported scheme is displayed in the video stream.

When I switch back to 1.9.6, everything works again.

Do I have to make any adjustments in the config? This was previously generated automatically.

z-master42 avatar Nov 12 '24 17:11 z-master42

I am right now working to get my Eufy doorbell T8210 cam that is working good in HA card view (over webrtc-camera) also forwarded to HomeKit. during I did search here how to configure it in go2rtc for HomeKit I did notice the update to 1.9.7 and did update. Now my eufy cam stops working also in HA itself. Not 100% sure if the root case is the update but it looks like. Before the cam live view was working in HA card view over webrtc-camera always, and my main problem was a very slow streaming video in Apple Home app by forwarding the cam over the HomeKit integration of HA. Now I understand that i should do it direct in go2rtc if I see it right? But first I need to sort out if the update break my setup or not ??? And how can I go a version back to the old version of go2rtc in HA to verify?

misc2000 avatar Nov 12 '24 18:11 misc2000

Update: still not working any more at all. this is my config that was generated during installation with the eufy addons and webrtc-camera that worked good before the update.

streams:
  T8210P812419166F:
    - T8210P812419166F

And I see now this warning in the log: 23:30:05,783 trace [streams] dial cons=0 prod=0 error=streams: unsupported scheme: T8210P812419166F 23:30:05,782 trace [streams] check cons=0 media=video, sendonly, ANY 23:30:01,904 warn [rtsp] error=streams: streams: unsupported scheme: T8210P812419166F stream=T8210P812419166F

Can someone guide me how to downgrade to verify?

misc2000 avatar Nov 12 '24 22:11 misc2000

Well. The T8210P812419166F scheme is definitely not supported. I'm not familiar with the eufy addon and don't know how it works. And I don't know why it worked before.

AlexxIT avatar Nov 13 '24 04:11 AlexxIT

I think the scheme is made up of model number and serial number.

The setup consists of the eufy-security-ws addon, the Eufy Security Integration, the WebRTC Camera Integration and Go2RTC (in some variant). The use of Go2RTC is actually included in the Eufy Security Integration documentation.

Stream provider is P2P and the stream URL is an RTSP.

z-master42 avatar Nov 13 '24 05:11 z-master42

I have the same problem.

oig123 avatar Nov 13 '24 12:11 oig123

Same problem here

ahmed-elgamil avatar Nov 13 '24 17:11 ahmed-elgamil

I see the same problem. My Eufy doorbell stream no longer works in Home Assistant when using 1.9.7 Rolling back to 1.9.6 makes it work again.

This is what I see in config

streams:
  T8210P6421501681:
    - T8210P6421501681

foddy-foo avatar Nov 14 '24 06:11 foddy-foo

And what you can see in config for old version?

AlexxIT avatar Nov 14 '24 07:11 AlexxIT

And what you can see in config for old version?

That is the config as seen once I rolled back to 1.9.6

foddy-foo avatar Nov 14 '24 08:11 foddy-foo

And what you can see in config for old version?

The config is the same for both versions.

z-master42 avatar Nov 14 '24 08:11 z-master42

If someone is a developer - it might be helpful to know which commit broke. Just need to build a binary for each commit between 1.9.6 and 1.9.7. Should not be a difficult task, even if you don't know golang.

AlexxIT avatar Nov 14 '24 09:11 AlexxIT

You mean just try out nine different builds?

z-master42 avatar Nov 14 '24 11:11 z-master42

Yes. Just git checkout, go run. Multiple times

AlexxIT avatar Nov 14 '24 11:11 AlexxIT

OK. Looks like we know the problem #1458 All incoming sources broken.

AlexxIT avatar Nov 14 '24 13:11 AlexxIT

Sounds great that you found the source of the problem.

Can someone please give me some how level instructions how to downgrade to 1.9.6 again until the problem is solved?

I am using a Pi4 with standard HAOS Image and did install all over the HA add-on store/hasc as explained in the eufy cam how's to's for HA. I think go2rtc was installed from webrtc-camera when I installed it.

Could it be a try to uninstall webrtc-camera and reinstall it in the hope it will install again the older version from go2rtc?

misc2000 avatar Nov 14 '24 16:11 misc2000

Fixed in latest master version

AlexxIT avatar Nov 14 '24 16:11 AlexxIT

WebRTC camera integration has old go2rtc version - 1.9.4

AlexxIT avatar Nov 14 '24 16:11 AlexxIT

Sounds great that you found the source of the problem.

Can someone please give me some how level instructions how to downgrade to 1.9.6 again until the problem is solved?

I am using a Pi4 with standard HAOS Image and did install all over the HA add-on store/hasc as explained in the eufy cam how's to's for HA. I think go2rtc was installed from webrtc-camera when I installed it.

Could it be a try to uninstall webrtc-camera and reinstall it in the hope it will install again the older version from go2rtc?

Personally I went to Settings, System then Backups within Home Assistant and looked through the recent backups listed. I saw one entry for go2rtc from the day before when the add-on got automatically updated. I selected that and restored (it only restores that one item not your whole HA). This took about 10 seconds to complete. I then restarted the whole Home Assistant and it fixed the problem. I've now turned off Auto-Update for that particular add-on. Hope this helps.

foddy-foo avatar Nov 14 '24 16:11 foddy-foo

Fixed in latest master version

Tried it out, it works.

Many thanks for the quick fix.

z-master42 avatar Nov 14 '24 17:11 z-master42

Also for me its working again.

Now because I have some eufy users reading this a quick question: I want to forward the video stream of the eufy doorbell with 2-way audio to HomeKit. currently I have good and stable video with the direct HomeKit export from go2rtc. But a kind of slow-motion video from the HomeKit camera from the HA own HomeKit integration. This are my config:

homekit.yaml: - name: Haustürklingel port: 56324 mode: accessory filter: include_entities: - camera.haustur entity_config: camera.haustur: linked_doorbell_sensor: binary_sensor.haustur_ringing linked_motion_sensor: binary_sensor.haustur_motion_detected

go2rtc.yaml streams: T8210P812419166F: - T8210P812419166F homekit: T8210P812419166F: pin: 33322333 pairings: ... How should the stream source: Tag look like in the HA HomeKit.yaml and do I need some more stream config in the go2rtc side to reach my goal? Or can someone with a eufy doorbell cam share the relevant config parts? Thanks

misc2000 avatar Nov 14 '24 17:11 misc2000

For AlexxIT. Seen the same issue for a bunch of cameras. Good that you potentially found the source of this, however I would like to add a portion of the log here, in case it helps:

END of File warning

12:31:53.503 WRN github.com/AlexxIT/go2rtc/internal/streams/producer.go:170 > error=EOF url=http://192.168.XX.XXX:8123/api/camera_proxy_stream/camera.front_door?token=9eaaXXXXeead096c349d5e38ba3984a1a23e2aecc9b3d58be1902824e03b2 12:31:53.539 WRN github.com/AlexxIT/go2rtc/internal/streams/producer.go:170 > error=EOF url=http://192.168.XX.XXX:8123/api/camera_proxy_stream/camera.ingarage?token=a3e0XXXX8e20e2fb5d77eb7c8fd5bd8a82e8d52d404aa66bcc66c7346c3c9cd9

New Stream error Warning with unsupported scheme

12:32:31.493 INF [streams] create new stream url=rtsp://127.0.0.1:8554/T8423TXXXXXXXXXX

As above unsupported scheme error

12:35:21.542 WRN [rtsp] error="streams: streams: unsupported scheme: T8170TXXXXXXXXXX" stream=T8170TXXXXXXXXXX 12:39:16.282 WRN [rtsp] error="streams: streams: unsupported scheme: T8423TXXXXXXXXXX" stream=T8423TXXXXXXXXXX

I have a whole bunch of Eufy cameras and as stated none are displaying any more.

Eufy Floodlight Cam S330 (Model: T8423) Eufy Solocam S340: (Model: T8170) Eufy Floodlight Cam E340: (Model: T8425) Eufy Garage-Control Cam: (Model: T8452)

Should you need any tests done, please let me know.

saschawj avatar Nov 14 '24 19:11 saschawj

Fixed in latest master version

thanks

oig123 avatar Nov 15 '24 05:11 oig123

Unsupported scheme is correct error. Eufy integration creates an invalid config. This issue should be added to the eufy project.

AlexxIT avatar Nov 15 '24 09:11 AlexxIT

What should a valid configuration/schema look like? Use of entity ID?

z-master42 avatar Nov 17 '24 17:11 z-master42

This is incoming stream. It should have empty source.

streams:
  T8210P812419166F:

AlexxIT avatar Nov 17 '24 19:11 AlexxIT

Hallo zusammen, ich bin erst seit ein paar Tagen im Thema HA unterwegs und hatte vorher bereits Eufy-Kameras. Diese wollte ich nun einbinden. Ich hatte vorher auch diesen Fehler. image

Habe dann die Masterversion heruntergeladen und installiert, leider besteht der Fehler weiterhin. Ich habe eine Eufy S2300 (3C) Kamera.

image Ist das so richtig, dass hier noch die 1.9.7 trotz Master steht?

Für Hilfe wäre ich sehr Dankbar!

Induktiv avatar Nov 22 '24 11:11 Induktiv

Yes, that's right that it still says 1.9.7 and here please English, there are not only Germans on GitHub 😉

z-master42 avatar Nov 22 '24 12:11 z-master42

Okay, thank you! Do you have any idea what might be causing my cameras to not display a live image despite the new master version? Normally, the streams should be running in go2rtc, right? Do I need to start them before the stream works in the go2rtc user interface? I've tried both, but it’s not working. Do I need to reinstall WebRTC after installing the new go2rtc master version?

Thanks :)

Induktiv avatar Nov 22 '24 12:11 Induktiv

It depends on your camera whether you have to start its stream or whether it provides a permanent stream.

Furthermore, with the current master version, the process is exactly the same as before with 1.9.6.

z-master42 avatar Nov 22 '24 16:11 z-master42

hi,

the current implementation of API call is like this, I am using the variable with name, because initially I could not find way to add an empty source using API. This had been working (until now) :)

Input

        parameters = {
            "name": str(self.camera.serial_no),
            "src": str(self.camera.serial_no)
        }

Output

streams:
        T84A1P10231228E1:
          - T84A1P10231228E1

I tried sending empty source parameter or not sending the source parameter at all, but no success adding it via API. could it be that API is blocking it?

fuatakgun avatar Nov 23 '24 11:11 fuatakgun