V380s Camera

Actually getting the device-id was the hardest part. If i remember correctly, i fished itoutr of the logs, but please do post here how you did it, when you find out.

I setup the device integration according to your instructions, entering name, IP, port. then from Configuration ā†’ Devices I selected the newly added camera and copied the name (name of the stream entity, without the ā€˜_stream0_0ā€™ part).
Your example for a picture elements card works for me just by replacing the entity, but my camera is a bit different - a light-bulb type with 360 view, so I donā€™t actually need the arrow keys and commands.
What Iā€™d like to do is find a way to turn the LED light in the camera. I think I remember reading somewhere I how to get telnet/root accessā€¦ once I do that Iā€™ll probably expose the light as a command_line switch in HA.
Do you have any progress with the WebRTC integration for audio and/or recording?

Unfortunately not in my case.
But i applied my instructions to a friends camera and recording also just worked. In that case, we used the authenticated url (user/paswwd) we had discovered through some Windows driver/utility.

I can successfully record video to a file using the Dev tools (calling the service camera: record with one of the stream entities as a target and a file path in i.e. media)
Iā€™ll test for audio in the evening.

For anyone have difficulties or problems with this i tried for 3 days and it didnā€™t work. I got the camera from Aliexpress the bullet one peephole camera with v380 pro software. I asked the seller but he wasnā€™t helpfull. So i just asked a different seller, and he helpt me like in couple minutes. He send me the file and it works like a charm. I didā€™t open any ports or anything. The seller of the ZSCAM Official Store, shout out to him he helpt me, the Small angle Store seller didnā€™t help a bit. But the solution is like this:

Make a ceshi.ini file with notepad with this inside:
[CONST_PARAM]
rtsp=1 ; 1ę˜Æ开åÆļ¼Œ0ę˜Æ关闭

save and after this put this file on the root of your sdcard. Put it in the camera while itā€™s on. After you put in the card, turn off the camera, i just pulled the power cord and waited for 30 seconds, ( it is wat i did, it is not in the instructions) after that i gave the camera power again. And some cameraā€™s you should here a chinese voice, mine has no speaker built in, so i waited the regular booting time, itā€™s one minute for mines, but to be safe i waited 3 minutes or so. Then when still on pulled the sd card out again. and formated it on my laptop, so if you want to keep the images make a backup, you can just delete the ceshi file but i wanted to be safe so formated it. After this put it back in the camera, and in the whole proces i didnā€™t open up the app, to be safe again. Now open up vlc or any other player and fill in the network path for the substream: rtsp://xxx.xxx.xxx.xxx/live/ch00_0 and for main stream: rtsp://xxx.xxx.xxx.xxx/live/ch00_1
THE XXX.XXX.XXX.XXX is the ipadres of your camera, you should put it in instead of the XXXā€™s. And voila, it works like a charm. Shout out again to ZSCAM Official Store, i am not related or something to them, but they helped me figuring this out in a couple minutes, where i was struggling for F$%^#$% 3 days. I hope this cleares some out for others, i was missing the chinese part of the ceshi file every where i look up on the net.

4 Likes

Reporting here thanks to the above I managed to get PTZ working: v380 pro, Indoor 8MP
Firmware versionHwV380E12_WF3_AKPTZ_Q6_20180628
unlocked with ceshi.ini as explained here above
new Android v380 Pro app > Advanced settings > Onvif setting > ON
HA Integration : Onvif
Configuration: UDP, port: 8899, fixed IP
live mainstream lag: ~10 sec
PTZ via Picture Elements Card Configuration:

