Page 1 of 2

Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 12:39 am
by Jeroen Bartels
Hallo,

Ik heb 2 Elro ip camera's gekocht (zie topic goedkope IP buitencamera). Hier kan ik dmv http://192.168.1.19/image.jpg een plaatje van trekken.
Echter wil ik dat na een trigger dit plaatje naar mij gemaild wordt.
Een bestand wat gewoon op mijn harddisc staat kan ik mailen. Maar als ik bij de bestandsnaam 'http://192.168.1.19/image.jpg' invul geeft de log 'ongeldige email bijlage aan'

De camera kan wel plaatjes op de HDD opslaan maar dat is altijd met een tijd en datum in de naam. Ik kan dan dus niet gewoon de 'latest' pakken.
Wie weet een oplossing??

Posted: Sun Dec 18, 2011 12:45 am
by Herbus
Heb hier een script voor gemaakt. Stuur me even een PM met je e-mail adres dan stuur ik je mijn script.
Ik maak een capture, schrijf deze als laatste.jpg weg en mail deze.

Re: Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 2:32 pm
by Digit
Waarom plak je het niet op het forum?
Dan kunnen er veel meer mensen baat van hebben lijkt me zo.

Re: Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 2:42 pm
by Herbus
Goed plan, da's wel zo handig.

Hierbij mijn script. Ik heb het gemaakt voor m'n Axis doorcam. Nadat er is aangebeld wordt er een action gestart in de camera.
Deze action maakt een reeks van jpg's vanf 10 seconden voor de start van het event (in het verleden dus). Omdat er tussen het drukken van de bel en verwerking van de bestanden tijd verloren gaat pak ik bestand nr. 00017. Ik heb dan 'precies' het moment dat er op de bel wordt gedrukt.
Vervolgens wordt dit bestand gekopieerd voor oa. HST.

Verbeteringen op het script zijn welkom. Gezien mijn programmeer skills zou dat namelijk best kunnen :lol:

Re: Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 2:47 pm
by DJF3
I do the same thing with (for example) my doorcamera.

Doorbell press (or motion)
- Save image with counter: "DoorCamXXXX.jpg"
- Save image as "DoorCam.jpg"
- Email file "DoorCam.jpg"

Scripts: http://www.domoticaworld.com/scripts/webcams/

DJ

Re: Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 3:11 pm
by DJF3
Herbus wrote:Goed plan, da's wel zo handig.

Hierbij mijn script. Ik heb het gemaakt voor m'n Axis doorcam. Nadat er is aangebeld wordt er een action gestart in de camera.
Deze action maakt een reeks van jpg's vanf 10 seconden voor de start van het event (in het verleden dus). Omdat er tussen het drukken van de bel en verwerking van de bestanden tijd verloren gaat pak ik bestand nr. 00017. Ik heb dan 'precies' het moment dat er op de bel wordt gedrukt.
Vervolgens wordt dit bestand gekopieerd voor oa. HST.

Verbeteringen op het script zijn welkom. Gezien mijn programmeer skills zou dat namelijk best kunnen :lol:
Een vraagje: Hoe kan het "Dim S = hs.getURL(etc)" commando het resultaat van deze getURL nou wegschrijven op de server?

Is dat iets dat de Axis camera zelf doet als je de URL uit het getURL commando aanroept? (25 bestanden wegschrijven op \\server\cctv\voordeur)

Re: Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 3:40 pm
by Esteban
Ja, zo te zien triggert Herbus een (axis)Event dat plaatjes upt. Dat kun je allemaal definieren in je Axis cam.

Re: Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 3:45 pm
by Herbus
Dit is een functie in de Axis. Je kan een event triggeren. Zie hieronder de instellingen. Op m'n NAS draait een ftp server waarnaar de bestanden worden heengeschreven.

Re: Plaatje van netcam mailen

Posted: Sun Dec 18, 2011 8:25 pm
by Art
Ik zat met een soortgelijk probleem, FWIW: Mijn IP-cams ftp'en als ze beweging detecteren een jpg met timestamp in de bestandsnaam naar een webserver. Ik wilde de recenste upload naar een vaste bestandsnaam kopiëren en gebruik daar nu de volgende php code voor:

Code: Select all

set_time_limit(60);
# Most recently updated file in a directory
# Set up
$dir = "c:/htdocs/images";
$pattern = '\.(jpg|gif)$';
$newstamp = 0;
$newname = "";
$dc = opendir($dir);
while ($fn = readdir($dc)) {
        # Eliminate current directory, parent directory
        if (ereg('^/.{1,2}$',$fn)) continue;
        # Eliminate other pages not in pattern
        if (! ereg($pattern,$fn)) continue;
        $timedat = filemtime("$dir/$fn");
        if ($timedat > $newstamp) {
                $newstamp = $timedat;
                $newname = $fn;
                }
        }
 
