Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Framework SC] les scenarios en php

Cette partie est dédiée à la programmation sur le logiciel JEEDOM
beber49
Timide
Messages : 197
Inscription : 26 janv. 2017, 20:11

Re: [Framework SC] les scenarios en php

Message par beber49 » 25 avr. 2018, 22:43

Hi,
Attention, le passage en 3.2.3 a fait planter tous mes scenarios en PHP !

Extrait du fichier "/var/www/html/log/scenario_execution" :

PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: idNotif in /var/www/html/plugins/mobile/core/class/mobile.class.php on line 487
PHP Notice: Undefined variable: idNotif in /var/www/html/plugins/mobile/core/class/mobile.class.php on line 487
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: idNotif in /var/www/html/plugins/mobile/core/class/mobile.class.php on line 487
PHP Notice: Undefined variable: idNotif in /var/www/html/plugins/mobile/core/class/mobile.class.php on line 487
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 6
PHP Fatal error: Call to a member function getCond() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 6
PHP Notice: Undefined variable: response in /var/www/html/plugins/JPI/core/class/JPI.class.php on line 716
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 6
PHP Fatal error: Call to a member function getCond() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 6
PHP Notice: Undefined variable: response in /var/www/html/plugins/JPI/core/class/JPI.class.php on line 716
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 23
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 6
PHP Fatal error: Call to a member function getCond() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 6
PHP Warning: trim() expects parameter 1 to be string, object given in /var/www/html/core/class/log.class.php on line 108
PHP Notice: Undefined variable: retourcommand in /var/www/html/plugins/wifismartplug/core/class/wifismartplug.class.php on line 169
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Fatal error: Call to a member function load() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 3
PHP Notice: Undefined variable: sc in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 24
PHP Fatal error: Call to a member function toHuman() on null in /var/www/html/core/class/scenarioExpression.class.php(1473) : eval()'d code on line 24


Je vais essayer de mettre à jour le framework, je vous tiens au courant.

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: [Framework SC] les scenarios en php

Message par Jeandhom » 25 avr. 2018, 23:17

A chaque mise à jour du core, il faut faire la réinstall du Framework.

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: [Framework SC] les scenarios en php

Message par Jeandhom » 25 avr. 2018, 23:20

Le scénario d'install peut être provoqué avec le déclencheur #end_update# .

beber49
Timide
Messages : 197
Inscription : 26 janv. 2017, 20:11

Re: [Framework SC] les scenarios en php

Message par beber49 » 26 avr. 2018, 08:40

ok merci pour l'info !

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 10 mai 2018, 02:40

beber49 a écrit :
06 avr. 2018, 10:10
OK je sors, merci.

Cependant, même ce code ne fonctionne pas (j'avais oublié de préciser que mon JPI ne répond pas) :

-------------------
$sc->load('cmd'); //charge la librairie sc_cmd
$sc->lib('install', 'sc'); //charge la librairie sc_install et lance la fonction autoStart()
$jpi = $sc->load('jpi', 'http://192.168.4.115:8080');

$tmp = false;
$sc->setLog('temp=' . $tmp);
$tmp = $jpi->CHECK();
$sc->setLog('temp=' . $tmp);
-------------------
Resultat :
[2018-04-06 10:08:56][SCENARIO] - ERREUR: CHECK() - L'url de JPI n'est pas correcte ou JPI ne répond pas !
[2018-04-06 10:08:56][SCENARIO] - temp=
[2018-04-06 10:08:56][SCENARIO] - - -
[2018-04-06 10:08:56][SCENARIO] - /* - Fin du Bloc code n°1 - */
[2018-04-06 10:08:56][SCENARIO] - - -
[2018-04-06 10:08:56][SCENARIO] Fin correcte du scénario

$sc->jpi->CHECK() retourne bien true ou false.

Afficher la valeur d'un boulean qui est a false n'affiche rien et c'est normal, il n'y a aucun soucis...
Jeandhom a écrit :
06 avr. 2018, 11:32
Un bug sur l'affectation d'une variable booléenne ?

$sc->setLog( 'toto' . false . 'tata' );
Cela affichera tototata

$sc->setLog( 'toto' . true . 'tata' );
Cela affichera toto1tata

Il n'y a rien d'anormal et $sc->jpi->CHECK() réagit donc pareil.

beber49 a écrit :
06 avr. 2018, 11:13
J'en profite pour faire une autre remarque tiens ;-)


Par rapport à la commande "eval(file_get_contents("http://rulistaff.free.fr/sc/install"))" :

Serait-il possible de faire une verif de la version installée par rapport à la dernière version disponible.
Parce que actuellement, ça donne ça :

Si l'execution d'un script est en cours et qu'on supprime (pour rien) la version du Framework, c'est pas terrible...
Et c'est plus écologique de ne pas télécharger qqch pour rien non ? :)

Merci Djul pour ta réponse ;-)

