Bonjour
Cela fait plus de 30 ans que je n’ai plus programmer et à mon époque c’était de l’assembleur, Fortran77 et C++. Pour programmer mon IPX800V3, j’essaye de m’y remettre et c’est loin d’être evident.
Les conseils du forum étaient de partir avec du PHP, plus performant que l’HTML. Je me suis donc lancé et suivi différents tutorial, j’ai installé Notepad++ et WampServer, mais la je bloque !
Pouvez-vous m’aider ? J’ai fait une programme au plus simple !, je commence doucement !!!
Ligne 15, eh oui déjà, impossible d’ajouter 2 heures à l’heure que j’ai récupéré, mieux comment récupérer l’heure de l’IPX ?
Ligne 29 impossible de récupérer l’état des input ( mode GET défini dans la doc GCE avec les majuscules et minuscules)
Ligne 39 impossible de forcer le relai par la commande set (ici le relai 4)
Merci de votre aide en me proposant les bonnes commandes et des astuces simples de programmation.
J’ai cru comprendre qu’avec PHP je devais récupérer les états avec un fichier XML, est-ce exact, si oui ou puis-je trouver le programme ?
Cdt
PS :L’objectif est de lancer une alarme (relai 4) si un contact (input:sunglasses: est ouvert pendant une période donnée, ici entre 20 heures et 8 heures.
<?php $date = date("d-m-Y"); $heure_gmt = date("2:0"); $heure = date ("H:i") + $heure_gmt ; // ce code écrase les minutes comment faire pour avoir l'heure de la France ou mieux l'heure de l'IPX ? echo 'Nous sommes le '.$date.' et il est '.$heure.'' ; $IP='xx.xx.xx.xx'; // Adresse de mon IPX800 V3 $port='9870'; // Port TCP par défaut $errno=0; // RAZ n° d'erreur de la connexion IPX $errdtr='errstr'; // RAZ message d'erreur de la connexion IPX $fp = fsockopen($IP,$port,$errno,$errstr,5); // Connexion vers l'IPX, ça l'air de marcher mais peut être pas ????????????? if (!$fp) { // Si connexion à échouée echo "$errstr ($errno)
\n"; // envoi message d'erreur } else { // Si connexion IPX OK $getin8 = fwrite ($fp, 'GetIn8') ; // $getin1 prend-elle la réponse de l'IPX à la commande GetIn1 (état de l'input :sunglasses: echo 'L état de 8 input 8 est : '.$getin8.'
' ; // echo me retourne la valeur 6, quelquesoit l'état des input $heure_debut = date ("20:0") ; // heure de déclenchement de l'arlarme si contateur off $heure_fin = date ("8:0") ; // heure d'arrêt de l'arlarme si contateur off echo 'heure de début est : '.$heure_debut.'
' ; echo 'heure fin est : '.$heure_fin.'
' ; if ($getin8 = 0) { // si le contact 8 est ouvert if ($heure > $heure_debut) { // si l'heure de début de surveillance est dépassée if ($heure < $heure_fin) { // Si la plage horaire de surveillance n'est pas dépassée echo 'alarme ON
' ; // Alors je lance l'alarme $set41 = fwrite ($fp, 'Set41') ; // Relai 4 ON } else { echo 'alarme off sup à '.$heure_fin.'
' ; $set40 = fwrite ($fp, 'Set40') ; // Relai 4 OFF } } else { echo 'alarme off inf à '.$heure_debut.'
' ; $set40 = fwrite ($fp, 'Set40') ; // Relai 4 OFF } } else { echo 'alarme off porte fermée
' ; $set40 = fwrite ($fp, 'Set40') ; // Relai 4 OFF } /* $etat_input1 = fread ($getin1,4) ; // Est-ce que je lie le retour de l'IPX à la commande GetIn1 ? */ } fclose($fp); // fermeture de la connexion IPX} ?>