[Framework SC] les scenarios en php
Re: [Framework SC] les scenarios en php
Merci pour le retour, je corrige ça ce soir, je sais pourquoi
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
Ok, normalement c'est corrigé
Update du framework SC v0.91b en ligne
Correction de l'intégration du framework, maj de la doc rubrique installation manuelle.
Cette version est une refonte totale afin de supporter les scénarios imbriqués en mode synchrones.
Le framework n'est plus statique.
ATTENTION, CHANGEMENT DE SYNTAXE !
devient
--------
devient
Il faut mettre à jour tous vos scénarios après avoir fait la maj !
http://rulistaff.free.fr/sc/doc/?Utilisation
------------
* Refonte de l'installeur / dé-sinstaleur :
- Nouvelles modifications des fichiers de jeedom pour supporter le mode synchrone
* Mise à jour de la documentation :
- Maj des rubriques Installation manuelle / Vérification
- Maj afin d'afficher la nouvelle syntaxe du framework dans toutes les rubriques (textes, images, exemples...)
* Maj des librairies :
- Maj des fichiers pour supporter le mode synchrone et la nouvelle syntaxe
- Suppression de la librairie sc_test
------------
* 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 :
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation
------------
Voili voilou
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:
@todo : Librairie JPI pour pouvoir facilement interagir avec JPI grâce au framework (support natif de toutes les actions !)
Update du framework SC v0.91b en ligne
Correction de l'intégration du framework, maj de la doc rubrique installation manuelle.
Cette version est une refonte totale afin de supporter les scénarios imbriqués en mode synchrones.
Le framework n'est plus statique.
ATTENTION, CHANGEMENT DE SYNTAXE !
Code : Tout sélectionner
sc::getTag('montag');
Code : Tout sélectionner
$sc->getTag('montag');
Code : Tout sélectionner
//Charge la librairie install
sc::load('install');
//Lance la mise à jour/réinstallation du framework sc
sc_install::update_sc();
Code : Tout sélectionner
//Charge la librairie install
$sc->load('install');
//Lance la mise à jour/réinstallation du framework sc
$sc->install->update_sc();
Il faut mettre à jour tous vos scénarios après avoir fait la maj !
http://rulistaff.free.fr/sc/doc/?Utilisation
------------
* Refonte de l'installeur / dé-sinstaleur :
- Nouvelles modifications des fichiers de jeedom pour supporter le mode synchrone
* Mise à jour de la documentation :
- Maj des rubriques Installation manuelle / Vérification
- Maj afin d'afficher la nouvelle syntaxe du framework dans toutes les rubriques (textes, images, exemples...)
* Maj des librairies :
- Maj des fichiers pour supporter le mode synchrone et la nouvelle syntaxe
- Suppression de la librairie sc_test
------------
* 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"));
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation
------------
Voili voilou
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
Bonsoir,
D'abord bravo et merci pour ce travail !
Une question ou plutôt interrogation : pourquoi ne pas l'avoir mis en plugins ?
Bonne nuit
D'abord bravo et merci pour ce travail !
Une question ou plutôt interrogation : pourquoi ne pas l'avoir mis en plugins ?
Bonne nuit
Re: [Framework SC] les scenarios en php
Parce-que je ne pense pas que cela soit possible...
Le bloc code des scénarios (et leur exécution) est en dur dans le core de jeedom.
(edit: Et sinon modifier les fichier du core de jeedom via un plugin dispo sur le market je pense pas que ça soit bien vu par la team de jeedom)
Le bloc code des scénarios (et leur exécution) est en dur dans le core de jeedom.
(edit: Et sinon modifier les fichier du core de jeedom via un plugin dispo sur le market je pense pas que ça soit bien vu par la team de jeedom)
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
J'ai commencé la libraire JPI
Je comprend pas pourquoi je l'ai pas faite avant...
Ca résout les pb de timeout, permet d'utiliser tous les paramètres et de récupérer failement des valeurs...
1000 fois plus simple que le plugin script, des virtuels...
En attendant d'intéger toutes les fonctions (faut que je fasse le script qui va construire la classe automatiquement)
J'ai fait une fonction générique et ça marche terrible !
ex:
etc etc...
Du coup on peut tout faire, tout en mixant des tags jeedom, des mots clefs JPI...
On a facilement accès à tous les retours JPI pour récupérer des valeurs ou checker le bon résultat des actions (ex: sms bien envoyé...)
Je vais essayer dans le WE de faire le script qui va générer automatiquement toutes les fonctions et la doc de la librairie, ensuite je mettrai en ligne.
Ex de log:
Je comprend pas pourquoi je l'ai pas faite avant...
Ca résout les pb de timeout, permet d'utiliser tous les paramètres et de récupérer failement des valeurs...
1000 fois plus simple que le plugin script, des virtuels...
En attendant d'intéger toutes les fonctions (faut que je fasse le script qui va construire la classe automatiquement)
J'ai fait une fonction générique et ça marche terrible !
ex:
Code : Tout sélectionner
//load librairie JPI avec paramètre autostart
$jpi = $sc->load('jpi', 'http://192.168.0.10:8080');
//Prononce un texte (action tts)
$jpi->ACTION('tts', array(
'message' => 'La lumière est allumée !',
'volume' => $sc->getCmd('#[CONFIG][VOLUME TTS][value]#'),
'voice' => 'voxygen.tts.sorciere',
'queue' => 1
)
);
Code : Tout sélectionner
//Send Sms
$jpi->ACTION('sendSms', array(
'number' => '{MY_NUMBER}',
'message' => 'Message de test'
)
);
//Récupère le niveau de la batterie
$battLevel = $jpi->ACTION('getBattLevel');
Du coup on peut tout faire, tout en mixant des tags jeedom, des mots clefs JPI...
On a facilement accès à tous les retours JPI pour récupérer des valeurs ou checker le bon résultat des actions (ex: sms bien envoyé...)
Je vais essayer dans le WE de faire le script qui va générer automatiquement toutes les fonctions et la doc de la librairie, ensuite je mettrai en ligne.
Ex de log:
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
- Theduck38
- Helper
- Messages : 2714
- Inscription : 22 févr. 2015, 17:32
- Localisation : Près de Grenoble
- Contact :
Re: [Framework SC] les scenarios en php
Rien à voir, mais comment fais-tu pour encore utiliser Voxygen ? Tu as installé le TTS Web server ?
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté
Re: [Framework SC] les scenarios en php
Non jpi supporte tous les moteurs de voix en natif
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
Bon J'ai a peu près fini, encore 2-3 babioles à finir.
Je vais implémenter la fonction ASK pour l'action SendSms dans JPI.
Cela permettra de facilement gérer des requêtes ASK avec le framework et / ou avec le plugin de Jérôme.
Il y aura une clef de scénario dédiée au ASK dans l'événement Sms reçu de JPI, et des actions toutes faites pour répondre au framework ou au plugin.
Je vais implémenter la fonction ASK pour l'action SendSms dans JPI.
Cela permettra de facilement gérer des requêtes ASK avec le framework et / ou avec le plugin de Jérôme.
Il y aura une clef de scénario dédiée au ASK dans l'événement Sms reçu de JPI, et des actions toutes faites pour répondre au framework ou au plugin.
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
J'ai pris du retard à cause du boulot.
Mais je vais essayer de sortir tout ça d'ici la fin de la semaine (Maj de JPI + Framework)
Mais je vais essayer de sortir tout ça d'ici la fin de la semaine (Maj de JPI + Framework)
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
Voici comment on pourra faire un Ask sms dans le framework et récupérer la réponse:
Il n'y aura strictement rien à configurer côté JPI (avec la prochaine version), ce code marchera tel quel directement.
On ne passe pas par une variable Jeedom, la réponse est directement retournée par la fonction (qui s'assure que le sms a bien été reçu avant d'attendre une réponse).
edit: et le ask pourra être utiliser en simultané sur plusieurs scénarios sans conflits (avec des destinataires différents)
Code : Tout sélectionner
$reponse = $sc->jpi->ASK_SMS('{MY_NUMBER}', 'Voulez-vous une bière ? (Oui | Non)', 300);
if (strtolower(trim($reponse)) == 'oui') { //oui
}
elseif (strtolower(trim($reponse)) == 'non') { //non
}
elseif ($reponse) { //réponse différente de oui ou non
}
elseif ($reponse === false) { //timeout atteint
}
elseif ($reponse === null) { //sms non envoyé ou non reçu ou erreur JPI
}
On ne passe pas par une variable Jeedom, la réponse est directement retournée par la fonction (qui s'assure que le sms a bien été reçu avant d'attendre une réponse).
edit: et le ask pourra être utiliser en simultané sur plusieurs scénarios sans conflits (avec des destinataires différents)
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
$reponse = 'oui'
par contre, elle est où l'action suivante ? :p
en tout cas, super ton taf ! je ne comprends pas tout (je ne suis pas dev) mais BRAVO !!
par contre, elle est où l'action suivante ? :p
en tout cas, super ton taf ! je ne comprends pas tout (je ne suis pas dev) mais BRAVO !!
Odroid C2 / Jeedom stable
Zwave.me UZB1 / RFXtrx433E / HEM2 / Orvibo / Connexoon / Netatmo
Synology DS1512+ / FBX6
Un grand MERCI à l'équipe Jeedom !
Zwave.me UZB1 / RFXtrx433E / HEM2 / Orvibo / Connexoon / Netatmo
Synology DS1512+ / FBX6
Un grand MERCI à l'équipe Jeedom !
Re: [Framework SC] les scenarios en php
Merci
L'action suivante c'est d'en recommander une autre
En fait les actions sont à placer entre les accolades ' { ' et ' } ' du test.
ex:
L'action suivante c'est d'en recommander une autre
En fait les actions sont à placer entre les accolades ' { ' et ' } ' du test.
ex:
Code : Tout sélectionner
if (strtolower(trim($reponse)) == 'oui') { //'oui' 'Oui' 'OUI' ' Oui '
//Commande une bierre
$sc->setCmd('#[MON_BAR][BARMAN][UNE_BIERE]#');
//pause 5 minutes
$sc->pause(300);
//Commande une autre
$sc->setCmd('#[MON_BAR][BARMAN][UNE_AUTRE]#');
}
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
merci dJuL pour la suite d'actions !
par contre je laisserai une pause de 15mn sinon en 1h on est cuit :p
par contre je laisserai une pause de 15mn sinon en 1h on est cuit :p
Odroid C2 / Jeedom stable
Zwave.me UZB1 / RFXtrx433E / HEM2 / Orvibo / Connexoon / Netatmo
Synology DS1512+ / FBX6
Un grand MERCI à l'équipe Jeedom !
Zwave.me UZB1 / RFXtrx433E / HEM2 / Orvibo / Connexoon / Netatmo
Synology DS1512+ / FBX6
Un grand MERCI à l'équipe Jeedom !
Re: [Framework SC] les scenarios en php
Hello
MAJ faite (involontairement...). Je suis repassé sur mes codes pour faire la modif sc:: ==> $sc->
voilà un constat un peu facheux de mon coté :
il semblerait qu'on ne puisse pas créer de fonction dans le code et appeler la classe
j'ai ça comme erreur :
et en fait, dans ce scénario, la ligne correspondante :
any idea ?
Nou
MAJ faite (involontairement...). Je suis repassé sur mes codes pour faire la modif sc:: ==> $sc->
voilà un constat un peu facheux de mon coté :
il semblerait qu'on ne puisse pas créer de fonction dans le code et appeler la classe
j'ai ça comme erreur :
Code : Tout sélectionner
PHP Notice: Undefined variable: sc in /tmp/sc-scenario #75# Bloc code n°1 on line 24
PHP Fatal error: Call to a member function setInfo() on null in /tmp/sc-scenario #75# Bloc code n°1 on line 24
Code : Tout sélectionner
function test(){
$sc->setInfo('test'); //Écrit un commentaire dans le log
}
Nou
Re: [Framework SC] les scenarios en php
Oui, il faut passer la variable $sc dans ta fonction car elle n'est pas globale.
Sinon ça peut passer avec un global $sc, mais je déconseille car en cas d'exécutions de scénarios en mode synchrone cela peut créer des conflits.
Code : Tout sélectionner
function test($sc) {
$sc->setInfo('test'); //Écrit un commentaire dans le log
}
....
test($sc);
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
ok, merci, je vais m'atteler à corriger mes codes
par contre, une erreur de plus dans le log scenario_execution
par contre, une erreur de plus dans le log scenario_execution
Code : Tout sélectionner
PHP Fatal error: Using $this when not in object context in /var/www/html/sc/sc.class.php on line 721
Re: [Framework SC] les scenarios en php
Tu dois encore avoir un 'sc::' qui traine dans ton scénario (sc::getCmd même je dirais d'après le numéro de ligne), c'est ça qui engendre cette erreur fatale.
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
f...k !
il me semblait avoir fait le tour
je (re)check !
Merci
il me semblait avoir fait le tour
je (re)check !
Merci
Re: [Framework SC] les scenarios en php
Update du framework SC v0.92 en ligne
ATTENTION, CHANGEMENT DE SYNTAXE !
Le framework n'est plus statique.
devient
--------
devient
Il faut mettre à jour tous vos scénarios après avoir fait la maj !
http://rulistaff.free.fr/sc/doc/?Utilisation
------------
Changelog v0.92 :
- Améliorations de l'installeur / dé-sinstaleur
- Nombreuses refontes
- Mise à jour de la documentation
- Correction de petits bugs
- Ajout de la librairie jpi
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 :
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation
------------
Voili voilou
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:
ATTENTION, CHANGEMENT DE SYNTAXE !
Le framework n'est plus statique.
Code : Tout sélectionner
sc::getTag('montag');
Code : Tout sélectionner
$sc->getTag('montag');
Code : Tout sélectionner
//Charge la librairie install
sc::load('install');
//Lance la mise à jour/réinstallation du framework sc
sc_install::update_sc();
Code : Tout sélectionner
//Charge la librairie install
$sc->load('install');
//Lance la mise à jour/réinstallation du framework sc
$sc->install->update_sc();
Il faut mettre à jour tous vos scénarios après avoir fait la maj !
http://rulistaff.free.fr/sc/doc/?Utilisation
------------
Changelog v0.92 :
- Améliorations de l'installeur / dé-sinstaleur
- Nombreuses refontes
- Mise à jour de la documentation
- Correction de petits bugs
- Ajout de la librairie jpi
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"));
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation
------------
Voili voilou
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.
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.
Re: [Framework SC] les scenarios en php
Hello
depuis la nouvelle version, j'ai des problèmes sur d'anciens codes (non modifiés depuis très très longtemps)
Dans le log 'scenario_execution'
et dans le scenario concerné :
j'ai vérifié. la syntaxe est bonne.
depuis la nouvelle version, j'ai des problèmes sur d'anciens codes (non modifiés depuis très très longtemps)
Dans le log 'scenario_execution'
Code : Tout sélectionner
PHP Notice: Undefined variable: scenario in /tmp/sc-scenario #28# Bloc code n°1 on line 25
PHP Fatal error: Call to a member function setData() on null in /tmp/sc-scenario #28# Bloc code n°1 on line 25
Code : Tout sélectionner
$scenario->setData($Variable_Lever, $lever);
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités