Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Toute la communauté vous remercie

[Framework SC] les scenarios en php

Cette partie est dédiée à la programmation sur le logiciel JEEDOM
Avatar de l’utilisateur
dJuL
Actif
Messages : 1391
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 22 juin 2018, 12:31

cortex a écrit :
21 juin 2018, 09:15
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 #

Ok merci,
J'ai corrigé la doc (ce sera dans la prochaine maj) ;)
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.

cls-scripts
Timide
Messages : 48
Inscription : 12 oct. 2017, 19:19
Localisation : Toulouse ou presque
Contact :

Re: [Framework SC] les scenarios en php

Message par cls-scripts » 10 sept. 2018, 18:49

Salut,

Je viens d'installer la bête et dans les logs , le html n'est pas interprété mais juste écrit.
Est-ce normal?

Code : Tout sélectionner

[2018-09-10 18:44:59][SCENARIO] <span style="color:#555;"> - </span><span style="font-style:italic; color:#444;">----------------------------------------</span>
[2018-09-10 18:44:59][SCENARIO] <span style="color:#555;"> - </span><span style="font-style:italic; color:#444;">- Framework sc v0.97j                  -</span>
[2018-09-10 18:44:59][SCENARIO] <span style="color:#555;"> - </span><span style="font-style:italic; color:#444;">- Vos scenarios en PHP                 -</span>
[2018-09-10 18:44:59][SCENARIO] <span style="color:#555;"> - </span><span style="font-style:italic; color:#444;">- <span style="font-size:10px;">by dJuL</span>                                -</span>
[2018-09-10 18:44:59][SCENARIO] <span style="color:#555;"> - </span><span style="font-style:italic; color:#444;">----------------------------------------</span>

Jeedom Smart, GH, IFTTT, Legrand My Home, RFXCom, EspEasy, OWL, APC.

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

Re: [Framework SC] les scenarios en php

Message par Jeandhom » 10 sept. 2018, 19:03

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).
http://rulistaff.free.fr/sc/doc/?Installation

cls-scripts
Timide
Messages : 48
Inscription : 12 oct. 2017, 19:19
Localisation : Toulouse ou presque
Contact :

Re: [Framework SC] les scenarios en php

Message par cls-scripts » 10 sept. 2018, 19:14

Merci, j'avais raté ça.
Je découvre ta class, elle est cool.
Par contre j'ai pas trouvé comment modifier la valeur un objet, l'info d'un virtuel par exemple, est-ce possible?
Jeedom Smart, GH, IFTTT, Legrand My Home, RFXCom, EspEasy, OWL, APC.

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

Re: [Framework SC] les scenarios en php

Message par Jeandhom » 10 sept. 2018, 19:17

Ce n'est pas ma class, mais celle à dJuL.

cls-scripts
Timide
Messages : 48
Inscription : 12 oct. 2017, 19:19
Localisation : Toulouse ou presque
Contact :

Re: [Framework SC] les scenarios en php

Message par cls-scripts » 10 sept. 2018, 19:49

ouppss désolé

sinon pour la mise à jour de l'info, une idée?
Jeedom Smart, GH, IFTTT, Legrand My Home, RFXCom, EspEasy, OWL, APC.

kthm
Timide
Messages : 23
Inscription : 21 mars 2017, 21:42

Re: [Framework SC] les scenarios en php

Message par kthm » 01 oct. 2018, 22:32

Merci pour ce framework.
Installé aujourd'hui, et mes deux scénarios de gestion de ma chaudière (les plus complexes) sont déjà convertit ! (Gestion de la mise en marche/arret de la chaudière en fonction de mes vannes thermostatiques. Le plugin Thermostat ne répondait pas à mon besoin.

De deux scénarios, je suis passé à un seul plus clair, plus fonctionnel et facilement modifiable.
Le debug coloré aide beaucoup à debogguer.

Par contre, j'ai trouvé un petit bug : Ce petit bout de code:

Code : Tout sélectionner

//DEBUG ON

for ($i=0; $i < 4; $i++) {
 $sc->setLog($i); 
}

//DEBUG OFF
Donne comme résultat :

Code : Tout sélectionner

