My setup consists of:
- ElkM1 + Elk Ethernet + doorbell attached to elk
- Cameras running in BlueIris (but they can really be even just one standalone IP cam, so long as it supports jpeg stills)
- A copy of debian with perl, apache, php and such common things installed
- The ElkM1Control perl library
I wrote a custom script using php/perl that polls the Elk for a change in the doorbell zone. When a change is detected PHP goes out over http (theres about a dozen functions between one and several lines to do this) and snags the current still image from the door camera. Again this could be directly from the camera if it supports jpeg stills, or from BI, ZoneMinder, or any other jpeg supporting camera software.
Finally it takes that snagged image, saves it in a folder visible to the web thanks to apache, and push messages a link of it to my iPhone by using SMTP to send the brief text of the link and event description to the Prowl API.
Result is pretty awesome; within a few seconds of someone pressing the doorbell my phone buzzes and i click one link to see the image of who's at the door.
It could use some improvement; i could eliminate php from it entirely, but i'm way more competent in php than perl so i wrote as much in PHP as i could and only used perl for talking to the Elk. Additionally I could spruce up the deliver URL's destination page to be written in PHP rather than just a link directly to the jpeg, and provide side by side views of the still image, the live feed from the camera, and even status of the Elk.