Vera PushOver notification with image
-
After the veralert service was shut down and Richard confirmed that it will not be available again, I searched for a new notification service to use in my vere secure. I signed up for the PushOver service.
I want to take a snapshot from a camera with camera snapshot address “192.168.4.37/img/snapshot.cgi?size=4&quality=1” and video address “192.168.4.37/img/video.mjpeg” according to a trigger.
Actually, someone (Tlex) did a work about this years ago on the vera forum, but I couldn't understand that script. I also wrote to him to be more descriptive, but I didn't get an answer. Can you help me with this?
-
After the veralert service was shut down and Richard confirmed that it will not be available again, I searched for a new notification service to use in my vere secure. I signed up for the PushOver service.
I want to take a snapshot from a camera with camera snapshot address “192.168.4.37/img/snapshot.cgi?size=4&quality=1” and video address “192.168.4.37/img/video.mjpeg” according to a trigger.
Actually, someone (Tlex) did a work about this years ago on the vera forum, but I couldn't understand that script. I also wrote to him to be more descriptive, but I didn't get an answer. Can you help me with this?
The code in your link was messed up when they updated that forum some years ago. I've rehashed it to give it a chance of working but I suspect you may still have trouble getting it to work. Running it in the Lua test window would be your starting point after reading the
push over api doco.Another alternative is to use Telegram with the Telegram plugin.
-- Refer to pushover documentation: -- https://pushover.net/api local pushToken = "YourPushOverTokenHere" local pushUser = "YourPushOverUserCodeHere" local pushTitle = "MessageTitle" local pushMessage = "MessageContent" local snapshotFile = "/tmp/camera_snapshot.jpg" local pushPriority = "1" -- Sound could be: pushover bike bugle, cash register, classical, cosmic, falling, -- gamelan, intermission, magic, mechanical, pianobar, siren, spacealarm, tugboat, -- alien, climb, persistent, echo, updown, none local pushSound = "gamelan" -- Link to the BlueIris videostream of that camera local pushUrl = "http://xxx.xxx.xxx.xxx/mjpg/ShortCamName&user=XXX&pw=XXX" local pushUrlTitle = "Camera Name" -- This points to one of my BlueIris managed cameras local camera = "http://xxx.xxx.xxx.xxx/image/ShortCamName?q=50&s=80&user=XXX&pw=XXX" -- Get the snapshot from the camera local out = assert(io.open(snapshotFile, "wb")) local _,data = luup.inet.wget(camera) out:write(data) assert(out:close()) --Send PushOver request local curlCommandTab = {} table.insert (curlCommandTab, 'curl -s') table.insert (curlCommandTab, '-F "token=' ..pushToken ..'"') table.insert (curlCommandTab, '-F "user=' ..pushUser ..'"') table.insert (curlCommandTab, '-F "title=' ..pushTitle ..'"') table.insert (curlCommandTab, '-F "message=' ..pushMessage ..'"') table.insert (curlCommandTab, '-F attachment=@' ..snapshotFile ..'"') table.insert (curlCommandTab, '-F "sound=' ..pushSound ..'"') table.insert (curlCommandTab, '-F "priority=' ..pushPriority ..'"') table.insert (curlCommandTab, '-F "url=' ..pushUrl ..'"') table.insert (curlCommandTab, '-F "url_title=' ..pushUrlTitle ..'"') -- The .json suffix requests that the response be in JSON format table.insert (curlCommandTab, 'https://api.pushover.net/1/messages.json') local curlCommand = table.concat (curlCommandTab, ' ') print(curlCommand) local handle = io.popen(curlCommand) local result = handle:read("*a") handle:close() print (result) -- Delete temporary snapshot os.remove (snapshotFile)