motioneye-project / motioneyeos

A Video Surveillance OS For Single-board Computers
Other
7.84k stars 898 forks source link

monitor_1 script loses executable bit #1470

Open rahammond opened 6 years ago

rahammond commented 6 years ago

I'm using MotionEyeOS version 20180224 on a Raspberry Pi 3 board, with an ELP brand USB camera model ELP-USB30W04MT-ML36.

I have a script _monitor1 located in /data/etc that contains the following to display the CPU temp on the camera window frame:

!/bin/bash

cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp) cpuTemp1=$(($cpuTemp0/1000)) cpuTemp2=$(($cpuTemp0/100)) cpuTempM=$(($cpuTemp2 % $cpuTemp1)) echo CPU $cpuTemp1"."$cpuTempM" degC" echo 10 1>&2

Once I make it executable, it works without issue, but if I make any changes in the web GUI and hit apply, it removes that script's ability to execute. Once I ssh in and run chmod +x /data/etc/monitor_1 it all works fine again. Any help you could provide would be greatly appreciated. It's quite likely I may be doing something wrong.

Great project BTW, I appreciate all of the time and effort that the author has put into this. A very feature-rich and easy to implement software.

boot.log messages.log motion.log motioneye.log dmesg.log

ccrisan commented 6 years ago

Is this 100% reproducible?

rahammond commented 6 years ago

Yes, so far it has been.

On Wed, Apr 4, 2018 at 2:24 PM, Calin Crisan notifications@github.com wrote:

Is this 100% reproducible?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ccrisan/motioneyeos/issues/1470#issuecomment-378716429, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGK-22YtsvJeQSZgXlLZ9f3qFAwmaywks5tlR3wgaJpZM4THGUk .

ccrisan commented 6 years ago

Can you enable debugging in expert settings, try reproducing the issue and attach the motioneye.log file again?

rahammond commented 6 years ago

Once I enabled debug and did the reboot, I had to make monitor_1 executable again. At that point I went back into the settings, enabled and disabled movies, and hit apply. After that, monitor_1 was no longer executable.

Roger

motioneye_debug_on.log

ccrisan commented 6 years ago

@rahammond I found the problem. It appears to be a bug with the Raspberry PI-specific versions of motionEyeOS, where the "internal" monitoring script setting would interfere with the user-provided one.

More precisely, function _set_sys_mon() removes the executable flag if the internal monitoring setting is disabled. A workaround would be to enable it (in Expert Settings) and provide your own script. It shouldn't mess with it afterwards.

rahammond commented 6 years ago

Very good, I will give that a try. Thank you for looking into it.

-Roger

On Mon, Apr 16, 2018 at 6:18 AM, Calin Crisan notifications@github.com wrote:

@rahammond https://github.com/rahammond I found the problem. It appears to be a bug with the Raspberry PI-specific versions of motionEyeOS, where the "internal" monitoring script setting would interfere with the user-provided one.

More precisely, function _set_sys_mon() https://github.com/ccrisan/motioneyeos/blob/master/board/raspberrypi/motioneye-modules/boardctl.py#L205 removes the executable flag if the internal monitoring setting is disabled. A workaround would be to enable it (in Expert Settings) and provide your own script. It shouldn't mess with it afterwards.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ccrisan/motioneyeos/issues/1470#issuecomment-381565497, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGK--7H7apAw9o9oZ2iyJX9B3z1CdtOks5tpH32gaJpZM4THGUk .