Skip to content
This repository was archived by the owner on Mar 1, 2021. It is now read-only.

Commit 4588635

Browse files
committed
Rework for eedomus plugin norm
1 parent 2e0a61f commit 4588635

5 files changed

Lines changed: 214 additions & 17 deletions

File tree

README.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
# eedomus script : wind direction
22

3-
Version : 1.0
3+
![compass](eedomus_plugin\img\windrose-compass.png "Rose des vents")
44

5-
Auteur : Nikya
5+
* Version : 2.0
6+
* Origine : [GitHub/Nikya/windDirection][be61b901]
7+
8+
[be61b901]: https://github.com/Nikya/eedomusScript_windDirection "Origine sur GitHub"
69

710

811
## Description
@@ -16,11 +19,15 @@ Le bon fonctionnement de ce script dépend d'une installation correte de la giro
1619

1720
![rosevents](rosevents.gif "Rose des vents")
1821

19-
## Installation
22+
## Installation via store
23+
24+
Depuis le portail eedomus, cliquez sur `Configuration / Ajouter ou supprimer un périphérique / Store eedomus` puis selectioner _windDirection_.
25+
26+
## Installation manuel
2027
1. Télécharger le projet sur GitHub : [github.com/Nikya/eedomusScript_windDirection](https://github.com/Nikya/eedomusScript_windDirection/archive/master.zip)
21-
1. Uploader le fichier *wind_direction.php* sur la box ([Doc eedomus scripts](http://doc.eedomus.com/view/Scripts#Script_HTTP_sur_la_box_eedomus))
28+
1. Uploader le fichier *src/wind_direction.php* sur la box ([Doc eedomus scripts](http://doc.eedomus.com/view/Scripts#Script_HTTP_sur_la_box_eedomus))
2229

23-
## Tester
30+
### Tester
2431
Ce script peut ensuite être testé au travers du lien suivant dans le navigateur
2532

2633
http://[ip_de_votre_box]/script/?exec=wind_direction.php&periph=[code_api_perif]
@@ -33,7 +40,7 @@ Exemple
3340

3441
http://192.168.1.2/script/?exec=wind_direction.php&periph=999999
3542

36-
## Résultat
43+
### Résultat
3744
Le résultat est au format XML.
3845

3946
Exemple de résultat
@@ -53,7 +60,7 @@ Exemple de résultat
5360
</data>
5461
```
5562

56-
## Correspondance XPATH
63+
### Correspondance XPATH
5764

5865
Les différentes informations possibles retournées par les Xpath suivants :
5966

@@ -73,8 +80,9 @@ Renseigner les paramètres suivants :
7380

7481
- Type de données : ```Texte```
7582
- URL de la requête : ```http://[VAR1]/script/?exec=wind_direction.php&periph=[VAR2]```
76-
- Chemin XPATH : ```/data/fr/long```
83+
- Chemin XPATH : ```/data/[VAR3]```
7784
- Fréquence de la requête : ```5```
7885
- Variables utilisateur :
7986
- [VAR1] : ```Localhost```
8087
- [VAR2] : ```999999``` Le code API du périphérique
88+
- [VAR3] : ```xx/yyyyy``` Langue et longueur d'affichage `fr` ou `en` et `short` ou `long`

asset/windrose-compass.svg

Lines changed: 130 additions & 0 deletions
Loading

src/eedomus_plugin.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"plugin_id": "wind_direction",
3+
"name_fr": "Wind direction",
4+
"icon": "windrose-compass.png",
5+
"version": "2.0",
6+
"creation_date": "2015-11-20",
7+
"modification_date": "2017-10-08",
8+
"author": "<a href=\"https://github.com/Nikya\">Nikya</a>",
9+
"description_fr": "Convertir une direction de vent en degré, vers son équivalent en point cardinal.",
10+
"description_en": "convert a wind direction in degrees, to its cardinal point equivalent.",
11+
"forum_link": "http://forum.eedomus.com/viewtopic.php?f=50&t=3330",
12+
"parameters": [
13+
{
14+
"parameter": "help_url",
15+
"description": "Documentation technique ou pour signaler un beugue",
16+
"xtype": "displayfield",
17+
"field": "style: 'padding: 3px;', value: 'https://github.com/Nikya/eedomusScript_windDirection'"
18+
},
19+
{
20+
"parameter": "configPerifCode",
21+
"description": "Renseigner le code API de l'anémomètre",
22+
"xtype": "numberfield",
23+
"field": "allowBlank: false, allowDecimals:false, width: 100"
24+
},
25+
{
26+
"parameter": "configDisplay",
27+
"description": "<b>Options d'affichages</b> Choisir une langue et une longueur d'affichage parmis : <code>fr/short</code> ou <code>fr/long</code> ou <code>en/short</code> ou <code>en/long</code>",
28+
"xtype": "textfield",
29+
"field": "allowBlank: false, allowDecimals:false, width: 10"
30+
}
31+
],
32+
"scripts": [
33+
{
34+
"name": "wind_direction.php"
35+
}
36+
],
37+
"devices": [
38+
{
39+
"device_id": "wind_direction",
40+
"module_id": "51",
41+
"type": "http",
42+
"name_fr": "Wind direction",
43+
"icon": "windrose-compass.png",
44+
"utilisation_id": "35",
45+
"parameters": {
46+
"value_type": "list",
47+
"ignore_errors": 3,
48+
"VAR1": "localhost",
49+
"VAR2": "plugin.parameters.configPerifCode",
50+
"VAR3": "plugin.parameters.configDisplay",
51+
"RAW_URL": "http://[VAR1]/script/?exec=wind_direction.php&periph=[VAR2]",
52+
"RAW_XPATH": "/data/[VAR3]",
53+
"POLLING": "5"
54+
}
55+
}
56+
]
57+
}

src/img/windrose-compass.png

7.87 KB
Loading
Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
* Un script pour la box domotique eedomus pour convertir la direction du vent
55
********************************************************************************
66
* Version :
7-
* 1.0
7+
* 2.0
88
*
99
* Auteur :
1010
* Nikya
1111
* https://github.com/Nikya/
1212
*
13-
* Documentation complète :
13+
* Documentation complète et aide :
1414
* https://github.com/Nikya/eedomusScript_windDirection
1515
*
1616
* Param :
@@ -25,7 +25,8 @@
2525
//require_once ("../eedomusScriptsEmulator.php");
2626

2727
////////////////////////////////////////////////////////////////////////////////
28-
// Definition des points cardianux
28+
// Definition des 16x2 points cardinaux
29+
// En version courte/longue Français/Anglais
2930
$cardinalArray = array(
3031
'fr' => array(
3132
'short' => array(
@@ -174,13 +175,13 @@
174175
$periphId = getArg('periph', true);
175176

176177
////////////////////////////////////////////////////////////////////////////////
177-
// Lecture de la valeur
178+
// Lecture de la valeur en ° du capteur
178179
$aVal = getValue($periphId);
179180
$value = $aVal['value'];
180181
$change = $aVal['change'];
181182

182183
////////////////////////////////////////////////////////////////////////////////
183-
// Recherche de la division
184+
// Recherche de la division correspondante
184185
$step = 360/32;
185186
$divId = 0;
186187

@@ -191,18 +192,19 @@
191192
}
192193

193194
////////////////////////////////////////////////////////////////////////////////
194-
// Conversion de la division en point cardinaux
195+
// Recherche du point cardinal correspondant à la division trouvée
196+
// dans un tableau de type [langue][longeur][val_precision_0][val_precision_1][val_precision_2]
195197
$cardinal_fr_s = $cardinalArray['fr']['short'][$divId][0].$cardinalArray['fr']['short'][$divId][1].$cardinalArray['fr']['short'][$divId][2];
196198
$cardinal_fr_l = $cardinalArray['fr']['long'][$divId][0].$cardinalArray['fr']['long'][$divId][1].$cardinalArray['fr']['long'][$divId][2];
197199
$cardinal_en_s = $cardinalArray['en']['short'][$divId][0].$cardinalArray['en']['short'][$divId][1].$cardinalArray['en']['short'][$divId][2];
198200
$cardinal_en_l = $cardinalArray['en']['long'][$divId][0].$cardinalArray['en']['long'][$divId][1].$cardinalArray['en']['long'][$divId][2];
199201

200202
////////////////////////////////////////////////////////////////////////////////
201-
// Renvoie du resultat en XML
203+
// Formatage et renvoie du resultat en XML
202204
$content_type = 'text/xml';
203205
sdk_header($content_type);
204206

205-
echo <<<EOD
207+
echo <<<OUT_XML
206208
<data>
207209
<change>$change</change>
208210
<degree>$value</degree>
@@ -216,5 +218,5 @@
216218
<long>$cardinal_en_l</long>
217219
</en>
218220
</data>
219-
EOD;
221+
OUT_XML;
220222
?>

0 commit comments

Comments
 (0)