2015-12-07, 11:03
Possible fix for cheap 40.00 IP Cams from China under various names.
Tools:
1) Download and install PyCharm.
2) Download Filezilla or some other FTP program.
3) If your using an android set top box, download EZ file via playstore.
4) If using android. Load EZ File and go to network to start sharing so you can access your box via FTP.
5) If on android go to Android/data/org.xbmc.files/.kodi/addons/packages
6) Copy script.foscam-0.0.1.zip to your local drive.
7) Extract the file to a directory.
8) Open these two files using PyCharm:
a) service.py
b) foscam.py
NOTES:
This is simply a hack to get the program to check the cheap china cams for the alarm status of motion being detected. the existing routines were trying to find the status for a URL that doesn't exist on the cheaper cams.
I didn't add any support for you to be able to SET your motion detection from the Kodi arena... You still have to set that on the camera.
I also don't believe the sound detection will function on the cheaper china cams like the one I have. Maybe if I get some time and a better DEV env I could work it out... But for now I wanted to share.
Once your done with all your changes you must zip it back up (using standard zip) and place it back in the same directory you got it from.
Then go into Kodi and find it in your list... Install it.
This code is untested... But should be pretty close.
Here is the URL to get the alarm (motion) status from your cheap china cam:
http://192.168.X.XXX/get_status.cgi?user...Collin1133
Good luck.
Tools:
1) Download and install PyCharm.
2) Download Filezilla or some other FTP program.
3) If your using an android set top box, download EZ file via playstore.
4) If using android. Load EZ File and go to network to start sharing so you can access your box via FTP.
5) If on android go to Android/data/org.xbmc.files/.kodi/addons/packages
6) Copy script.foscam-0.0.1.zip to your local drive.
7) Extract the file to a directory.
8) Open these two files using PyCharm:
a) service.py
b) foscam.py
Code:
Make the following changes:
service.py
Add this under self._url_cameracontrol inside __init__
self.url_camerastatus = "http://{0}:{1}/get_status.cgi?{{0}}&user={2}&pwd={3}".format(host,
port,
user,
password)
service.py
top of send_command should be replaced and it should read:
print cmd
if 'param=5' in cmd: url = self._url_cameracontrol.format(cmd)
elif 'getDevState' in cmd: url=self.url_camerastatus.format(cmd)
else: url = self._url_fmt.format(cmd)
if params is not None:
url += "&" + urllib.urlencode(params)
service.py
search for alarm_check and top of routine should read this:
def alarm_check(self):
if self.motion_enable or self.sound_enable:
player = xbmc.Player()
if player.isPlaying() and player.getPlayingFile() == self.camera.video_url:
return
self.alarm_active = False
dev_state = self.camera.get_device_state()
if dev_state:
for alarm, enabled in (('alarm_status', self.motion_enable),
('sound_status', self.sound_enable)):
if enabled:
param = "{0}Alarm".format(alarm)
alarm_status = dev_state[param]
utils.log_verbose("{0:s} = {1:d}".format(param, alarm_status))
if alarm_status == 1:
self.alarm_active = True
utils.log_normal("Alarm detected")
break
NOTES:
This is simply a hack to get the program to check the cheap china cams for the alarm status of motion being detected. the existing routines were trying to find the status for a URL that doesn't exist on the cheaper cams.
I didn't add any support for you to be able to SET your motion detection from the Kodi arena... You still have to set that on the camera.
I also don't believe the sound detection will function on the cheaper china cams like the one I have. Maybe if I get some time and a better DEV env I could work it out... But for now I wanted to share.
Once your done with all your changes you must zip it back up (using standard zip) and place it back in the same directory you got it from.
Then go into Kodi and find it in your list... Install it.
This code is untested... But should be pretty close.
Here is the URL to get the alarm (motion) status from your cheap china cam:
http://192.168.X.XXX/get_status.cgi?user...Collin1133
Good luck.