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
Avatar de l’utilisateur
dJuL
Actif
Messages : 1427
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: dev en cours: les scenarios en php

Message par dJuL » 17 avr. 2016, 03:24

Bon j'ai bien avancé.
Je pense avoir fini le cœur.

On a donc un framework qui gère toutes les fonctions de jeedom assez simplement, avec un log détaillé.
J'ai ajouté un système de librairies, qu'on charge au besoin.
On a donc juste les fonctions jeedom dans la classe principale,
Après on peut charger des librairies en fonction de ce dont on a besoin.

J'ai créer une librairie qui justement teste toutes les fonctions.
Ça m'a aidé pour vérifier que tout marche bien.

Pour vous donner un idée des fonctions, voici le log de la lib qui teste (dans presque tout les cas de figure) afin de voir les résultats et erreurs des fonctions publiques de la classe principale.

http://rulistaff.free.fr/sc/test_sc.html (ceci ne peut pas faire office de doc, les arguments des fonctions ne sont pas précisés)

le code qui lance la procédure est :

Code : Tout sélectionner

sc::load('test'); // pour charger la librairie de test
sc_test::go();
L'avantage des lib c'est que par exemple pour les updates, au lieu de faire un template de scenario, je pourrai faire une lib sc_update.
Il suffira d'écrire dans un scenario un truc du genre :

Code : Tout sélectionner

sc::load('update'); // pour charger la librairie update
sc_update::go('sc', 'darksobre') //maj du thème et du framework
un autre exemple possible :

Code : Tout sélectionner

sc::load('utils'); // pour charger la librairie utils
sc_utils::unzip($filename, $dest) //dezip un fichier
pour la manip avancée des dates, une lib sc_date... etc c'est infini
De plus ça permet que n'importe qui puisse créer une lib sans modifier les fichiers de bases de la classe, façon plugin

Faut que je fasse une doc rapide pour pouvoir commencer à balancer le truc à ceux qui veulent tester.

Il y aussi une ligne à modifier dans les fichiers jeedom afin d'avoir un log des erreurs php exploitable (cette ligne ne fait strictement rien tant que vous n'utilisez pas le framework)
Car même si je me suis efforcé de faire un log parlant, si il y a une erreur de syntaxe php dans votre bloc code, comme jeedom fait juste un eval du code, on voit que dalle, et c'est pas très pratique... D'où la petite modif que je vous donnerai au moment voulu.

Hop voilou pour l'instant
Dernière édition par dJuL le 29 avr. 2016, 21:23, édité 2 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
RolluS
Timide
Messages : 176
Inscription : 20 nov. 2014, 23:55

Re: dev en cours: les scenarios en php

Message par RolluS » 17 avr. 2016, 07:53

Ha la classe (php :p)

J'aime beaucoup le concept, je le veux! j'ai trop de SI ALORS bloc avec SI et autre bloc dedans.

toregreb
Actif
Messages : 2510
Inscription : 20 août 2014, 22:19

Re: dev en cours: les scenarios en php

Message par toregreb » 17 avr. 2016, 10:56

8-) (Rien d'autre à ajouter)
Jeedom v2.2.6 sur RPi2+razberry (Zwave)+RFXCom, Enocean et MySensors.
[TUTO]Index HP/HC avec pinces Ampèremétriques
Trucs&Astuces

i-magin
Actif
Messages : 987
Inscription : 18 août 2015, 10:23
Localisation : Villeurbanne

Re: dev en cours: les scenarios en php

Message par i-magin » 17 avr. 2016, 11:39

... moi non plus, "que du bon" pour Jeedom :)
Jeedom RC V4.0.23
* DIY NUC 6I5SYK (Crucial 16GB Kit (8GBx2) DDR4 2133 MT/s) * Contrôleur Z-Wave AEOTEC GEN5 *
* VMWare ESXi 6.7.0 Update 3 (Build 14320388) * VM Jeedom Debian 9.5 avec 1 CPU/4 Go de mémoire * PHP 7.0.30-0 * Clé USB : SENA UD100

