EZVIZ cameras are everywhere, even in supermarkets. They didn’t have a place in Gladys yet, and many don’t expose an ONVIF or RTSP stream without tinkering. This integration goes through the EZVIZ cloud, without needing to configure anything on the cameras.
What it does
One device per camera or doorbell, with:
the image of the last alarm, or a fresh image when opening the dashboard;
motion, doorbell, and “last event” (“Person · 18:32”);
the privacy mode, motion detection on/off, the spotlight, and the siren (disabled by default, needs to be checked);
the direction arrows for motorized cameras, battery, Wi-Fi, SD card.
The arm mode of the account: Present, Away, Sleep.
Two triggers: “Detection by an EZVIZ camera” (motion, person) and “Someone rings”.
A widget with the last image and arming buttons.
In French, English, German, and Spanish.
The cool part
Last person leaves the house → EZVIZ set to Away, and back to Present when someone comes home
Someone rings → the visitor’s photo on Telegram
Person detected in the garden at night → turn on the outside lights and send the image
Enter the email and password of the EZVIZ account, then the verification code if EZVIZ sends one.
Discovery tab: add your cameras.
Honest small reservations
It’s the EZVIZ cloud, via an unofficial API: you need Internet, and an alarm arrives with a few seconds delay (5 to 40 s).
No continuous video, but the integration gives you the RTSP address of the camera for the Gladys Camera integration.
Developed without an EZVIZ camera. I checked that the connection to the real EZVIZ cloud works and that a fake account is properly rejected, but the types of alarms (person, vehicle…) still need to be confirmed on real cameras: your feedback is precious.
Like the previous ones, developed with Claude Code. Independent project, not affiliated with EZVIZ or Hikvision.
CODE1,CODE2
Optional: the 6 letters of each camera’s label, in SÉRIE:CODE separated by commas, or one code for all. For encrypted images and the RTSP address.
But when I want to Display the RTSP address I have the same code for both cams
Small issue with the widget, you can only select one device, and yet when I click on present/absence, the action is performed on both
Same, I have no update from the cameras with the basic camera widget
@spenceur thanks for this very precise feedback, it’s exactly what I needed! The 1.1.0 update fixes the three points.
The codes: with « CODE1,CODE2 » without a serial number, the integration couldn’t know which code goes with which camera, and it took the first one for both (hence the same code in your two RTSP addresses). After the update, in the configuration, use the new action « Verify a camera’s code »: you choose the camera, you type the 6 letters of its label, you launch it, and you repeat for the second one. Then empty the old field « Camera verification codes ». The integration now tells you if a code correctly opens the images of the camera.
The widget: the EZVIZ arming is an all-account mode (the EZVIZ app doesn’t have a per-camera mode), that’s why the buttons act on both. The widget now clearly states this, and it can display multiple cameras (new setting « Cameras »).
The image: there, it was my documentation that was wrong. The Gladys camera box displays the last image sent by the integration, it doesn’t request another one when opened. Images are now sent every 5 minutes by default, or every minute if you choose it in « Camera images » (as your setting is already saved, change it manually). For real live streaming, your RTSP camera remains the best solution.
Thanks again for testing, let me know if the codes work well!
The widget now displays the names you gave to your cameras in Gladys (your “baby monitors”), and follows your renames. Same in messages and scene variables.
For “EZVIZ Account” in the list: I checked, Gladys 5.2.1 offers all devices from an integration in this kind of list, with no possible filtering on my side. I can therefore not remove it, but the widget now ignores it (checked alone, it displays all your cameras).
Nothing to do after the update: your widgets keep their settings. Thanks again for the tests, and let me know about the images!
EZVIZ Account and Camera Names: This is fixed in 1.1.1, but the store hasn’t picked it up yet (it only checks a few times a day). As soon as it appears in Gladys, update it: the widget will take your names « babyphone », and with only that account checked, all cameras will be displayed.
Standby Mode: Good idea, I’m on it. For now, the integration only handles the « privacy mode » of motorized cameras, and the standby mode of the C6N is another setting on the EZVIZ side. It will be in the next version, with the ability to put a camera on standby from a scene (« I’m home → indoor cameras go to standby »).
Images: In this integration, they are not retrieved locally. Gladys requests a snapshot from the EZVIZ cloud, then fetches it from there. Each image is therefore a request to the cloud, hence the minimum of one minute, to avoid getting your EZVIZ account locked. RTSP, on the other hand, talks directly to the camera on your network: that’s why it performs better, and it’s the right solution for live streaming. The EZVIZ integration is mainly for detections, arming, and standby.
each camera that announces standby mode now has a « Standby Mode» switch (no video or detection, and the integration no longer asks it for images during this time);
if your widget shows a single camera, it has a « Put to Standby » / « Wake Up » button;
for multiple cameras, a scene action « Put an EZVIZ camera to standby or wake it up », perfect for « I’m home → the baby monitors go to standby ».
Small uncertainty: on some motorized models, EZVIZ announces the « Privacy Mode » (the lens hides) instead, which does the same job. The widget button and the scene action use one or the other depending on what your camera offers. After the update (when the store has retrieved it), click on « Update » in the Discovery tab, and tell me which of the two appears on your C6N!