Commande pour IPCAM

salut à tous
Je fais la meme chose que vous en même temps .

Le fichier alarm.php est correct car lorsque je lance http://ipjeedom/api/alarm.php je reçois la valeur 1 puis 5 sec après la valeur 0

ce qui bloque est donc est ce que la camera envoie l alarme à jeedom ou bien est ce que jeedom bloque ???

j’ai bien lancé celà pour parametrer la camera
http://ipcam/web/cgi-bin/hi3510/param.cgi?cmd=setmdalarm&-aname=server&-switch=on
http://ipcam/web/cgi-bin/hi3510/param.cgi?cmd=setalarmserverattr&-as_server=ipjeedom&-as_port=80

La config sur commande http://ipcam/web/cgi-bin/hi3510/param.cgi?cmd=getmdalarm&-aname=email&cmd=getmdalarm&-aname=emailsnap&cmd=getmdalarm&-aname=ftpsnap&cmd=getmdalarm&-aname=snap&cmd=getmdalarm&-aname=emailrec&cmd=getmdalarm&-aname=record&cmd=getmdalarm&-aname=ftprec&cmd=getmdalarm&-aname=relay&-aname=server

var md_email_switch=« off »; var md_emailsnap_switch=« off »; var md_ftpsnap_switch=« on »; var md_snap_switch=« off »; var md_emailrec_switch=« off »; var md_record_switch=« on »; var md_ftprec_switch=« on »; var md_server_switch=« on »;

Comment vérifier les messages depuis la camera ?

A suivre :slightly_smiling_face:

Hello,

Alors il va falloir que tu créer autant de virutel que tu as de caméras. Ensuite il faut que tu construise ton fichier alarm.php comme suit en changeant les les ip de tes cameras et les ID_COMMANDE en fonction des virtuels que tu auras créé (exemple pour deux caméras):

<?php


if ($_SERVER["REMOTE_ADDR"]=='IP_CAMERA1')
{
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=CLE_API_VIRTUEL&type=virtual&id=ID_COMMANDE&value=1');
sleep(5);
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=CLE_API_VIRTUEL&type=virtual&id=ID_COMMANDE&value=0');

}

if ($_SERVER["REMOTE_ADDR"]=='IP_CAMERA2')
{
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=CLE_API_VIRTUEL&type=virtual&id=ID_COMMANDE&value=1');
sleep(5);
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=CLE_API_VIRTUEL&type=virtual&id=ID_COMMANDE&value=0');

}

?>

Salut Vérifie également cette commande:

http://IpCAMERA/web/cgi-bin/hi3510/param.cgi?cmd=getalarmserverattr

Cela devrait te sortir ton ip de ton jeedom.

Si c’est bien le cas alors tu peux te connecter a ton raspberry a faire les modifications que j’ai apporté dans le post 254

Hello,

Yes merci, ça je pense que j’ai compris.
Ce que je n’arrive pas à comprendre c’est a quel moment Jeedom sait que l’info vient de telle ou telle caméra ? Dans ton exemple ci-dessus, on sait avec le « SERVER » etc… mais avant…?

Merci

En gros, quand la camera 1 va envoyer sa notif, elle va se connecter vers ton jeedom comme cela
http://ipdetonjeeadom/api/alarm.asp et en se connectant vers le jeedom, elle va se connecter avec sa propre ip a elle.
Dans ce fameux fichier alarm.asp que l’on vient de renommer en .php, en fonction des IF on va pouvoir savoir de quel caméra il s’agit.

if ($_SERVER["REMOTE_ADDR"]=='IP_CAMERA1') //Si l'ip de connexion == l'ip de la camera 1 
//alors je contact l'api du virtuel avec l'id de ma camera 1

Du coup jeedom va pouvoir dissocier la caméra 1 de le 2 ou la 3 avec les différents id que tu auras préalablement créé sur tes virtuels

Est ce plus clair? (sinon passe en mp)

As_server on met uniquement IP ou aussi le chemin vers le php car je comprends pas trop si on arrive en port 80 avec uniquement l’adresse IP comment on va forcer sous api\alarm.php

J’ai testé avec les 2

http://IPCAM/web/cgi-bin/hi3510/param.cgi?cmd=setalarmserverattr&-as_server=IPJEEDOM&-as_port=80
http://IPCAM/web/cgi-bin/hi3510/param.cgi?cmd=setalarmserverattr&-as_server=IPJEEDOM/api/alarm.php&-as_port=80

test pour verifier camera
http://IPCAM/web/cgi-bin/hi3510/param.cgi?cmd=getalarmserverattr
j’obtiens
var as_server=« IPJEEDOM »; var as_port=« 80 »; var as_username=""; var as_password=""; var as_info="";