type: picture-elements
camera_view: live
camera_image: camera.backcam_mainstream
title: v380 PTZ
elements:
  - type: icon
    icon: mdi:arrow-up
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 25px
      bottom: 50px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        tilt: UP
  - type: icon
    icon: mdi:arrow-down
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 25px
      bottom: 0px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        tilt: DOWN
  - type: icon
    icon: mdi:arrow-left
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 50px
      bottom: 25px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        pan: LEFT
  - type: icon
    icon: mdi:arrow-right
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 0px
      bottom: 25px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        pan: RIGHT
  - type: icon
    icon: mdi:arrow-top-left
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 50px
      bottom: 50px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        tilt: UP
        pan: LEFT
  - type: icon
    icon: mdi:arrow-top-right
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 0px
      bottom: 50px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        tilt: UP
        pan: RIGHT
  - type: icon
    icon: mdi:arrow-bottom-left
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 50px
      bottom: 0px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        tilt: DOWN
        pan: LEFT
  - type: icon
    icon: mdi:arrow-bottom-right
    style:
      background: rgba(255, 255, 255, 0.35)
      right: 0px
      bottom: 0px
    tap_action:
      action: call-service
      service: onvif.ptz
      target:
        entity_id:
          - camera.backcam_mainstream
      data:
        move_mode: ContinuousMove
        speed: 0.1
        distance: 0.1
        tilt: DOWN
        pan: RIGHT
2 Likes

Thanks! Got it to work with the code provided. Audio and Recording not happening thou.

Web server for V380

I recently got these bunch of IP Cams for freeā€¦

These are cheap camera with false advertisement on it.

  • first the sensor is only 480p even though theres a 1080p watermark, rtsp stream only works upto 720p and obviously looks upscaled from 480p.
  • other features are not functional.
  • onvif also works but needs to be enabled using the smartphone app first after enabling rtsp on ceshi.ini
  • this cheap v380 camera works only reliably if thereā€™s a DHCP server on the network, setting a static IP will also work but it constantly get disconnected for no reason it also gets a random 5 request time out while running a ping on the background. Its funny that as soon as I unplugged the network cable to my pfsense (that acts as DHCP server) waiting for about 10seconds and the v380 ip camera gets disconnected to the network, its still connected via wifi/ethernet but no icmp response, connect that ethernet cable back to pfsense and it goes back alive. Even if the network dont have (blocked) internet access as long as theres a DHCP server on the network, the v380 cam works just fine.

Has anybody found a good way to switch the ligth on/off? Assuming the v380-in-a-light-bulb optionā€¦

ā€¦cheap and allā€¦they workā€¦in my case 3 years already with hard cold winters, all inside although, but still, very reliable, ā€¦with HA 2023 is easier than ever with the onvif integration (port 8899) and thatā€™s it, even ptz control works fineā€¦I manage to have all my cameras into HA though zoneminder wich in my case works better in terms of realtime than onvif integrationā€¦I do use ptz control from onvif integration for this type of camerasā€¦the only downside is the file thing you have to do to enable rtsp on the cameras, but is only 1 timeā€¦

i would like to thank you very much, i could connect to my v380 ptz camera by vlc player now, unfortunately i couldnā€™t add it to HA
once again thank you

Did you try to use the onvif integration to scan your network for it? You need to use the right password and username

hi, i have a firmware dump of a v380 blub e27 IoT WiFI smart camera.
360158459-63b1db17-480f-4e0c-99ab-037052d0f10c
this camera uses a T25S80 flash chip, with a XF16 P9141EA6AD1 SoC.
some part of UART shell:

wlan information ===================================================
firmware:
    version : R-XR_C10.08.52.64_01.80 Jul  6 2019 20:05:10-P01.46-R
    buffer  : 12
driver:
    version : XR_V02.05
====================================================================

PMA: wlan mode:a

platform information ===============================================
XRADIO Skylark SDK 1.2.0 Jun  7 2023 11:32:54

sram heap space [0x21e4c0, 0x25fc00), total size 268096 Bytes
cpu  clock 240000000 Hz
HF   clock  40000000 Hz

sdk option:
    XIP           : enable
    INT LF OSC    : enable

mac address:
    efuse         : a0:17:f1:98:84:e2
    in use        : 34:bc:87:f3:00:0d
====================================================================

im sure someone would need it here.
name: v380-blub-IoT-camera-firmware.bin
sha256: 28c1bd4fa632d7ba30148c0c51acd15a7844b90bb06db83e254c8be7c434cdb8
download link: Google Drive