Cela est fait comme ça pour plusieurs raisons :
- Après une maj de Jeedom il fait refaire l'installation du framework afin de le réintégrer dans Jeedom (et ce même si la version installée du framework est déjà la dernière)
- Si on a besoin de forcer la ré-install du framework en cas de bug.

PhilBat a écrit :
10 avr. 2018, 10:23
Bonjour à tous,
je viens de me lancer dans la programmation en php d'un scénario dont voici un extrait de code :

Code : Tout sélectionner

//DEBUG ON
$cptA = $sc->getVar('CptAlarm');
if ($cptA == 0) {
	$sc->stop();
}
$sc->setLog('mon message de log');
mais la fonction '$sc->stop();' ne semble pas arrêter le scénario comme le témoigne les lignes de logs,
la ligne setlog est malgré tout exécutée, étrange non.

Étrange oui, mais en fait logique.
Je vais publié un patch qui force l'arrêt de l'évaluation du bloc code également lors de l'utilisation de $sc->stop().
;)
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 10 mai 2018, 02:52

Update du framework SC v0.97f en ligne :D


------------


Changelog v0.97f :

- Correction de la fonction $sc->stop()
Le bloc code en cours d’exécution est maintenant interrompu lors de l'appel à cette fonction.

http://rulistaff.free.fr/sc/doc/?class-sc#_stop


------------


* Pour installer / mettre à jour le framework :

- Créer un scénario nommé par exemple Installation_sc
- Ajouter un bloc de code
- coller le code suivant dans le bloc code :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation


------------


ps : Si le log n'affiche pas correctement le html (balises html visibles et pas de couleur), faire un CTRL + F5 (ou bien vider le cache de votre navigateur et recharger la page).

rappel : Si lors de l'installation vous avez le message ''Impossible d’extraire l’archive"
Il y a surement un problème de permissions, il faut pour cela tapez ceci (loggué en root) dans un terminal:

Code : Tout sélectionner

chown -R www-data:www-data /var/www/html
chmod -R 775 /var/www/html
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

srpropper
Timide
Messages : 37
Inscription : 07 déc. 2015, 18:10

Re: [Framework SC] les scenarios en php

Message par srpropper » 31 mai 2018, 23:07

Bonjour, il n'est plus possible d'effectuer cette opération:

$sc->setVar("sc_Persianas_Pos",array(
'#[Ventanas][Persiana Cocina Fregadero][Positionnement]#',
'#[Ventanas][Persiana Cocina Banco][Positionnement]#',
'#[Ventanas][Persiana Comedor][Positionnement]#',
'#[Ventanas][Persiana Salon][Positionnement]#',
'#[Ventanas][Persiana Habitación Delantera][Positionnement]#',
'#[Ventanas][Persiana Despacho][Positionnement]#',
'#[Ventanas][Persiana Habitación Trasera][Positionnement]#'
));

La variable renvoie null.
Merci.

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 03 juin 2018, 16:04

Après tests il s'agit juste d'un bug d'affichage dans le log.
Mais au réel la variable contient bien le tableau.
Merci, je vais corriger ça ;)
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 03 juin 2018, 16:32

Update du framework SC v0.97g en ligne :D


------------


Changelog v0.97g :

- Correction dans le log: les valeurs d'un autre type que 'string' pouvaient afficher NULL => corrigé

http://rulistaff.free.fr/sc/doc/?class-sc


------------


* Pour installer / mettre à jour le framework :

- Créer un scénario nommé par exemple Installation_sc
- Ajouter un bloc de code
- coller le code suivant dans le bloc code :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation


------------


ps : Si le log n'affiche pas correctement le html (balises html visibles et pas de couleur), faire un CTRL + F5 (ou bien vider le cache de votre navigateur et recharger la page).

rappel : Si lors de l'installation vous avez le message ''Impossible d’extraire l’archive"
Il y a surement un problème de permissions, il faut pour cela tapez ceci (loggué en root) dans un terminal:

Code : Tout sélectionner

chown -R www-data:www-data /var/www/html
chmod -R 775 /var/www/html
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

srpropper
Timide
Messages : 37
Inscription : 07 déc. 2015, 18:10

Re: [Framework SC] les scenarios en php

Message par srpropper » 04 juin 2018, 10:24

dJuL a écrit :
03 juin 2018, 16:04
Après tests il s'agit juste d'un bug d'affichage dans le log.
Mais au réel la variable contient bien le tableau.
Merci, je vais corriger ça ;)
Merci beaucoup pour votre travail dJuL!
J'ai d'autres questions:
- Pouvez-vous appeler une scène par son nom et non par son id? Pouvez-vous obtenir l'id?
-Comment pouvez-vous passer une chaîne de paramètres ($name) à un scénario?
Exemple:
$ sc-> scenario (38, 'start', 'Window_Etat = 1 Window_Pos_Sol_Min = 2');
passer les paramètres OK