$sizefile="c:/htdocs/images/$newname";
 
# $timedat is the time for the latest file
# $newname is the name of the latest file
# $sizefile is the path and name of the latest file

copy("$dir/$newname","c:/htdocs/most_recent_image.jpg");
Verderop gebruik ik Second Copy en Automailer om het resultaat naar een andere webserver te ftp´en, te mailen, etcetera. Old skool :-)

Re: Plaatje van netcam mailen

Posted: Mon Dec 19, 2011 5:37 pm
by Rutger
(Ik gebruik BlueIris als camera software. Deze triggert een event in homeseer om de Netcam plugin een foto te laten maken van de betreffende camera.
Deze foto wordt dan gemaild in een bijlage.)
Dit script staat ook wel ergens op dit forum en ook hoe de trigger werkt vanuit BlueIris naar een Homeseer Event. Dit script maakt standaard dacht ik 3 foto's, waarbij de eerste of laatste gemaild werd ( zie 'count' regel).
In mijn script wordt 1 foto gemaakt en gemaild. De camera heet "Homeseer Tuincam", maar kan ieder willekeurige naam zijn natuurlijk.
Tevens wordt de foto alleen gemaild als het alarm op Armed Home of Armed Away staat. Als 't alarm niet actief is, wordt er wel een foto gemaakt, maar niet gemaild...

Sub Main(Optional ByVal pParms As String = "")
Dim pi As Object
dim time
time = timevalue(now)
pi = hs.Plugin("Netcam")
Dim files As Collection = pi.getimages("ALL")

If files.Count >= 1 Then
Dim latestImage As Integer = 1
Dim strFileName As String = files(latestImage).Replace("_thmb","")
hs.WriteLog("Info", "File to send: " & strFileName)
hs.SendEmail("naar@gmail.com", "van@gmail.com", "Homeseer Tuincam "&time, "Homeseer Tuincam", strFileName)
End If

End Sub

Re: Plaatje van netcam mailen

Posted: Tue Dec 20, 2011 11:40 pm
by labtec
Ik zou ook graag de foto's van mijn webcam willen mailen, ik gebruik een foscam webcam. Ik begrijp echter niets van scripts :(
zou iemand mij op weg kunnen helpen.

Ik heb al diverse messages gelezen, ik begrijp echter niets van de script uitleg en op welke wijze ik deze kan gebruiken :(

Onderstaand mijn huidige situatie/config;

Foscam webcam
Netcam geinstalleerd in HS
ik kan met een event de foscam snapshots laten maken, event trigger bijvoorbeeld motion of deurcontact

Hoe nu verder????

Re: Plaatje van netcam mailen

Posted: Fri Dec 23, 2011 7:24 pm
by labtec
Niemand die mij op weg kan helpen? met zoeken op het forum kom ik er niet uit.

Wellicht een script om mee te starten, met de uitleg wat op welke wijze te veranderen.

Of een link waar ik info kan vinden mbt het gebruik van scripts in HS.

Alvast bedankt.

Re: Plaatje van netcam mailen

Posted: Tue Dec 27, 2011 3:28 pm
by Herbus
Labtec,

Wat jij wilt is goed te doen maar dan moet je wel een start hebben gemaakt met scripting. Tenzij je een plugin vindt die het helemaal voor je afhandelt.
Scripting is erg persoonlijk. Niet alleen de wijze van programmeren maar ook de toepassing.
Mijn advies is om te starten met eenvoudige scripts in Visual Basic. Zoek een boek/beschrijving van VB .net en begin gewoon.
Start je script vanuit een event en schakel zo een device aan/uit. Stuur jezelf een e-mail of laat je script reageren op een condition.
Als je ermee bezig bent zullen eerder genoemde scripts ook sneller duidelijk worden.
Op afstand iemand door een script leiden als er aan de andere kant geen kennis is wordt nagenoeg onmogelijk. Da's een beetje hetzelfde als iemand telefonisch zwemles geven. Gewoon proberen, het lijkt moeilijker dan het is.
Succes!

Re: Plaatje van netcam mailen

Posted: Tue Dec 27, 2011 6:33 pm
by labtec
Ok, ik ga eens op zoek naar VB.net beschrijvingen.

Bedankt!

Re: Plaatje van netcam mailen

Posted: Tue Dec 27, 2011 8:18 pm
by labtec
Ik heb nog een poging gewaagd met webcam plugin, helaas vind deze plugin mijn foscam camera niet................vreemd
want de netcam plugin gebruikt ook deze foscam en dit werkt wel.

Verder heb ik nog geen plugin gevonden die al het gewenste kan uitvoeren.