Tag état station Vantage
- clement104
- participation 3
- Messages : 222
- Enregistré le : 30 juil. 2007, 13:22
- Localisation : Mélin, Belgique
- Contact :
Re: Tag état station Vantage
Ne faudrait-il pas alors faire en deux fois?
-1 élimination du "78"
-2 élimination du "12345" -> reste 6
-1 élimination du "78"
-2 élimination du "12345" -> reste 6
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: Tag état station Vantage
Bon je vous le donne en WsWin:
http://rieux-marne.net/meteo/wswin/pers ... onquer.php
http://rieux-marne.net/meteo/wswin/pers ... onquer.php
Cordialement
Rieux
Rieux
- clement104
- participation 3
- Messages : 222
- Enregistré le : 30 juil. 2007, 13:22
- Localisation : Mélin, Belgique
- Contact :
Re: Tag état station Vantage
Bonsoir,
est-il normale que le tag %ws_batteryreceivvt% me donne 00000000 ?
EDIT: ah oui j'ai compris désolé, par contre qu'est-ce que le Davis Talk transmitter?
est-il normale que le tag %ws_batteryreceivvt% me donne 00000000 ?
EDIT: ah oui j'ai compris désolé, par contre qu'est-ce que le Davis Talk transmitter?
Modifié en dernier par clement104 le 09 janv. 2011, 19:31, modifié 1 fois.
- vals
- Participation 5
- Messages : 833
- Enregistré le : 13 déc. 2006, 20:27
- Localisation : 69320 Feyzin
- Contact :
Re: Tag état station Vantage
C'est ce que j'ai aussi ici.
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: Tag état station Vantage
Oui tout à fait normal !
Bit 0 -> OK Bit 1 -> Défaut
Bit 0 -> OK Bit 1 -> Défaut
Cordialement
Rieux
Rieux
-
- participation 3
- Messages : 201
- Enregistré le : 04 nov. 2010, 13:31
- Localisation : Deûlémont, Nord
- Contact :
Re: Tag état station Vantage
Je comprends pas trop le PHP, alors je bidoulle. J'ai fait par une autre methode, peut-être un peu trop compliqué, il y avait surement plus simple, mais le but, c'est que cela fonctionne.
Voici le code modifié visible ici : http://www.deule-climat.net/etat.php
J'ai une batterie faible sur la station 3.
Voici le code modifié visible ici : http://www.deule-climat.net/etat.php
J'ai une batterie faible sur la station 3.
Code : Tout sélectionner
<!-- %customfile=etat.php% -->
<html>
<?php
#Batterie console
%alwaysseppoint_on%
$voltbat= '%ws_batteryvt%' ;
$voltbat = str_replace('V', '', $voltbat);
if ($voltbat<"4.63") {$affichage="Sur batterie (%ws_batteryvt%)";}
if ($voltbat>="4.63") {$affichage="Sur secteur (%ws_batteryvt%)";}
#Paquet réceptionnés
$tot= %ws_totalpacketsvt% ;
$miss= %ws_mispacketsvt% ;
$error= %ws_crcerrorsvt% ;
$nok= $miss+$error ;
$tot2 = $tot-$nok ;
$row= %ws_rowpacketsvt% ;
$resync= %ws_resyncvt% ;
#Batterie émetteur
$battid1= substr("%ws_batteryreceivvt%", 7, 1);
if ($battid1=="0") {$battid1pict="lights_green.gif";}
if ($battid1=="1") {$battid1pict="lights_red.gif";}
if ($battid1=="0") {$battid1stat="Batterie OK";}
if ($battid1=="1") {$battid1stat="Batterie HS";}
$battid2= substr("%ws_batteryreceivvt%", 6, 1);
if ($battid2=="0") {$battid2pict="lights_green.gif";}
if ($battid2=="1") {$battid2pict="lights_red.gif";}
if ($battid2=="0") {$battid2stat="Batterie OK";}
if ($battid2=="1") {$battid2stat="Batterie HS";}
$battid3= substr("%ws_batteryreceivvt%", 5, 1);
if ($battid3=="0") {$battid3pict="lights_green.gif";}
if ($battid3=="1") {$battid3pict="lights_red.gif";}
if ($battid3=="0") {$battid3stat="Batterie OK";}
if ($battid3=="1") {$battid3stat="Batterie HS";}
?>
%alwayssepcomma_on%
<head>
<style type="text/css">
<!--
body {
background-color: #FFFFFF;
}
.Style4 {font-size: 12px}
-->
</style>
</head>
<body>
<div id="text">
<table width="500" border="1">
<tr>
<td><div align="center">Etat des capteurs<br>le %longdate% à %ws_time%</div></td>
</tr>
</table>
<table width="500" border="1">
<tr>
<td>Date du firmware : </td>
<td>%ws_firmwarevt%</td>
</tr>
<tr>
<td>Tension de la batterie (console) : </td>
<td><?php echo "$affichage"; ?></td>
</tr>
<tr>
<td>Qualité de réception : </td>
<td>%ws_receiveprozvt%</td></tr>
<tr>
<td>Paquets de bonnes qualités* : </td>
<td><?php echo "$tot2" ; ?> / <?php echo "$tot"; ?></td></tr>
<tr>
<td>Paquets consécutifs de bonnes qualités : </td>
<td><?php echo "$row" ; ?></td></tr>
<tr>
<td>Nombre de resynchronisation : </td>
<td><?php echo "$resync" ; ?></td></tr>
</table>
<table width="500" border="1">
<tr>
<td style="width: 220px">Réception ISS</td>
<td><img border="0" src="<?php echo "$battid1pict"; ?>"></td>
<td><?php echo "$battid1stat"; ?></td>
<td>Nouvelle batterie le:</br>10/10/2010</td>
</tr>
<tr>
<td style="width: 220px">Réception déport anémomètre</td>
<td><img border="0" src="<?php echo "$battid2pict"; ?>"></td>
<td><?php echo "$battid2stat"; ?></td>
<td>Nouvelle batterie le: </br> 10/10/2010</td>
</tr>
<tr>
<td style="width: 220px">Réception station température et humidité du sol</td>
<td><img border="0" src="<?php echo "$battid3pict"; ?>"></td>
<td><?php echo "$battid3stat"; ?></td>
<td>Nouvelle batterie le:</br>01/01/2011</td>
</tr></table>
<span class="Style4"></br>
*paquets total - (paquets manqués + paquets avec erreur)</span></div>
</body>
</html>
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: Tag état station Vantage
Alors là je rêvedeule-climat a écrit :Je comprends pas trop le PHP, alors je bidoulle. J'ai fait par une autre methode, peut-être un peu trop compliqué, il y avait surement plus simple, mais le but, c'est que cela fonctionne.
Cordialement
Rieux
Rieux
-
- participation 3
- Messages : 201
- Enregistré le : 04 nov. 2010, 13:31
- Localisation : Deûlémont, Nord
- Contact :
Re: Tag état station Vantage
C'est plutôt correct ou pas ?
Il faut faire attention aussi que si 2 piles sont HS que le script fonctionne bien.
Si on met une condition sur 0001 pour une pile HS sur l'ISS, cela ne fonctionnera pas si une autre pile tombe en panne. Le 0001 sera remplacé par 0101 par exemple, donc ca ne marchera pas.
Avec le code ci-dessus, il n'y a pas de problème car les 8 chiffres ont été coupés en fonction de la sonde.
Donc pour l'émetteur n°4, il faudra ajouter substr("%ws_batteryreceivvt%", 4, 1). Exemple avec les chiffres : 0000-0-000
Donc pour l'émetteur n°5, il faudra ajouter substr("%ws_batteryreceivvt%", 3, 1). Exemple avec les chiffres : 000-0-0000
etc...
Sur ton exemple Rieux, je pense que si 2 piles sont HS, cela ne fonctionne pas. A confirmer.
Il faut faire attention aussi que si 2 piles sont HS que le script fonctionne bien.
Si on met une condition sur 0001 pour une pile HS sur l'ISS, cela ne fonctionnera pas si une autre pile tombe en panne. Le 0001 sera remplacé par 0101 par exemple, donc ca ne marchera pas.
Avec le code ci-dessus, il n'y a pas de problème car les 8 chiffres ont été coupés en fonction de la sonde.
Donc pour l'émetteur n°4, il faudra ajouter substr("%ws_batteryreceivvt%", 4, 1). Exemple avec les chiffres : 0000-0-000
Donc pour l'émetteur n°5, il faudra ajouter substr("%ws_batteryreceivvt%", 3, 1). Exemple avec les chiffres : 000-0-0000
etc...
Sur ton exemple Rieux, je pense que si 2 piles sont HS, cela ne fonctionne pas. A confirmer.
-
- participation 3
- Messages : 201
- Enregistré le : 04 nov. 2010, 13:31
- Localisation : Deûlémont, Nord
- Contact :
Re: Tag état station Vantage
Le code de Rieux fonctionne même avec plusieurs piles HS. Il a tout simplement coupé les Bits Batterie plusieurs fois et utilisé les fonctions de stockage rappel mémoire.
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: Tag état station Vantage
Oui ton code est bon, mais tu dis te prendre la tête avec du PHP alors qu'il n'est pas obligatoire pour un affichage équivalent !deule-climat a écrit :C'est plutôt correct ou pas ?
Il y a des choses que WsWin ne sait pas faire, mais là pas besoin de chercher ailleurs.
Cordialement
Rieux
Rieux
-
- participation 3
- Messages : 201
- Enregistré le : 04 nov. 2010, 13:31
- Localisation : Deûlémont, Nord
- Contact :
Re: Tag état station Vantage
C'est vrai, tu as raison. Personnellement, je préfère utiliser le PHP car il y a des fonctions non présente avec Wswin, mais si on ne veut pas trop se prendre la tête, le mieux c'est d'utiliser toute les fonctionnalités du logiciel.
La methode wswin est très bien, mais j'ai mis du temps à comprendre quand même.
En tout cas, merci de ton aide et du tutoriel que tu as créé.
La methode wswin est très bien, mais j'ai mis du temps à comprendre quand même.
En tout cas, merci de ton aide et du tutoriel que tu as créé.
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: Tag état station Vantage
Bonjour,
Il y a des choses plus simple en PHP c'est évident !
Une grosse lacune de WsWin est pour moi la comparaison, un équivalent de IF, ELSEIF et ELSE serait du pure bonheur....
Une petite boucle WHILE également soyons fou !
Mais quand une chose est réalisable avec WsWin je préfère privilégier cette solution, même si des fois je me prends vraiment la tête pour pas grand chose.
J'ai mis dans l'aide un code plus commun fonctionnant pour tout le monde, je remets donc le code précédent ici.
Il y a des choses plus simple en PHP c'est évident !
Une grosse lacune de WsWin est pour moi la comparaison, un équivalent de IF, ELSEIF et ELSE serait du pure bonheur....
Une petite boucle WHILE également soyons fou !
Mais quand une chose est réalisable avec WsWin je préfère privilégier cette solution, même si des fois je me prends vraiment la tête pour pas grand chose.
J'ai mis dans l'aide un code plus commun fonctionnant pour tout le monde, je remets donc le code précédent ici.
Code : Tout sélectionner
%ws_setmem[4]=%ws_cutstr=1~5~%ws_batteryreceivvt%%%
%ws_setmem[1]=%ws_cutstr=1~2~%ws_getmem[4]%%%
%ws_setmem[3]=%ws_cutstr=-2~2~%ws_getmem[4]%%%
%ws_setmem[5]=%ws_cutstr=1~1~%ws_getmem[4]%%%
%ws_setmem[2]=%ws_cutstr=-1~1~%ws_getmem[5]%%%
<table>
<tr>
<td>Date du firmware</td>
<td colspan="2">%ws_firmwarevt%</td>
<td colspan="2">Pile des stations auxiliaires</td>
</tr>
<tr>
<td>Tension batterie de la console</td>
<td colspan="2">%unit_off%%ws_compare[2]=%ws_batteryvt%~4,55~Sur secteur~%ws_batteryvt% V%%unit_on%</td>
<td colspan="2"><center>Dates</center></td>
</tr>
<tr>
<td>Qualité de réception %</td>
<td colspan="2">%ws_receiveprozvt%</td>
<td >Anciennes</td>
<td >Nouvelles</td>
</tr>
<tr>
<td>Station ISS</td>
<td><img border="0"%ws_compare[3]=%ws_getmem[1]%~0~src="lights_green.gif"~src="../mesures/lights_red.gif"%></td>
<td>%ws_compare[3]=%ws_getmem[1]%~0~Batterie OK~Batterie HS ou faible%</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Station anémo</td>
<td><img border="0" %ws_compare[3]=%ws_getmem[2]%~0~src="lights_green.gif"~src="../mesures/lights_red.gif"%></td>
<td>%ws_compare[3]=%ws_getmem[2]%~0~Batterie OK~Batterie HS ou faible%</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Station sol</td>
<td><img border="0" %ws_compare[3]=%ws_getmem[3]%~0~src="lights_green.gif"~src="../mesures/lights_red.gif"%></td>
<td>%ws_compare[3]=%ws_getmem[3]%~0~Batterie OK~Batterie HS ou faible%</td>
<td></td>
<td></td>
</tr>
</table>
Cordialement
Rieux
Rieux
- clement104
- participation 3
- Messages : 222
- Enregistré le : 30 juil. 2007, 13:22
- Localisation : Mélin, Belgique
- Contact :
Re: Tag état station Vantage
J'avoue que ce serait génial.webmaster a écrit :Une grosse lacune de WsWin est pour moi la comparaison, un équivalent de IF, ELSEIF et ELSE serait du pure bonheur....
Une petite boucle WHILE également soyons fou !
En tout cas, merci pour ton bout de code
-
- participation 3
- Messages : 201
- Enregistré le : 04 nov. 2010, 13:31
- Localisation : Deûlémont, Nord
- Contact :
Re: Tag état station Vantage
Bonjour,
Je viens de remarquer une incohérance : Au vu du script initial, si la console est sur secteur alors la tension est supérieur à 4,63 V. Or, c'est faux et c'est uniquement valable avec des piles entierement chargées. Si les piles ont une tension de 3,6 Volt, alors sur secteur on a environ 3,65 volt.
J'ai modifié donc le script visible ici : http://www.deule-climat.net/etat.php
Pour info, "console batterie faible" s'affiche à l'écran quand la tension est inférieur à 3,5 Volts.
> 4.63 V = 100 % sur secteur
4.63 à 4.54 = 100 %
4.53 à 4.44 = 90 %
4.43 à 4.34 = 80 %
4.33 à 4.24 = 70 %
4.23 à 4.14 = 60 %
4.13 à 4.04 = 50 %
4.03 à 3.94 = 40 %
3.93 à 3.84 = 30 %
3.83 à 3.74 = 20 %
3.73 à 3.64 = 10 %
3.63 à 3.50 = 0 %
<3,5 V = Piles HS
Voici le code modifié :
Je viens de remarquer une incohérance : Au vu du script initial, si la console est sur secteur alors la tension est supérieur à 4,63 V. Or, c'est faux et c'est uniquement valable avec des piles entierement chargées. Si les piles ont une tension de 3,6 Volt, alors sur secteur on a environ 3,65 volt.
J'ai modifié donc le script visible ici : http://www.deule-climat.net/etat.php
Pour info, "console batterie faible" s'affiche à l'écran quand la tension est inférieur à 3,5 Volts.
> 4.63 V = 100 % sur secteur
4.63 à 4.54 = 100 %
4.53 à 4.44 = 90 %
4.43 à 4.34 = 80 %
4.33 à 4.24 = 70 %
4.23 à 4.14 = 60 %
4.13 à 4.04 = 50 %
4.03 à 3.94 = 40 %
3.93 à 3.84 = 30 %
3.83 à 3.74 = 20 %
3.73 à 3.64 = 10 %
3.63 à 3.50 = 0 %
<3,5 V = Piles HS
Voici le code modifié :
Code : Tout sélectionner
<!-- %customfile=etat.php% -->
<html>
<?php
#Batterie console
%alwaysseppoint_on%
$voltbat= '%ws_batteryvt%' ;
$voltbat = str_replace('V', '', $voltbat);
if ($voltbat<"4.63") {$affichage="%ws_batteryvt%";}
if ($voltbat>="4.63") {$affichage="%ws_batteryvt% (Sur secteur)";}
if ($voltbat<"4.63") {$battconspict="images/batt/ac100.gif";}
if ($voltbat<"4.63" AND $voltbat>"4.54") {$battconspict="images/batt/100.gif";}
if ($voltbat<"4.53" AND $voltbat>"4.44") {$battconspict="images/batt/90.gif";}
if ($voltbat<"4.43" AND $voltbat>"4.34") {$battconspict="images/batt/80.gif";}
if ($voltbat<"4.33" AND $voltbat>"4.24") {$battconspict="images/batt/70.gif";}
if ($voltbat<"4.23" AND $voltbat>"4.14") {$battconspict="images/batt/60.gif";}
if ($voltbat<"4.13" AND $voltbat>"4.04") {$battconspict="images/batt/50.gif";}
if ($voltbat<"4.03" AND $voltbat>"3.94") {$battconspict="images/batt/40.gif";}
if ($voltbat<"3.93" AND $voltbat>"3.84") {$battconspict="images/batt/30.gif";}
if ($voltbat<"3.83" AND $voltbat>"3.74") {$battconspict="images/batt/20.gif";}
if ($voltbat<"3.73" AND $voltbat>"3.64") {$battconspict="images/batt/10.gif";}
if ($voltbat<"3.63" AND $voltbat>"3.50") {$battconspict="images/batt/0.gif";}
if ($voltbat<"3.50") {$battconspict="images/batt/none.gif";}
if ($voltbat<"4.63") {$battconsstat="100 %";}
if ($voltbat<"4.63" AND $voltbat>"4.54") {$battconsstat="100 %";}
if ($voltbat<"4.53" AND $voltbat>"4.44") {$battconsstat="90 %";}
if ($voltbat<"4.43" AND $voltbat>"4.34") {$battconsstat="80 %";}
if ($voltbat<"4.33" AND $voltbat>"4.24") {$battconsstat="70 %";}
if ($voltbat<"4.23" AND $voltbat>"4.14") {$battconsstat="60 %";}
if ($voltbat<"4.13" AND $voltbat>"4.04") {$battconsstat="50 %";}
if ($voltbat<"4.03" AND $voltbat>"3.94") {$battconsstat="40 %";}
if ($voltbat<"3.93" AND $voltbat>"3.84") {$battconsstat="30 %";}
if ($voltbat<"3.83" AND $voltbat>"3.74") {$battconsstat="20 %";}
if ($voltbat<"3.73" AND $voltbat>"3.64") {$battconsstat="10 %";}
if ($voltbat<"3.63" AND $voltbat>"3.50") {$battconsstat="0 %";}
if ($voltbat<"3.50") {$battconsstat="Batterie HS";}
#Paquet réceptionnés
$tot= %ws_totalpacketsvt% ;
$miss= %ws_mispacketsvt% ;
$error= %ws_crcerrorsvt% ;
$nok= $miss+$error ;
$tot2 = $tot-$nok ;
$row= %ws_rowpacketsvt% ;
$resync= %ws_resyncvt% ;
#Batterie émetteur
$battid1= substr("%ws_batteryreceivvt%", 7, 1);
if ($battid1=="0") {$battid1pict="lights_green.gif";}
if ($battid1=="1") {$battid1pict="lights_red.gif";}
if ($battid1=="0") {$battid1stat="Batterie OK";}
if ($battid1=="1") {$battid1stat="Batterie HS";}
$battid2= substr("%ws_batteryreceivvt%", 6, 1);
if ($battid2=="0") {$battid2pict="lights_green.gif";}
if ($battid2=="1") {$battid2pict="lights_red.gif";}
if ($battid2=="0") {$battid2stat="Batterie OK";}
if ($battid2=="1") {$battid2stat="Batterie HS";}
$battid3= substr("%ws_batteryreceivvt%", 5, 1);
if ($battid3=="0") {$battid3pict="lights_green.gif";}
if ($battid3=="1") {$battid3pict="lights_red.gif";}
if ($battid3=="0") {$battid3stat="Batterie OK";}
if ($battid3=="1") {$battid3stat="Batterie HS";}
?>
%alwayssepcomma_on%
<head>
<style type="text/css">
<!--
body {
background-color: #FFFFFF;
}
.Style4 {font-size: 12px}
-->
</style>
</head>
<body>
<div id="text">
<table width="500" border="1">
<tr>
<td><div align="center"><strong>Etat des capteurs et de la console</strong><br>le %longdate% à %ws_time%</div></td>
</tr>
</table>
<table width="500" border="1">
<tr>
<td>Date du firmware : </td>
<td>%ws_firmwarevt%</td>
</tr>
<tr>
<td>Tension de la batterie (console) : </td>
<td><?php echo "$affichage"; ?></td>
</tr>
<tr>
<td>Qualité de réception : </td>
<td>%ws_receiveprozvt%</td></tr>
<tr>
<td>Paquets de bonnes qualités* : </td>
<td><?php echo "$tot2" ; ?> / <?php echo "$tot"; ?></td></tr>
<tr>
<td>Paquets consécutifs de bonnes qualités : </td>
<td><?php echo "$row" ; ?></td></tr>
<tr>
<td>Nombre de resynchronisation : </td>
<td><?php echo "$resync" ; ?></td></tr>
</table>
<table width="500" border="1">
<tr>
<td style="width: 220px">Statut :<br> Console</td>
<td align="center"><img border="0" src="<?php echo "$battconspict"; ?>" height="32" width="27"></td>
<td><?php echo "$battconsstat"; ?></td>
<td>Nouvelle batterie le :</br> 10/10/2010</td>
</tr>
<tr>
<td style="width: 220px">Statut :<br> ISS</td>
<td align="center"><img border="0" src="<?php echo "$battid1pict"; ?>"></td>
<td><?php echo "$battid1stat"; ?></td>
<td>Nouvelle batterie le :</br> 10/10/2010</td>
</tr>
<tr>
<td style="width: 220px">Statut :<br> Station déport anémomètre</td>
<td align="center"><img border="0" src="<?php echo "$battid2pict"; ?>"></td>
<td><?php echo "$battid2stat"; ?></td>
<td>Nouvelle batterie le : </br> 10/10/2010</td>
</tr>
<tr>
<td style="width: 220px">Statut :<br> Station temp. et hum. du sol</td>
<td align="center"><img border="0" src="<?php echo "$battid3pict"; ?>"></td>
<td><?php echo "$battid3stat"; ?></td>
<td>Nouvelle batterie le :</br> 01/01/2011</td>
</tr></table>
<span class="Style4"></br>
*paquets total - (paquets manqués + paquets avec erreur)</span></div>
</body>
</html>