Avatar de l’utilisateur
marmoul
Actif
Messages : 891
Inscription : 01 sept. 2015, 15:50
Localisation : Haute-Saône (70)

Re: dev en cours: les scenarios en php

Message par marmoul » 17 avr. 2016, 11:46

super djul merci
dis voir j'ai une question pourrais t'on commander une interface externe en html/javascript/css avec tes librairie?
Sa faciliterai peut-être les chose plutôt que de charger nos interface perso de requette en $.post("URL")?
En tout cas un grand bravo meme si je pige pas tout en php :D

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

Re: dev en cours: les scenarios en php

Message par dJuL » 17 avr. 2016, 12:57

Je ne comprend pas trop ta question marmoul.
Mais si tu parles de faire une lib pour controler une interface externe avec des requêtes posts c'est parfaitement faisable.
Après la classe est faite pour les scénarios, mais elle doit pouvoir fonctionner en dehors sans soucis (dans ce cas il ne sert à rien d'utiliser bien entendu les fonctions propre au scénario en cours genre trigger(), 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
marmoul
Actif
Messages : 891
Inscription : 01 sept. 2015, 15:50
Localisation : Haute-Saône (70)

Re: dev en cours: les scenarios en php

Message par marmoul » 17 avr. 2016, 14:25

Oui c'est sa enfaite j'ai une interface perso héberge sur mon nas et je lance des requête post pour interroger jeedom.
Du coup je me demandais si avec ta lib sa pouvais permettre de soulager les requêtes que j'envoie pour mettre à jour mon interface..
Sa serais surtout pour faire un lien entre jeedom et mon interface à distance ?
Je sais pas si je suis clair et si ma question est compréhensible lol

nou
Actif
Messages : 557
Inscription : 17 mai 2015, 00:17

Re: dev en cours: les scenarios en php

Message par nou » 17 avr. 2016, 15:24

@dJuL
top ! trop hâte !

mais, euh, 02h24 ?!!! ca c'est du dévouement

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

Re: dev en cours: les scenarios en php

Message par dJuL » 19 avr. 2016, 04:35

04h35 c'est pire :D
J'ai bien avancé sur la doc, enfin surtout sur la manière de la générer...
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
domoggvad
Actif
Messages : 1880
Inscription : 29 avr. 2015, 16:02
Localisation : Seine-Saint-Denis (Villepinte)

Re: dev en cours: les scenarios en php

Message par domoggvad » 19 avr. 2016, 04:44

Tu vois que tu n es pas seul 4:43

de mon téléphone
3 Odroid C2 (Prod - secours - test) Z83 tests: rfxcom + Z-wave- Clims DAIKIN - espeasy - thekey - Xiaomi - Telinfo - broadlink... widget V3 :viewtopic.php?f=29&t=44183&p=717810#p717810

i-magin
Actif
Messages : 987
Inscription : 18 août 2015, 10:23
Localisation : Villeurbanne

Re: dev en cours: les scenarios en php

Message par i-magin » 19 avr. 2016, 11:21

C'est vraiment sympa @dJuL de nous tenir au courant de ton avancée comme tu le fais... sinon, fais attention à ta santé ;)
Jeedom RC V4.0.23
* DIY NUC 6I5SYK (Crucial 16GB Kit (8GBx2) DDR4 2133 MT/s) * Contrôleur Z-Wave AEOTEC GEN5 *
* VMWare ESXi 6.7.0 Update 3 (Build 14320388) * VM Jeedom Debian 9.5 avec 1 CPU/4 Go de mémoire * PHP 7.0.30-0 * Clé USB : SENA UD100

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

Re: dev en cours: les scenarios en php

Message par dJuL » 22 avr. 2016, 02:03

ça avance.
Un aperçu de la doc (non terminée) :
http://rulistaff.free.fr/sc/doc/?class-sc

Il me reste à faire la procédure d'installation (ainsi que le petit code) et la libraire de mise à jour du framework pour que ceux qui sont motivés puissent commencer à l'utiliser.

(La doc sera disponible en local dans votre jeedom une fois le framework installé)
Dernière édition par dJuL le 29 avr. 2016, 21:23, é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
ovski
Timide
Messages : 100
Inscription : 12 mars 2016, 11:07
Localisation : Rambouillet

Re: dev en cours: les scenarios en php

Message par ovski » 22 avr. 2016, 08:59

J'ai hâte que ça arrive.
ça va vraiment simplifier l'écriture de scénarios complexes.
Merci beaucoup Djul pour énorme boulot.

toregreb
Actif
Messages : 2510
Inscription : 20 août 2014, 22:19

Re: dev en cours: les scenarios en php

Message par toregreb » 22 avr. 2016, 10:30

Vraiment, excellent. Documentation très bien faite. Bravo @Djul.
Malgré tout, je crains que tu t'exposes à de nombreuses questions ici.... :P
Jeedom v2.2.6 sur RPi2+razberry (Zwave)+RFXCom, Enocean et MySensors.
[TUTO]Index HP/HC avec pinces Ampèremétriques
Trucs&Astuces

i-magin
Actif
Messages : 987
Inscription : 18 août 2015, 10:23
Localisation : Villeurbanne

Re: dev en cours: les scenarios en php

Message par i-magin » 22 avr. 2016, 11:35

@dJuL, ta documentation pour l'installation est (pour l'instant) très "imagée", mais aussi très belle :lol:
Pour les questions qui ne manqueront pas, un exemple de scénario serait souhaitable... et la communauté devrait jouer son rôle (à l'image des scènes Lua proposées par les contributeurs du forum français Fibaro)

Je ne te remercierai jamais assez @dJuL
Jeedom RC V4.0.23
* DIY NUC 6I5SYK (Crucial 16GB Kit (8GBx2) DDR4 2133 MT/s) * Contrôleur Z-Wave AEOTEC GEN5 *
* VMWare ESXi 6.7.0 Update 3 (Build 14320388) * VM Jeedom Debian 9.5 avec 1 CPU/4 Go de mémoire * PHP 7.0.30-0 * Clé USB : SENA UD100

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

Re: dev en cours: les scenarios en php

Message par dJuL » 22 avr. 2016, 14:25

Merci à vous ;)

