transmission des arguments au script


transmission des arguments au script

Messagepar merguez07 » 30 Nov 2020 20:57

Bonsoir,

comme tout ceux qui programment des plugins, je suis souvent confronté au problème de la transmission des arguments lorsqu'ils sont supérieurs à trois
Avec 3 arguments pas de problème on peut mettre le premier argument en VAR1 , le deuxième de en VAR2 et le 3ème en VAR3.

Si vous en avez plus, on les met à la suite sur une variable, en prenant soin de séparer chaque variable par une virgule ou un tiret ..... Il faut après faire une traitement (explode) dans le script pour récupérer chaque variable.

Si cette méthode marche, elle n'est pas très lisible dans le périphérique où on ne sait plus à quoi correspond la série de chiffre dans le VAR

Alors comment faire ? si j'ai ouvert ce topic c'est parceque je viens de réaliser qu'il y a beaucoup plus simple

un exemple avec le plugin soleil étendu
l'URL de la requête est
http://localhost/script/?exec=extdsun.php&num=[VAR1]&longlat=[VAR2]&delay=[VAR3]
les variables sont
VAR1 1
VAR2 44.5455471,4.6760496
VAR3 30,06:00,09:00,17:00,23:00

Avouons que les données contenus dans VAR3 ne sont pas très parlantes

Autre forme d'écriture qui ne necessitera plus de ligne de code pour réaffecter les variables :
l'URL de la requête sera :
http://localhost/script/?exec=extdsun.php&[VAR1]&[VAR2]&[VAR3]
les variables seront
VAR1 num=1
VAR2 lat=44.5455471&long=4.6760496
VAR3 delay=30&heurelevemin=06:00&heurelevmax=09:00&heurecoumini=17:00&heurecoumax=23:00

Avouez que c'est plus clair (et simplifie le code)
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2116
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: transmission des arguments au script

Messagepar KikiFUNstyle » 30 Nov 2020 21:07

Moi je dis OUI !
Pas bête comme idée pourquoi ne pas y avoir pensé avant :p
Eedomus+ / ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3
[Store] Shelly
KikiFUNstyle
 
Messages : 700
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: transmission des arguments au script

Messagepar thrymartin » 01 Déc 2020 04:41

mon dieu, l'eau chaude de christophe colomb qui coupe l'oeuf du fil du beurre

excellent :-) !!!
thrymartin
 
Messages : 716
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: transmission des arguments au script

Messagepar opa95 » 01 Déc 2020 10:26

Bonjour
Merci pour ce rappel qui devrait être utile à certains et que j'utilise depuis mes premiers scripts. Désolé, je n'avais pas pensé que ça aurait pu être utile à certains.
On peut aussi utiliser les "notes de l'utilisateur" ou alterner dans [VAR3] les "," et les ";". C'est vrai que le "=" est plus clair.
J'utilise souvent les notes de l'utilisateur et simplement l'initiale dans [VAR3] pour éviter les chaînes trop longues : il m'arrive d'avoir 6 valeurs à transmettre; exemple : T,1;C,2;H,3... mais c'est vrai que le "=" est plus parlant.
L'intérêt d'utiliser un symbole et "explode" est aussi de ne pas imposer l'ordre des valeurs ou de ne pas les mettre toutes, même si ça alourdit un peu le script.
Peut-être pourrions nous faire une rubrique "script B A BA" ou "astuces de script pour les nuls" où l'on pourrait mettre toutes les astuces, même les plus évidentes sans crainte du ridicule : ça pourrait être utile à des débutants et parfois à des moins débutants.
eedomus+, Zibase V1, RFP1000, RFXcom, RadioDriver CPL 630 X2D, capteurs puissance OWL, thermometres Oregon, téléinfo (USB Linky), detecteurs ouverture X2D, pilotage chauffage X2D, Imperihome
opa95
 
Messages : 248
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: transmission des arguments au script

Messagepar merguez07 » 01 Déc 2020 19:14

opa95 a écrit:Peut-être pourrions nous faire une rubrique "script B A BA" ou "astuces de script pour les nuls" où l'on pourrait mettre toutes les astuces, même les plus évidentes sans crainte du ridicule : ça pourrait être utile à des débutants et parfois à des moins débutants.


c'est fait
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2116
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche


Retour vers Entraide programmation plugins

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité