Home Assistant integration to send ptz commands to ICSee/XMEye/DVR-IP/NetSurveillance/Sofia cameras.
It can also set presets and recall them and synchronize the camera clock.
Option 1: HACS Link
Option 2: HACS
- Or
HACS
>Integrations
>⋮
>Custom Repositories
Repository
: paste the url of this repoCategory
: Integration- Click
Add
- Close
Custom Repositories
modal - Click
+ EXPLORE & DOWNLOAD REPOSITORIES
- Search for
icsee
- Click
Download
- Restart Home Assistant
- Copy the
icsee_ptz
folder insidecustom_components
of this repo to/config/custom_components
in your Home Assistant instance - Restart Home Assistant
Go to the integration and add an entry for each of your cameras
This integration exposes services for PTZ and a motion alarm entity.
First make sure to enable and configure motion alarms in the standard camera application (e.g ICSee or XMEye). Then, you can use the provided entity in your automations.
icsee_ptz.move: move, zoom and set/goto preseets.
Requires:
- WebRTC integration v3.2.0 - 2023-07-11
alias: Notify camera motion alarm
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.garden_motion_alarm
to: "on"
condition: []
action:
- service: notify.mobile_app_pixel_7
data:
message: TTS
data:
tts_text: Attention: motion detected in garden
ttl: 0
priority: high
mode: single
Usage in WebRTC card:
# lovelace card
type: custom:webrtc-camera
url: garden_dvrip
ui: true
shortcuts:
services:
- name: Sync
icon: mdi:clock-check
service: icsee_ptz.synchronize_clock
service_data:
entity_id: binary_sensor.garten_motion_alarm
- name: Force frame
icon: mdi:play
service: icsee_ptz.force_frame
service_data:
entity_id: binary_sensor.garten_motion_alarm
ptz:
service: icsee_ptz.move
data_home:
entity_id: binary_sensor.garten_motion_alarm
cmd: GotoPreset
preset: 0
data_long_home:
entity_id: binary_sensor.garten_motion_alarm
cmd: SetPreset
preset: 0
data_start_left:
entity_id: binary_sensor.garten_motion_alarm
cmd: DirectionLeft
data_end_left:
entity_id: binary_sensor.garten_motion_alarm
cmd: Stop
data_start_right:
entity_id: binary_sensor.garten_motion_alarm
cmd: DirectionRight
data_end_right:
entity_id: binary_sensor.garten_motion_alarm
cmd: Stop
data_start_down:
entity_id: binary_sensor.garten_motion_alarm
cmd: DirectionDown
data_end_down:
entity_id: binary_sensor.garten_motion_alarm
cmd: Stop
data_start_up:
entity_id: binary_sensor.garten_motion_alarm
cmd: DirectionUp
data_end_up:
entity_id: binary_sensor.garten_motion_alarm
cmd: Stop
Video stream from go2rtc
# go2rtc.yaml
streams:
garden_dvrip:
- dvrip://admin:my_password@192.168.178.104:34567
garden_dvrip_mini:
- dvrip://admin:my_password@192.168.178.104:34567?channel=0&subtype=1
garden: # try this if the video is choppy or audio is out of synch
- ffmpeg:garden_dvrip#audio=copy#async#video=copy#async
Note
There are some disabled entities, But you can enable them on
Settings -> Devices & Services -> ICSee -> Configure -> Enable experimental entities
Entity | Description | Enabled by default |
---|---|---|
switch.*_blinddetect_enabled |
No | |
select.*_white_light |
You can control camera's lights. | No |
switch.*_humandetection_enabled |
No | |
switch.*_lossdetect_enabled |
No | |
binary_sensor.*_varanda_motion_alarm |
It will be trigged when someone pass on front of camera. | Yes |
switch.*_motiondetect_enabled |
No |
With https://xmeye.org/xmeye-for-pc/ you can configure the fps and encoding params of ICSee cameras.
in device config
/ encode config
select:
- fps: 30 (maximum available)
- Iframe interval: 1 (minimum available)
- Static encode config: high profile
- H264+ enable: disabled
in device config
/ camera param
select:
- Clear fog: ON
- Level: 100