Oui c'est prévu de mettre quelques exemples de petits scénarios dans la doc, ainsi qu'un petit guide de démarrage et d’utilisation.
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.

Anonyme
Actif
Messages : 10082
Inscription : 09 août 2014, 12:15

Re: dev en cours: les scenarios en php

Message par Anonyme » 22 avr. 2016, 15:57

Contenu supprimé à la demande de son auteur

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

Re: dev en cours: les scenarios en php

Message par dJuL » 22 avr. 2016, 17:38

Oui on verra à terme, ce sera Loïc qui décidera...
Par contre y'a pas besoin de mettre les mains dans le cambouis pour l'installation, y'a juste un script à copier/coller (puis lancer le scenario).
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: dev en cours: les scenarios en php

Message par dJuL » 24 avr. 2016, 01:15

Hop ça avance encore
La doc des fonctions est maintenant complète
J'ai mis un exemple de code dans les exemples, fait une petite présentation.
Il me reste à faire le script et la doc pour l'installation, la lib sc_update pour les mises à jour et le petit guide d'utilisation et c'est bueno pour rendre tout ça publique

http://rulistaff.free.fr/sc

En plus d'avoir bien testé dans tous les sens J'ai commencé à adapter mes scénarios afin de corriger les petits bugs éventuels.
Ce qui fait que je pense que la version que vous aurez ne comportera pas de bug (ou très infimes).
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.

Morlock
Timide
Messages : 452
Inscription : 24 juin 2014, 21:17
Localisation : Belgique

Re: dev en cours: les scenarios en php

Message par Morlock » 24 avr. 2016, 11:14

Quel travail, merci beaucoup dJuL !
UdooX86 - Odroid C2 - RPI3 - RPI2 - DS415+
Z-Stick (GEN5) - RFXcom RFlink - Xiaomi home

Répondre

Revenir vers « Développements sur Jeedom »

Qui est en ligne ?

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