-
Notifications
You must be signed in to change notification settings - Fork 102
How to Use Plugins
Setup custom overlay configurations for specialized tasks
- About Plugins
- How to Enable Plugins
- How to Customize Plugins
- Download or Upgrade Plugins
- Description of Available Plugins
Plugins configure pi-timolo for special tasks by overlaying
the plugin variables over the current config.py settings.
Plugin Files can be found in the pi-timolo/plugins subfolder.
You can customize a particular plugin or create your own.
IMPORTANT Do Not delete the __init__.py
file since it is required in order to import plugins.
The easiest way to edit configuration files is by using menubox.sh then PLUGINS menu selection.
To enable pi-timolo plugins perform the following commands From a logged in console or SSH session
cd ~/pi-timolo
nano config.py
Edit PLUGIN_ON = variable by setting value to True (default is False). False means plugin option is disabled.
PLUGIN_ON = True # Default= False True reads customized settings from a custom.py file
Then Edit pluginName= variable and enter a valid plugin name in quotes. This will point to a plugin file in the pi-timolo/plugins subfolder. It will be imported and plugin variables will overlay config.py variables.
PLUGIN_ON = True # Default= False True reads customized settings from a custom.py file
PLUGIN_NAME = "dashcam" # Specify filename in plugins subfolder without .py extension per below
# TLlong, TLshort, secfast, secstill, strmvid, secvid, secQTL, shopcam, dashcam, slowmo
Do Not include .py extension. Press ctrl-x y to save changes and exit nano editor.
Plugins can be edited with a text editor like nano. All plugins can be found in the pi-timolo/plugins subfolder. To edit a plugin you can use menubox.sh and select the PLUGINS menu selection
cd ~/pi-timolo.py
./menubox.sh
or edit a plugin directly.
cd ~/pi-timolo/plugins
nano pluginName # where pluginName is the plugin you want to change
cd ..
Edit the variables per comments. The plugin variables will override the existing config.py
variable settings. You can add any valid variable from config.py to
the plugin.
Press ctrl-x y to save changes and exit nano editor or n to exit without saving.
Plugins will be installed as part of the pi-timolo-install.sh script but you may want to return to a default plugin setup. To download a fresh copy of one plugin. Delete or rename the desired plugin(s) and run the plugins-install.sh curl script per steps below.
Note: Replace dashcam.py* with name of plugin you want to replace.
cd ~/pi-timolo/plugins
cp dashcam.py dashcam.py.bak
rm dashcam.py
curl -L https://raw.github.com/pageauc/pi-timolo/master/source/plugins-install.sh | bash
The deleted plugin will be replaced by the latest GitHub version.
cd ~/pi-timolo
mv plugins plugins_bak
curl -L https://raw.github.com/pageauc/pi-timolo/master/source/plugins-install.sh | bash
All latest plugins will be downloaded from pi-timolo GitHub Repo. The previous plugins will be in the plugins_bak subfolder. You can delete this folder if you do not need it per the following commands
cd ~/pi-timolo
rm -r plugins_bak
The shopcam settings below will monitor camera view using motion tracking. When motion tracking is triggered, the camera will take a sequence of time lapse images with MOTION_TRACK_MINI_TL_TIMER_SEC seconds between images and continue for MOTION_TRACK_MINI_TL_SEQ_SEC seconds duration then stop and monitor for another motion tracking event.
Once the camera is setup, you do not need to manage it for each work session timelapse sequence, since it is only when motion tracking is activated. If work takes longer than MOTION_TRACK_MINI_TL_TIMER_SEC then the next motion will trigger another timelapse sequence per settings. Ideal for a timelapse project that spans many days with work happening at different times. Can also be useful for security monitoring.
This plugin will monitor camera view using motion tracking.
When motion tracking is triggered, the camera will save a video stream image
then stop and monitor for the next motion tracking event. This will allow
capture of faster moving objects but lower quality. The image size will
be 640x480 based on the stream size. This smaller size is suitable
for gdrive sync updates.
Note - Default is for No creation of subfolders. Also Only a limited number
of images will be created since image numbering is set to recycle when motionNumMax reached.
This configuration is suitable for a remote security camera or a project to capture images of faster moving objects.
This plugin will monitor camera view using motion tracking. When motion tracking is triggered, the camera will take a series of quick timelapse images to capture motion in HD images. This may be more suitable that taking a video and uses less disk space. Once quick timelapse sequence is complete, motion tracking will resume. Note no subfolders are created and only a limited number of images will be created with image numbering getting recycled when motionNumMax reached.
This configuration is suitable for a remote security camera or a project to capture HD images of faster moving objects using a timelapse sequence.
This plugin will monitor camera view using motion tracking. When motion tracking is triggered, the camera will take a High Definition (HD) still image then stop and continue monitoring for the next motion tracking event. There will be a short delay in taking the image since camera needs time to change from video streaming mode to still camera mode. This may cause faster motions to be missed.
This configuration is suitable for a local security camera or a project to capture high quality images of slower moving objects.
This plugin will monitor camera view using motion tracking. When motion tracking is triggered, the camera will take a short video for MOTION_VIDEO_TIMER_SEC seconds then stop and monitor for the next motion tracking event. There will be a small delay for the camera to changeover from motion tracking to video mode
This plugin takes small 640x480 resolution videos at 10 fps. The Small video size makes it suitable for rclone sync to a remote storage name Takes numbered videos in a circular number sequence to display only recent motion video activity with minimal history. Reduced size reduces upload bandwidth and storage space on remote storage name. Add crontab for rclone-video.sh to regularly update videos on remote storage name.
This plugin will monitor camera view using motion tracking. When motion tracking is triggered, the camera will take a short video for MOTION_VIDEO_TIMER_SEC = seconds then stop and monitor for the next motion tracking event. Video quality
Suitable for capturing video after a motion event
This plugin will take a series of videos (default is 120 seconds) like a dash cam.
You can manage disk space and delete oldest videos when disk space
is close to full or run video session for a set number of minutes.
Example dashcam video https://youtu.be/NcaFBPBkJ1I
You have a project where you want to capture a slow motion video sequence. This plugin will monitor the camera view using motion tracking and tigger a video at a high fps. 640x480 at 90 fps This would be suitable for example capturing humming birds or other fast moving objects in the camera view.
NOTE: Slow Motion can also be done using VIDEO_REPEAT_ON = True (dashcam mode) but would Not be triggered by motion. It would save a series of slow motion videos when manually started.
This plugin is suitable for a multi week/month long duration day and night timelapse.
This setup will save HD images continuously bu number sequence in case date/time is not maintained due to a reboot and no internet NTP Time server is available. subfolders will be created every ten thousand images to make managing files easier. Depending on the full duration of the timelapse sequence it is advised you save files to an attached USB hard drive or large memory stick. It is recommended that an uninteruptible power supply (UPS) be used in case there is a power failure.
After testing to ensure correct operation, setup a crontab for sync.sh to force a reboot if
pi-timolo.py process stops. Also setup pi-timolo to start on boot using /etc/rc.local
see pi-timolo wiki for details here https://github.com/pageauc/pi-timolo/wiki
Example Long Duration Timelapse - https://youtu.be/oZ2do75pyy8
This setup will save images in number sequence in case date/time is not maintained
due to a reboot and no internet NTP server is available. It will Not create subfolders.
Depending on the full duration of the timelapse sequence it is advised saving files to
an attached hard drive or USB memory stick. Due to the short nature no subfolders
will be created.
Example Short Duration Timelapse
https://youtu.be/mipVTAe_ugA
https://youtu.be/u7VaqlA2PNQ
- Wiki Home
- Introduction
- Prerequisites
- Install or Upgrade
- Run pi-timolo from a drive mnt
- Customize config.py
- Panoramic Images
- user_motion_code.py
- Align Camera Motion Area
- Schedule StartAt
- Basic Troubleshooting
- Tuning Variable Settings
- menubox.sh
- Web Server View Files
- Make Timelapse Video
- Join or Convert h264 to MP4
- Run on Boot
- Setup & Run shutdown.py
- Rclone Media Sync
- watch-app.sh Usage
- Plugins Usage
- Mount USB Storage
- Mount Network Share
- Auto SubFolder Creation
- Manage Disk Space
- Utilities Summary
- GitHub Repo
gdrive is no longer default.