pet-a-manger
🐈⬛🐈⬛ iwait, ifeed, istream while iwatch...
Opinionated cat feeder, optimised for RPi Zero W and other materials on hand.
iwait
trigger dispensation on a cron schedule
IWAIT_MEAL_SCHEDULEScontrols cron schedule (e.g.21,2,6,*,*,*to dispense@06:02:15)IWAIT_SNACK_SCHEDULEScontrols cron (snack) schedulesTZsets timezone (e.g.US/Pacific)IWAIT_SLACK_{WEBHOOK_URL.ERRORS_ONLY}controls Slack integration parameters
ifeed
dispense on
GPIO(physical push buttons) orUSR{1,2}Linux signals
IFEED_{MEAL,SNACK}_RUNSECScontrols dispensation duration in seconds onUSR{1,2}eventsIFEED_BUTTON{1,2}_GPIOsets button pins (physical board pin numbering schemeIFEED_PWM{1,2}_GPIOsets servo motor pinsIFEED_HEARTBEAT_URLsend an empty HTTP request to reset alert triggerIFEED_ALERT_RESET_SIGNALSreset trigger on specific signals only
istream
stream video to RTMP sink (poorly on RPi Zero W) with
raspividor serve timelapse stills (better) withraspistillandnweb
ISTREAM_RTMP_URLcontrols whereraspividstreams to (e.g. YouTube, Restream, etc.); orISTREAM_STILLimage name forraspistilltimelapse (e.g. somewhere ontmpfsideally)ISTREAM_VIDEO_{H264_PROFILE,WIDTH,HEIGHT,FRAMERATE,BITRATE,KEYFRAME}sets video parametersISTREAM_AUDIO_SAMPLE_RATE(ffmpeg) sets empty audio stream bitrateISTREAM_IMAGE_{WIDTH,HEIGHT,ROTATE,ANNOTATE}still image parameters
iwatch
serve a HTTP redirect or static HTML with
netcatas well as/healthendpoint
IWATCH_STATIC_HTMLcontrols static HTML content (e.g. YouTube iframe/embed)IWATCH_REDIRECT_URLcontrols redirect URL if no static HTML specified