Donc normalement en cas d’alarme ça doit solliciter Jeedom .

Si tu as l’ip de ta camera en résultat ce n’est pas bon

Dsl erreur lors du masquage IP , Lire IPJEEDOM pour le résultat dans la camera (je viens de modifier les post précédent )
je vais redonner des droits à certains fichiers .
Tu as le fichier raspberry qui log la connexion vers jeedom ?

Je ne suis pas sur que j’ai les mêmes noms de fichiers de logs que tout le monde mais pour moi c’est ici

/var/log/apache2/access.jeedom.log

Et ensuite j’utilise cette commande pur voir si quelque chose arrive de ma camera:

tail -f /var/log/apache2/access.jeedom.log | grep /api/alarm

Pour info :La commande tail -f permet de lire un fichier en direct sans l’editer. La commande grep permet de filtrer sur des mots clés.

En gros je lance ce tail et je vais devant ma camera pour qu’elle me detecte, puis je reviens voir si quelque chose passe dans les logs

bon ben j ai pas le fichier , je vais chercher .

Si je modifie ma camera pour envoyer un message sur mon telephone port 1234

j’ai sur mon telephone un serveur tcp actif en ecoute 1234

je trouve bien le push de la camera ici exemple 192.168.0.40

Question bête si sous chrome tu tapes http://IPJEEDOM:80 tu arrives sur index et donc dashboard ou ça lance ton alarm.php car la camera sollicite simplement le port 80 . pour ma part le port 80 c est index dashboard

Je vais peux être forcer sur un autre port le push camera et voir si je peux configurer apache pour alarm.asp et ce nouveau port et ne pas utiliser 80

C’est tout a fait normal car par défaut apache te renvoi toujours sur un fichier index.php ou .html
Justement, le fait de créer un dossier puis un fichier sur la docroot de ton site permet de ne pas avoir une 404 (page not found). Pas la peine de cherche a modifier ton port, apache n’écoute que sur le port 80 et 443 (http ou https).
As tu modifié ton vhost comme je l’avais indiqué?

Oui je l ai fait mais le fichier jeedom.conf n existant pas au départ je l ai créé
Est ce normal ? Il devait déjà être présent ?

image

un retour apres modification seulement du fichier 000-default.conf mais aussi sans les <<>>

image

Maintenant la camera sollicite Jeedom et j’ai bien un retour de l’alarme . un grand merci à [Antares]

1 « J'aime »

Merci @Antares pour ton aide et bravo à @MIKE_MARCHELLI :slight_smile:.

Moi ca avance doucement, faut que je trouve les log access.jeedom.log et que je modifie avec le post 254.

Je vous tiens au courant, merci

Bonjour,

Juste pour info, je cherchais une caméra dôme et je viens de recevoir celle-ci:

Elle fonctionne plutôt bien, même interface que ce que j’ai pris avant (cf les 1ers posts) et elle plutôt discrète donc nickel en intérieur :slight_smile:

1 « J'aime »

@Antares

Merci pour ta contribution. Je repasse par là après un mois avec peu de dispo. Je vais essayer de me pencher sur ta solution dans la semaine. J’espère que ça va fonctionner pour moi et mon Jeedom sur VM Synology.

1 « J'aime »

Bon… je bloque :frowning:

J’ai bien renommé alarm.asp en alarm.php. Ce fichier se lance bien depuis l’url suivante : http://IP_JEEDOM/api/alarm.php (j’avais fait le test avec « hello » sans que ça n’affiche rien).
Voici le contenu du fichier :

<?php
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=API_KEY&type=virtual&id=921&value=1');
sleep(5);
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=API_KEY&type=virtual&id=921&value=0');
?>

Il ne se passe rien quand j’entre l’url du fichier alarm.php dans mon navigateur. J’ai vérifié mon virtuel et il ne passe pas à 1. Je précise qu’il passe à 1 quand je rentre directement l’url du virtuel donc le problème vient du fichier alarm.php.

Je précise aussi que j’ai bien modifier le vhost en ajoutant la ligne (avec AliasMatch etc…), puis j’ai bien reload apache2. J’ai aussi redémarré jeedom.

Je veux bien un coup de main pour que mon fichier alarm.php lance le « script ».

1 « J'aime »

En cherchant, je pense que mon problème vient du php.

J’ai modifié le code de mon fichier alarm.php pour avoir ceci :

<?php echo 'test 2' ?>
test

Quand le lance alarm.php depuis mon navigateur, j’ai simplement « test » qui apparait. J’en déduis que le php ne fonctionne pas.
Mon Jeedom tourne sur une VM Synology. Ca a un rapport ?

Tu es certain de tes droits sur le fichier alarm.php ?