Energizer Wifi Camera
I have been trying for the past few years to figure out how to use these cheap wifi cameras with ZoneMinder. The issue that I have been running into though is thatthere is no documentation on how to use these cameras outside of the Energizer Connect app.
How I did it
I needed to use GROK to assist with this part.
I told it what I was trying to do and it gave me this command to find out what port it was broadcasting from:
nmap -p 80,554,3702,5000,8000,8080,8554,8899 IP-ADDRESS-OF-CAMERA
It was checking many common ports and found everything it was listing on:
Host is up (0.010s latency).
PORT STATE SERVICE
80/tcp closed http
554/tcp closed rtsp
3702/tcp closed ws-discovery
5000/tcp closed upnp
8000/tcp open http-alt
8080/tcp closed http-proxy
8554/tcp open rtsp-alt
8899/tcp closed ospf-lite
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
This indicated that it was running an HTTP server on port 8000 and the video stream on port 8554.
I was still needing the URL for the video stream so GROK asked me to run this Python script:
python3 -c "
from onvif import ONVIFCamera
c = ONVIFCamera('IP-ADDRESS-OF-CAMERA', 8000, 'admin', 'PASSWORD-USED-WHEN-CONFIGURING-ONVIF')
print(c.devicemgmt.GetDeviceInformation())
m = c.create_media_service()
for p in m.GetProfiles():
u = m.GetStreamUri({'StreamSetup':{'Stream':'RTP-Unicast','Transport':{'Protocol':'RTSP'}},'ProfileToken':p.token}).Uri
print(p.Name, p.token, u)
"
This came back with what I was finally needing!
{
'Manufacturer': 'PPS IPC based on ONVIF',
'Model': 'Mini 2S',
'FirmwareVersion': 'ppstrong-a3-tuya2_jem-5.2.4.20211022',
'SerialNumber': '104307882',
'HardwareId': 'Ver 2.1'
}
MainStream IPCProfilesToken0 rtsp://IP-ADDRESS-OF-CAMERA:8554/Streaming/Channels/101
SubStream IPCProfilesToken1 rtsp://IP-ADDRESS-OF-CAMERA:8554/Streaming/Channels/102
Keep in mind, the URLs provided might be different. I have 3 different cameras and even though the model number is the same, the URLs given are different. In ZoneMinder I just configured it like any other camera. I used the MainStream URL in this case, the username admin and the password I set in the Energizer Connect app for ONVIF.
Now I can connect all of the cameras!