[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#D79556;">/* - Execution du Bloc code n°1 - <span style="font-weight:bold; border-bottom: 1px solid #36A2DD;">DEBUG ACTIF (dev)</span> */</span>
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#444;"><span style="color:#555;">- </span><span style="color:#555;">- </span></span>
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span>1
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span>2
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span>3
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#444;"><span style="color:#555;">- </span><span style="color:#555;">- </span></span>
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#D79556;">/* - Fin du Bloc code n°1 - */</span>
Au lieu de :

Code : Tout sélectionner

[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#D79556;">/* - Execution du Bloc code n°1 - <span style="font-weight:bold; border-bottom: 1px solid #36A2DD;">DEBUG ACTIF (dev)</span> */</span>
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#444;"><span style="color:#555;">- </span><span style="color:#555;">- </span></span>
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span>0
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span>1
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span>2
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span>3
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#444;"><span style="color:#555;">- </span><span style="color:#555;">- </span></span>
[2018-10-01 22:25:32][SCENARIO] <span style="color:#555;"> - </span><span style="color:#D79556;">/* - Fin du Bloc code n°1 - */</span>
J'ai mis quelques minutes à comprendre que la fonction setLog considère 0 comme false et donc n'affiche rien. N'ayant pas pris le temps de regarder tes sources, je n'ai pas vu d'où cela venait.
En tout cas, bravo pour la doc, très claire et très lisible.

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 03 oct. 2018, 20:59

Ahah voici justement une petite maj :D


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


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


Changelog v0.97l :

- Ajout dans la doc (rubrique installation) de la procédure d'utilisation du déclencheur #end_update# dans le scénario d'install
- Petites optimisations
- Correction de petits bugs concernant le log (des ' ' pouvaient apparaître sur certains systèmes dans lignes du log)

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
- Utiliser l'événement #end_update# comme déclencheur du scénario pour que le framework soit réinstallé automatiquement après une maj du CORE de Jeedom
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 édition par dJuL le 10 févr. 2019, 19:15, édité 1 fois.
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
Bono2007
Timide
Messages : 182
Inscription : 27 août 2014, 19:47

Re: [Framework SC] les scenarios en php

Message par Bono2007 » 07 févr. 2019, 10:31

Bonjour, je découvre le framework et j'aime bien, ayant programmé en lua avec Fibaro.
Le framework est toujours d'actualité ? je ne vois plus de mises à jour depuis plusieurs mois de ce post.
Jeedom VM + RFXCom + Z-wave + blea sur Proxmox VE
5 volets Somfy – prises AN158 – Wallplugs – OWL CM180 – compteurs d'eau Gianola – Oeil FGMS001 – Eco-Device – sondes THGR810 - FGS 212 - FGBS321 - DS18B20 - ESCAM Pearl QF100 IP[/size]

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 10 févr. 2019, 19:16

Ahah voici justement une petite maj :D


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


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


Changelog v0.97l :

- Ajout dans la doc (rubrique installation) de la procédure d'utilisation du déclencheur #end_update# dans le scénario d'install
- Petites optimisations
- Correction de petits bugs concernant le log (des ' ' pouvaient apparaître sur certains systèmes dans lignes du log)

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
- Utiliser l'événement #end_update# comme déclencheur du scénario pour que le framework soit réinstallé automatiquement après une maj du CORE de Jeedom
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
Bono2007
Timide
Messages : 182
Inscription : 27 août 2014, 19:47

Re: [Framework SC] les scenarios en php

Message par Bono2007 » 18 févr. 2019, 11:03

Bonjour, je me suis lancé dans les blocs code.
A la base je veux récupérer dans des variables pleins d'informations issues de suivi conso (conso à j-2 j-1 j s-2 s-1.... -> la faute à benj29 ;-) ).
J'ai déjà créé un scénar avec les blocs actions et variable... mais je n'aime pas du tout la forme (c'est juste personnel, je viens de Fibaro et lua).
J'ai créé donc un bloc code en utilisant ton framework et ... c'est top.

Code : Tout sélectionner

$sc->setVar('conso_electricite_m_HP',$sc->getCmd('#[Maison][ConsoEDF][Conso Mois HP]#'),true);
$sc->setVar('conso_electricite_m_HC',$sc->getCmd('#[Maison][ConsoEDF][Conso Mois HC]#'),true);
Avec un fichier excel, on arrive facilement à générer une vingtaine de lignes.

Petit problème :

Code : Tout sélectionner

$sc->setVar('conso_electricite_m_1_HP',$sc->getCmd('maxBetween(#[Maison][ConsoEDF][Conso Mois HP]#,last day of 1 months ago noon,last day of 1 months ago 23:59)'),true);
Impossible de trouver la commande #maxBetween(#3985#,last day of 1 months ago noon,last day of 1 months ago 23:59)#

Des idées ? merci.
Jeedom VM + RFXCom + Z-wave + blea sur Proxmox VE
5 volets Somfy – prises AN158 – Wallplugs – OWL CM180 – compteurs d'eau Gianola – Oeil FGMS001 – Eco-Device – sondes THGR810 - FGS 212 - FGBS321 - DS18B20 - ESCAM Pearl QF100 IP[/size]

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 18 févr. 2019, 12:21

Oui car getCmd sert uniquement a retrouver des valeurs de commandes de type info.
Pour ce que tu veux faire, à savoir traiter une expression Jeedom, il faut utiliser getExp :

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

;)

Code : Tout sélectionner

$sc->setVar('conso_electricite_m_1_HP',$sc->getExp('maxBetween(#[Maison][ConsoEDF][Conso Mois HP]#,last day of 1 months ago noon,last day of 1 months ago 23:59)'),true);

Pour compléter ma réponse (image issue de la doc) :

sc.gif
sc.gif (29.49 Kio) Consulté 239 fois
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.

caplam
Actif
Messages : 642
Inscription : 02 déc. 2014, 15:36

Re: [Framework SC] les scenarios en php

Message par caplam » 23 avr. 2019, 22:24

Il y avait bien longtemps que je n'avais pas touché à mes scenarios.
Je suis en train d'en convertir un avec l'emploi du framework sc.
Je me pose une question : chaque bloc code est-il indépendant ?
je defini une variable (pas une variable jeedom) dans le bloc n°1 mais quand je veux l'utiliser dans un autre bloc (du même scenario) elle est à "null"
C'est normal ?
Jeedom sur vm esxi stretch
Principaux plugins: eibd, homebridge, maxcube, icalendar

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 23 avr. 2019, 22:52

Il faut utiliser setVar pour créer une variable SC temporaire, récupérable et dans les blocs visuels, et dans les blocs code (avec getVar) n'importe où au sein du scénario.

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

http://rulistaff.free.fr/sc/doc/?Utilisation => scroller jusqu'à : ★ Mixer les blocs
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.

caplam
Actif
Messages : 642
Inscription : 02 déc. 2014, 15:36

Re: [Framework SC] les scenarios en php

Message par caplam » 24 avr. 2019, 08:48

ok j'étais passé à côté de la distinction variable de classe et de jeedom.

En lisant les exemples de code que tu donnes je me pose d'autres questions:

Code : Tout sélectionner

$inter_etat = array(
      '#[Cachés][Lampe bureau][Intensité]#',
      '#[Cachés][Lampe Yanna][Intensité]#',
      '#[Cachés][Lampe oeuf][Intensité]#',
      '#[Cachés][Lampe salon][Intensité]#'
  );

ou

Code : Tout sélectionner

if ($sc->getcond('#[Salon][Lampes salon][Etat]# < #[Salon][Lampes salon][Val_Demandée]#'))
tu ne passes pas par getCmd pour récupérer l'état des lampes ?
Jeedom sur vm esxi stretch
Principaux plugins: eibd, homebridge, maxcube, icalendar

pierrot87
Timide
Messages : 71
Inscription : 12 oct. 2018, 18:58

Re: [Framework SC] les scenarios en php

Message par pierrot87 » 16 mai 2019, 21:52

Bonsoir,
je désire récupérer le nom de l'utilisateur logué pour ouvrir un design en fonction de l'utilisateur
comment faire
cordialement

ffp17
Timide
Messages : 196
Inscription : 02 sept. 2016, 23:09
Localisation : 17

Re: [Framework SC] les scenarios en php

Message par ffp17 » 17 mai 2019, 07:14

pierrot87 a écrit :Bonsoir,
je désire récupérer le nom de l'utilisateur logué pour ouvrir un design en fonction de l'utilisateur
comment faire
cordialement
Bonjour
Je chercher également la même chose depuis quelques temps mais pas encore trouvé. J'ai ouvert un post à ce sujet où j'ai mis ce que j'ai pour le moment
https://r.tapatalk.com/shareLink?url=ht ... are_type=t
Si tu trouves je suis intéressé évidemment.
Bonne journée

Envoyé de mon ONEPLUS A6013 en utilisant Tapatalk


Répondre

Revenir vers « Développements sur Jeedom »

Qui est en ligne ?

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