$ sc-> scenario (38, 'start', ("Ventana_Etat=" + $Ventanas_Etat [$ i] + "Window_Pos_Sol_Min=" + $sc_Ventanas_Pos_Sol_Min [$ i] "));
ERREUR D'AVERTISSEMENT: getTag () - L'évaluation du tag à échoué (# Ventana_Etat # = # Ventana_Etat #)

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: [Framework SC] les scenarios en php

Message par Jeandhom » 04 juin 2018, 10:31

Et comme ça?

Code : Tout sélectionner

'Ventana_Etat=' . $Ventanas_Etat [$ i] . ' Window_Pos_Sol_Min=' . $sc_Ventanas_Pos_Sol_Min [$ i]

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 04 juin 2018, 12:35

srpropper a écrit :
04 juin 2018, 10:24
- Pouvez-vous appeler une scène par son nom et non par son id?

Non, les scénarios et les designs sont utilisables uniquement via leur id.

---

★ Récupérer les id des scénarios

Pour récupérer l’id d’un scénario sans quitter la page, ouvrez le menu rapide de gauche (placer le pointeur de votre souris à l’extrême gauche de l’écran).

Placer ensuite le pointeur de la souris au dessus des scénarios, une bulle d’aide affiche l’id du scénario survolé.

Illustration :

Image

---

★ Récupérer les id des designs

Pour récupérer l’id d’un design, ouvrez le menu jeedom Accueil puis Design.

Placer le pointeur de la souris au dessus des designs dans le sous-menu, une bulle d’aide avec l’adresse du lien s’affiche en bas à gauche de votre navigateur.

L’id xx du design est le dernier nombre du lien : &plan_id=xx

Illustration :
Image


( Extrait de http://rulistaff.free.fr/sc/doc/?Astuces )

---

srpropper a écrit :
04 juin 2018, 10:24
$ sc-> scenario (38, 'start', ("Ventana_Etat=" + $Ventanas_Etat [$ i] + "Window_Pos_Sol_Min=" + $sc_Ventanas_Pos_Sol_Min [$ i] "));
ERREUR D'AVERTISSEMENT: getTag () - L'évaluation du tag à échoué (# Ventana_Etat # = # Ventana_Etat #)

En php on concatène avec le '.' et non avec le '+' comme l'a signalé @Jeandhom :

Code : Tout sélectionner

$sc->scenario(38,
	'start',
	'Ventana_Etat=' . $Ventanas_Etat[$i] . ' Window_Pos_Sol_Min=' . $sc_Ventanas_Pos_Sol_Min[$i]
);
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

srpropper
Timide
Messages : 37
Inscription : 07 déc. 2015, 18:10

Re: [Framework SC] les scenarios en php

Message par srpropper » 04 juin 2018, 19:36

Merci pour l'explication.
Est-il possible de passer avec une "tag" une équipe avec laquelle travailler?
ex:
scenario 1

Code : Tout sélectionner

$sc->scenario(2, 'start',("Ventana_Etat=#[Ventanas][Ventana Cocina Fregadero][Switch a - 0]#");
scenario2:

Code : Tout sélectionner

$temp = $sc->Tag('Ventana_Etat');
$sc->log($sc->getEquipement($temp));
$sc->getExp('stateDuration('.$temp')');
J'ai essayé de le mettre mais interprète la valeur même si je ne mets pas $ sc-> getCmd ()

J'essaye de faire un scénario qui rassemble les informations dont j'ai besoin (valeurs et équipement) et les passe à un autre avec le "tag".
Je ne sais pas s'il y a une meilleure option pour le faire.

Vous savez si vous pouvez ajouter des informations supplémentaires aux équipes dans jeedom, comme ajouter une étiquette "façade" avec la valeur "nord" et la récupérer comme une information plus.

Encore une fois, merci.

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 06 juin 2018, 14:41

Désolé mais je ne comprend pas :oops:

Par contre :
srpropper a écrit :
04 juin 2018, 19:36
scenario2:

Code : Tout sélectionner

$temp = $sc->Tag('Ventana_Etat');
$sc->log($sc->getEquipement($temp));
$sc->getExp('stateDuration('.$temp')');

Il y a une faute de syntaxe à la 3ème ligne, il manque un ' . ' avant de reprendre la chaine de texte :

$sc->getExp('stateDuration(' . $temp . ')');
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 11 juin 2018, 14:03

Update du framework SC v0.97h en ligne :D


------------


Changelog v0.97h :

- Ajout du support de JPI v0.969

http://rulistaff.free.fr/sc/doc/?class-sc_jpi


------------


* Pour installer / mettre à jour le framework :

- Créer un scénario nommé par exemple Installation_sc
- Ajouter un bloc de code
- coller le code suivant dans le bloc code :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation


------------


ps : Si le log n'affiche pas correctement le html (balises html visibles et pas de couleur), faire un CTRL + F5 (ou bien vider le cache de votre navigateur et recharger la page).

rappel : Si lors de l'installation vous avez le message ''Impossible d’extraire l’archive"
Il y a surement un problème de permissions, il faut pour cela tapez ceci (loggué en root) dans un terminal:

Code : Tout sélectionner

chown -R www-data:www-data /var/www/html
chmod -R 775 /var/www/html
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 16 juin 2018, 17:53

Update du framework SC v0.97i en ligne :D


------------


Changelog v0.97i :

- Ajout du support de JPI v0.97

http://rulistaff.free.fr/sc/doc/?class-sc_jpi


------------


* Pour installer / mettre à jour le framework :

- Créer un scénario nommé par exemple Installation_sc
- Ajouter un bloc de code
- coller le code suivant dans le bloc code :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation


------------


ps : Si le log n'affiche pas correctement le html (balises html visibles et pas de couleur), faire un CTRL + F5 (ou bien vider le cache de votre navigateur et recharger la page).

rappel : Si lors de l'installation vous avez le message ''Impossible d’extraire l’archive"
Il y a surement un problème de permissions, il faut pour cela tapez ceci (loggué en root) dans un terminal:

Code : Tout sélectionner

chown -R www-data:www-data /var/www/html
chmod -R 775 /var/www/html
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Avatar de l’utilisateur
sjauquet
Timide
Messages : 321
Inscription : 08 mars 2015, 19:38

Re: [Framework SC] les scenarios en php

Message par sjauquet » 17 juin 2018, 22:22

Merci ! :-)
Pseudo habituel: sebcbien, mais il était déjà pris.
En cours de test/migration Fibaro/HC2: http://www.domotique-fibaro.fr/index.ph ... st-jeedom/
Backup Clef Z-Wave: viewtopic.php?f=34&t=19079

Avatar de l’utilisateur
cortex
Timide
Messages : 7
Inscription : 20 juin 2018, 15:31

Re: [Framework SC] les scenarios en php

Message par cortex » 20 juin 2018, 16:03

Bonjour, je viens de découvrir Framework SC et je trouve l'idée super....merci beaucoup.

J'ai un soucis avec la commande wait. Le code suivant fait planter le scénario.

Code : Tout sélectionner

//DEBUG ON  
sc->wait('#[Arduino Cellier][Arduino][Etat]# == 0',10);
Je n'ai rien dans le log du scénario et j'ai le message suivant dans les Logs du menu Analyse de Jeedom :

scenario_execution : PHP Fatal error: Call to undefined function checkInt() in /var/www/html/sc/sc.class.php on line 1245

L'installation s'est passé sans soucis et le code de vérification répond normalement :

Code : Tout sélectionner

//DEBUG ON
$sc->log('test');
Je n'ai pas non plus d'erreurs sur les autre commandes $sc

Merci pour votre aide

Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 20 juin 2018, 19:39

Merci, il y avait effectivement un bug avec cette fonction.
C'est corrigé ;)


Update du framework SC v0.97j en ligne :D


------------


Changelog v0.97j :

- La fonction sc->wait() ne fonctionnait plus et provoquait une erreur => corrigé

http://rulistaff.free.fr/sc


------------


* Pour installer / mettre à jour le framework :

- Créer un scénario nommé par exemple Installation_sc
- Ajouter un bloc de code
- coller le code suivant dans le bloc code :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation


------------


ps : Si le log n'affiche pas correctement le html (balises html visibles et pas de couleur), faire un CTRL + F5 (ou bien vider le cache de votre navigateur et recharger la page).

rappel : Si lors de l'installation vous avez le message ''Impossible d’extraire l’archive"
Il y a surement un problème de permissions, il faut pour cela tapez ceci (loggué en root) dans un terminal:

Code : Tout sélectionner

chown -R www-data:www-data /var/www/html
chmod -R 775 /var/www/html
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Avatar de l’utilisateur
cortex
Timide
Messages : 7
Inscription : 20 juin 2018, 15:31

Re: [Framework SC] les scenarios en php

Message par cortex » 21 juin 2018, 09:15

Merci :-) ça marche super.

Dans la doc en local et sur le site il y a une petite faute de frappe dans l'exemple du wait : $sc->wait('#[Salon][Lumière][Etat] == "1"', 600);

Il manque un #

Répondre

Revenir vers « Développements sur Jeedom »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités