Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

[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 : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 02 mai 2016, 19:56

fcna a écrit :Slt djul, encore une fois excellent travail.

Est-ce que tu penses que tu pourrais intégrer d'autres fonctions. Je pense notamment au fonction d'historiques qui serait bien utile pour construire un tableau récap des conso sur différents jours ...

Merci d'avance
désolé j'avais pas vu ton message en bas de page.
Oui ça doit être possible, mais je ne connais rien de ce qu'on peut faire avec l'historique Jeedom, je ne l'utilise pas.
Faudrait que je me penche dessus pour voir ce que l'on peut faire.
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
m.georgein
Timide
Messages : 299
Inscription : 18 mars 2016, 23:46
Localisation : 13820

Re: [Framework SC] les scenarios en php

Message par m.georgein » 03 mai 2016, 16:05

Quelques mots de félicitation, cette idée de framework est géniale et apporte une plus valu considérable au produit !!! De plus c'est remarquablement réalisé !!!
Je l'ai découvert ce matin et en quelques heures j'ai pu remplacer deux scénarios devenus illisible et inmaintenable via le natif Jeedom par quelques dizaines de lignes de codes !

Encore bravo !!
Plateforme :
NUCNUC6i5SYK en VM STRETCH
Version Jeedom 4.0.9
Version PHP 7.0.33-0+deb9u1
Version OS Linux debian9 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux [9.6]
Version database 10.1.26-MariaDB-0+deb9u1

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 03 mai 2016, 16:26

Merci, content que ça te soit utile. ;)

N'hésitez pas à poster le code de vos scénarios, je pourrai les rajouter en exemple dans la doc.
Si il y en a un certain nombre, je ferai une section complète dédiée aux exemples dans la doc.
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
m.georgein
Timide
Messages : 299
Inscription : 18 mars 2016, 23:46
Localisation : 13820

Re: [Framework SC] les scenarios en php

Message par m.georgein » 06 mai 2016, 10:12

A titre d'exemple si ça peut être utile à ta doc.

Scénario permettant de gérer une série de lampes avec un seul visuel comportant une consigne. L'allumage et l'extinction sont progressive, l'allumage est déclenchés par un mouvement dans la pièce SI il fait nuit. L'extinction par l'absence de mouvement OU l'apparition du jour OU par une télécommande.

Pour des facilités de lecture et de mise au point le codes est composé de trois blocs :

Code : Tout sélectionner

// ***************************** PILOTE DES LAMPES **************************************
function Pilote() {
   
  //Tableau des commandes de l'état des lampes à gérer
  $inter_etat = array(
      '#[Cachés][Lampe bureau][Intensité]#',
      '#[Cachés][Lampe Yanna][Intensité]#',
      '#[Cachés][Lampe oeuf][Intensité]#',
      '#[Cachés][Lampe salon][Intensité]#'
  );
  //Tableau des stop des lampes supplémentaires à eteindre
  $Lum_Off = array(
      '#[Extérieur][Lampe ext. Sud][Off]#',
      '#[Extérieur][Lampe ext. Ouest][Off]#'
  );
  
  // On force l'état à 0 si négatif
  $Etat = sc::getCmd('#[Salon][Lampes salon][Etat]#');
  if ($Etat < 0) {
    sc::setVar($Etat, 0);
  }

  // Boucle de réglage de l'intensité des lampes
  for ($i = 0; $i < count($inter_etat); $i++) {
      sc::setCmd($inter_etat[$i], $Etat);
  }
  
  // Boucle d'extinction des lampes
  if ($Etat == 0) {
    for ($i = 0; $i < count($Lum_Off); $i++) {
      sc::setCmd($Lum_Off[$i]);
    }
  }
}

Code : Tout sélectionner

// ********************** ALLUMAGE DU VIRTUEL *************************
if (sc::getCond('#[Salon][Lampes salon][Etat]# != #[Salon][Lampes salon][Val_Demandée]#
                && #[Extérieur][Oeil Terrasse sud][Luminosité]# < variable(LuxCrepuscule, 900) 
                && variable(LastMouvementSalon, 0) <= variable(TimeOutLumière, 60)')) {

  // boucle de 99
  for ($i = 0; $i < 100; $i++) {
    // Si on doit incrémenter
    if (sc::getcond('#[Salon][Lampes salon][Etat]# < #[Salon][Lampes salon][Val_Demandée]#')) {
      sc::setCmd('#[Salon][Lampes salon][Intensité]#', '#[Salon][Lampes salon][Etat]# + 1');
  	  Pilote();
      sc::pause(2);
      sc::setCmd('#[Salon][Lampes salon][Rafraichir]#');
    }
    // sinon on doit décrémenter
    else {
      if (sc::getcond('#[Salon][Lampes salon][Etat]# > #[Salon][Lampes salon][Val_Demandée]#')) {
      sc::setCmd('#[Salon][Lampes salon][Intensité]#', '#[Salon][Lampes salon][Etat]# - 1');
  	  Pilote();
      sc::pause(2);
      sc::setCmd('#[Salon][Lampes salon][Rafraichir]#');
      }
    }
      // Si terminé on sort du scénario
    if (sc::getcond('#[Salon][Lampes salon][Etat]# == #[Salon][Lampes salon][Val_Demandée]#')) {
      sc::stop();
    }
  }
}

Code : Tout sélectionner

// ********************** EXTINCTION  DU VIRTUEL *************************
if (sc::getCond('#[Salon][Lampes salon][Etat]# > 0
                && (#[Extérieur][Oeil Terrasse sud][Luminosité]# > variable(LuxCrepuscule, 900) 
                  || variable(LastMouvementSalon, 0) > variable(TimeOutLumière, 60)
                  || #[Cachés][Télécommande 1][Boutons]# == 1)')) {

  // boucle de 99
  for ($i = 0; $i < 100; $i++) {
    // Si on doit décrémenter
    if (sc::getcond('#[Salon][Lampes salon][Etat]# > 0')) {
      sc::setCmd('#[Salon][Lampes salon][Intensité]#', '#[Salon][Lampes salon][Etat]# - 1');
      Pilote();
      sc::pause(2);
      sc::setCmd('#[Salon][Lampes salon][Rafraichir]#');
      
    }
    // Si terminé on sort du scénario
    else {
      sc::setVar('LastMouvementSalon', sc::getVar('TimeOutLumière', null, true) + 1, true);  
      sc::stop();
    }
  }
}
// Si aucun traitement ci dessus on met quand même à jour l'état des lampes
Pilote();
Plateforme :
NUCNUC6i5SYK en VM STRETCH
Version Jeedom 4.0.9
Version PHP 7.0.33-0+deb9u1
Version OS Linux debian9 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux [9.6]
Version database 10.1.26-MariaDB-0+deb9u1

Avatar de l’utilisateur
m.georgein
Timide
Messages : 299
Inscription : 18 mars 2016, 23:46
Localisation : 13820

Re: [Framework SC] les scenarios en php

Message par m.georgein » 06 mai 2016, 10:18

A propos du code ci dessus peut être un petit bug, lors de l'incrémentation/décrémentation de la variable Etat (bloc 3 ligne11) le log affiche un warning mais la variables est bien calculé - mises à jour :

Code : Tout sélectionner

[2016-05-06 10:14:25][SCENARIO]  - Exécution d'une commande: #[Salon][Lampes salon][Intensité]# de type [action]
[2016-05-06 10:14:25][SCENARIO]  - WARNING: setCmd() - La valeur '#1364# - 1' n'est pas un nombre valide !
[2016-05-06 10:14:25][SCENARIO]  - Commande de sous-type: [slider]  | options: ( [slider] => '#1364# - 1' )
Bug dans mon code ou le framework ?
Plateforme :
NUCNUC6i5SYK en VM STRETCH
Version Jeedom 4.0.9
Version PHP 7.0.33-0+deb9u1
Version OS Linux debian9 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux [9.6]
Version database 10.1.26-MariaDB-0+deb9u1

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 06 mai 2016, 17:14

Merci pour le code.
Alors déjà il y a une petite erreur je pense :

Code : Tout sélectionner

// On force l'état à 0 si négatif
$Etat = sc::getCmd('#[Salon][Lampes salon][Etat]#');
if ($Etat < 0) {
  sc::setVar($Etat, 0);
}
ce serait plutôt :

Code : Tout sélectionner

// On force l'état à 0 si négatif
$Etat = sc::getCmd('#[Salon][Lampes salon][Etat]#');
if ($Etat < 0) {
   $Etat = 0;
}
setVar() ne marche pas pour définir une variable locale, mais pour enregistrer une variable pour la réutiliser plus tard avec getVar()...

Sinon pour le warning c'est normal, setCmd n'est pas cencé prendre des expressions, mais une valeur.
Dans ton cas ça marche car c'est un calcul simple, mais ça n'aurait pas marché avec une expression comprenant des fonctions Jeedom.
Il aurait plutôt fallut faire avant :

Code : Tout sélectionner

$new_etat = sc::getExp('#[Salon][Lampes salon][Etat]# - 1');
sc::setCmd('#[Salon][Lampes salon][Intensité]#', $new_etat);
Cela dit tu n'as pas besoin de modifier ton code pour ce point, car je viens de modifier la fonction setCmd() pour qu'elle accepte une expressions Jeedom en paramètre.
La mise à jour arrive...
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 : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 06 mai 2016, 17:35

Petite mise à jour, version 0.8.9
Ajout des expressions acceptées en paramètre avec la fonction setCmd();
Ajout de l'exemple de m.georgein dans la doc ( merci ;) )

Pour mettre à jour avec les vielles versions (ne marche plus depuis la version 0.8.8) :

Code : Tout sélectionner

sc::load('update', true);

Sinon pour les versions récentes c'est :

Code : Tout sélectionner

sc::load("install", true);
http://rulistaff.free.fr/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.

Avatar de l’utilisateur
m.georgein
Timide
Messages : 299
Inscription : 18 mars 2016, 23:46
Localisation : 13820

Re: [Framework SC] les scenarios en php

Message par m.georgein » 06 mai 2016, 17:59

Petit rapport de bug sur l'affectation de variables (sauf erreur de ma part !!!)

le code :

Code : Tout sélectionner

sc::setVar('ConsigneTmp', sc::getVar('#[Salon][Lampes salon][Val_Demandée]#', null, true), true);  
    sc::setLog('*************** = ' . sc::getVar('ConsigneTmp', null, true));
  sc::setVar('ConsigneTmp', sc::getVar('#[Salon][Lampes salon][Val_Demandée]#', null, true) / 3, true);  
    sc::setLog('*************** / 3 = ' . sc::getVar('ConsigneTmp', null, true));

  sc::setVar('ConsigneTmp', '#[Salon][Lampes salon][Val_Demandée]#', true);  
    sc::setLog('*************** = ' . sc::getVar('ConsigneTmp', null, true));
  sc::setVar('ConsigneTmp', '#[Salon][Lampes salon][Val_Demandée]#' / 3, true);  
    sc::setLog('***************  / 3 = ' . sc::getVar('ConsigneTmp', null, true));
le log

Code : Tout sélectionner

[2016-05-06 17:55:23][SCENARIO]  - /* - Execution du Bloc code n°1 - */
[2016-05-06 17:55:23][SCENARIO]  - - - 
[2016-05-06 17:55:23][SCENARIO]  - WARNING: getVar() - Variable #1420# non définie, retour de la valeur par défaut: NULL
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = NULL
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = NULL
[2016-05-06 17:55:23][SCENARIO]  - *************** =
[2016-05-06 17:55:23][SCENARIO]  - WARNING: getVar() - Variable #1420# non définie, retour de la valeur par défaut: NULL
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = 0
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = '0'
[2016-05-06 17:55:23][SCENARIO]  - *************** / 3 = 0
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = #1420#
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = #1420#
[2016-05-06 17:55:23][SCENARIO]  - *************** = #1420#
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = 0
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = '0'
[2016-05-06 17:55:23][SCENARIO]  - ***************  / 3 = 0
[2016-05-06 17:55:23][SCENARIO]  - - - 
[2016-05-06 17:55:23][SCENARIO]  - /* - Fin du Bloc code n°1 - */
1er cas l'ID est bien trouvé mais pas la valeur
2eme cas l'id est renvoyé en lieu et place de la valeur

Bon courage !!!
Plateforme :
NUCNUC6i5SYK en VM STRETCH
Version Jeedom 4.0.9
Version PHP 7.0.33-0+deb9u1
Version OS Linux debian9 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux [9.6]
Version database 10.1.26-MariaDB-0+deb9u1

Avatar de l’utilisateur
m.georgein
Timide
Messages : 299
Inscription : 18 mars 2016, 23:46
Localisation : 13820

Re: [Framework SC] les scenarios en php

Message par m.georgein » 06 mai 2016, 18:07

MaJ faites, correction effectuée !
Merci :)
Plateforme :
NUCNUC6i5SYK en VM STRETCH
Version Jeedom 4.0.9
Version PHP 7.0.33-0+deb9u1
Version OS Linux debian9 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux [9.6]
Version database 10.1.26-MariaDB-0+deb9u1

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 06 mai 2016, 18:12

m.georgein a écrit :Petit rapport de bug sur l'affectation de variables (sauf erreur de ma part !!!)

le code :

Code : Tout sélectionner

sc::setVar('ConsigneTmp', sc::getVar('#[Salon][Lampes salon][Val_Demandée]#', null, true), true);  
    sc::setLog('*************** = ' . sc::getVar('ConsigneTmp', null, true));
  sc::setVar('ConsigneTmp', sc::getVar('#[Salon][Lampes salon][Val_Demandée]#', null, true) / 3, true);  
    sc::setLog('*************** / 3 = ' . sc::getVar('ConsigneTmp', null, true));

  sc::setVar('ConsigneTmp', '#[Salon][Lampes salon][Val_Demandée]#', true);  
    sc::setLog('*************** = ' . sc::getVar('ConsigneTmp', null, true));
  sc::setVar('ConsigneTmp', '#[Salon][Lampes salon][Val_Demandée]#' / 3, true);  
    sc::setLog('***************  / 3 = ' . sc::getVar('ConsigneTmp', null, true));
le log

Code : Tout sélectionner

[2016-05-06 17:55:23][SCENARIO]  - /* - Execution du Bloc code n°1 - */
[2016-05-06 17:55:23][SCENARIO]  - - - 
[2016-05-06 17:55:23][SCENARIO]  - WARNING: getVar() - Variable #1420# non définie, retour de la valeur par défaut: NULL
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = NULL
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = NULL
[2016-05-06 17:55:23][SCENARIO]  - *************** =
[2016-05-06 17:55:23][SCENARIO]  - WARNING: getVar() - Variable #1420# non définie, retour de la valeur par défaut: NULL
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = 0
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = '0'
[2016-05-06 17:55:23][SCENARIO]  - *************** / 3 = 0
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = #1420#
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = #1420#
[2016-05-06 17:55:23][SCENARIO]  - *************** = #1420#
[2016-05-06 17:55:23][SCENARIO]  - Affectation valeur => variable JEEDOM: [ConsigneTmp] = 0
[2016-05-06 17:55:23][SCENARIO]  - Récupération valeur => variable JEEDOM: [ConsigneTmp] = '0'
[2016-05-06 17:55:23][SCENARIO]  - ***************  / 3 = 0
[2016-05-06 17:55:23][SCENARIO]  - - - 
[2016-05-06 17:55:23][SCENARIO]  - /* - Fin du Bloc code n°1 - */
1er cas l'ID est bien trouvé mais pas la valeur
2eme cas l'id est renvoyé en lieu et place de la valeur

Bon courage !!!
Le 1er paramètre doit être un string, le nom de la variable, et pas une commande :
sc::getVar('#[Salon][Lampes salon][Val_Demandée]#', null, true) => Cela n'est pas logique comme utilisation...
il faut utiliser :
sc::getVar('le nom de ma variable', 'valeur par défaut');

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

pour récupérer la valeur d'une commande c'est getCmd() qu'il faut utiliser, pas getVar()
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
m.georgein
Timide
Messages : 299
Inscription : 18 mars 2016, 23:46
Localisation : 13820

Re: [Framework SC] les scenarios en php

Message par m.georgein » 06 mai 2016, 19:04

Oupps ... Merci pour la mise au point et désolé :-(

Modif du bloc 2 déja communiqué prenant en compte tes remarques et ajoutant une fonction "Ambiance", divisant la luminosité par 3 et pouvant servir d'exemple pour la syntaxe xxxCmd !!!

Code : Tout sélectionner

// ********************** ALLUMAGE DU VIRTUEL *************************
  // Calcul de la consigne normale
  sc::setVar('$Consigne', sc::getCmd('#[Salon][Lampes salon][Val_Demandée]#', null, true));  
  // Calcul de la consigne "Ambiance"
  if (sc::getCond('#[Cachés][Télécommande 1][Boutons]# == 2 || #[Salon][Lampes salon][Ambiance]# == 1')) {
    sc::setVar('$Consigne', sc::getVar('$Consigne') / 3);  
  }
sc::setLog('New valeur consigne : ' . variable(Consigne, 80, true)); 

if (sc::getcond('#[Salon][Lampes salon][Etat]# != variable($Consigne, 80, true)
                && #[Extérieur][Oeil Terrasse sud][Luminosité]# < variable(LuxCrepuscule, 900) 
                && variable(LastMouvementSalon, 0) <= variable(TimeOutLumière, 60)')) {

  // boucle de 99
  for ($i = 0; $i < 100; $i++) {
    // Si on doit incrémenter
    if (sc::getcond('#[Salon][Lampes salon][Etat]# < variable($Consigne, 80, true)')) {
      sc::setCmd('#[Salon][Lampes salon][Intensité]#', '#[Salon][Lampes salon][Etat]# + 1');
  	  Pilote();
      sc::pause(2);
      sc::setCmd('#[Salon][Lampes salon][Rafraichir]#');
    }
    // sinon on doit décrémenter
    else {
      if (sc::getcond('#[Salon][Lampes salon][Etat]# > variable($Consigne, 80, true)')) {
      sc::setCmd('#[Salon][Lampes salon][Intensité]#', '#[Salon][Lampes salon][Etat]# - 1');
  	  Pilote();
      sc::pause(2);
      sc::setCmd('#[Salon][Lampes salon][Rafraichir]#');
      }
    }
      // Si terminé on sort du scénario
    if (sc::getcond('#[Salon][Lampes salon][Etat]# == variable($Consigne, 80, true)')) {
      sc::stop();
    }
  }
}
Plateforme :
NUCNUC6i5SYK en VM STRETCH
Version Jeedom 4.0.9
Version PHP 7.0.33-0+deb9u1
Version OS Linux debian9 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux [9.6]
Version database 10.1.26-MariaDB-0+deb9u1

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

Re: [Framework SC] les scenarios en php

Message par dJuL » 11 mai 2016, 22:15

Petite mise à jour, version 0.8.9b
N'apporte rien de nouveau, juste quelques petites corrections...

Pour mettre à jour avec le framework déjà installé :

Code : Tout sélectionner

sc::load("install", true);
ou sinon

Pour une installation si on n'a pas le framework installé (marche aussi pour faire les majs) :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
Dans un scénario

http://rulistaff.free.fr/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.

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

Re: [Framework SC] les scenarios en php

Message par i-magin » 11 mai 2016, 22:33

Bonsoir dJuL
Comme la Jeedom Center tarde à sortir, j'ai pris la décision d'installer Jeedom de manière "plus sérieuse" sur Rapsberry Pi3 + SSD et dongle AEOTEC GEN5
Je vais commencer à basculer mes modules Zwave demain et j'ai voulu installer ton Framework... et surprise, j'obtiens ce message "impossible d'extraire l'archive" ?
[2016-05-11 22:27:05][SCENARIO] Début d'exécution du scénario : [Gestion][Install Framework sc]. Scenario lance manuellement
[2016-05-11 22:27:05][SCENARIO] Exécution du sous-élément de type [action] : code
[2016-05-11 22:27:05][SCENARIO] Exécution d'un bloc code
[2016-05-11 22:27:05][SCENARIO] **************************************************
[2016-05-11 22:27:05][SCENARIO] * Script d'installation du Framework sc *
[2016-05-11 22:27:05][SCENARIO] **************************************************
[2016-05-11 22:27:05][SCENARIO] --- DECLENCHEUR:
[2016-05-11 22:27:05][SCENARIO] user
[2016-05-11 22:27:05][SCENARIO] --- CONFIG:
[2016-05-11 22:27:05][SCENARIO] Url de l'archive du framework: http://rulistaff.free.fr/sc/sc_framework.zip
[2016-05-11 22:27:05][SCENARIO] Dossier d'installation: sc
[2016-05-11 22:27:05][SCENARIO] Répertoire temporaire: /tmp
[2016-05-11 22:27:05][SCENARIO] --- INSTALLATION DU FRAMEWORK:
[2016-05-11 22:27:05][SCENARIO] Dossier de Jeedom: /var/www/html
[2016-05-11 22:27:05][SCENARIO] Recherche de la version du framework...
[2016-05-11 22:27:05][SCENARIO] VERSION EXISTANTE: Aucune
[2016-05-11 22:27:05][SCENARIO] Téléchargement de l’archive http://rulistaff.free.fr/sc/sc_framework.zip...
[2016-05-11 22:27:06][SCENARIO] Extraction de l’archive...
[2016-05-11 22:27:06][SCENARIO] Impossible d’extraire l’archive
[2016-05-11 22:27:06][SCENARIO] Installation abandonnée
[2016-05-11 22:27:06][SCENARIO] --- FIN INSTALLATION DU FRAMEWORK
[2016-05-11 22:27:07][SCENARIO] Archive temporaire d'installation du framework supprimée
[2016-05-11 22:27:07][SCENARIO] Fin correcte du scénario
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 : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 11 mai 2016, 22:39

Peut être que l'upload du zip a merdé je regarde ç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 : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 11 mai 2016, 22:45

Non pourtant tout semble ok, je ne vois qu'un problème de droits dans ton dossier /var/www/html
Comme si jeedom ne pouvait pas écrire dedans...
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.

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

Re: [Framework SC] les scenarios en php

Message par i-magin » 11 mai 2016, 22:50

Il faut que je regarde en effet...
L'image Jeedom n'étant plus disponible, j'ai effectué une installation manuelle, puis déplacement de la partition linux sur SSD
Tout semblait bien fonctionner, pas de souci d'installation de plugin....
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 : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 11 mai 2016, 22:57

Tu peux checker les droits du folder /var/www/html ?
Ça devrait être 777 ou 775

Les plugins écrivent dans le dossier plugins il y a peut être des droits différents dans ce dossier
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.

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

Re: [Framework SC] les scenarios en php

Message par i-magin » 11 mai 2016, 23:10

Une surprise pour moi : avec l'installation de l'image, j'avais comme répertoire principal de Jeedom : Jeedom
Avec l'installation manuelle, c'est en effet : HTML

Je ne vais pas te retenir plus longtemps, car Unix pour moi cela date de plus de 30 ans
Apparemment selon un plugin Jeedom le répertoire est read
Avec ls -l j'obtiens :
root@raspberrypi:/var/www/html# ls -l
total 220
drwxrwxr-x 46 www-data www-data 4096 mai 10 13:19 3rdparty
drwxrwxr-x 2 www-data www-data 4096 mai 10 13:19 adminerxxxxxxxxxxxxxxxxxxxxx
-rwxrwxr-x 1 www-data www-data 7094 mai 10 13:19 apple-touch-icon.png
-rwxrwxr-x 1 www-data www-data 7094 mai 10 13:19 apple-touch-icon-precomposed.png
drwxrwxr-x 2 www-data www-data 4096 mai 11 02:00 backup
-rwxrwxr-x 1 www-data www-data 448 mai 10 13:19 composer.json
-rwxrwxr-x 1 www-data www-data 3787 mai 10 13:19 composer.lock
-rwxrwxr-x 1 www-data www-data 35059 mai 10 13:19 COPYING
drwxrwxr-x 14 www-data www-data 4096 mai 10 13:19 core
drwxrwxr-x 7 www-data www-data 4096 mai 10 13:19 desktop
drwxrwxr-x 10 www-data www-data 4096 mai 10 13:19 doc
-rwxrwxr-x 1 www-data www-data 7094 mai 10 13:19 favicon.ico
-rwxrwxr-x 1 www-data www-data 1370 mai 10 13:19 health.sh
-rwxrwxr-x 1 www-data www-data 2 mai 10 13:19 here.html
-rwxrwxr-x 1 www-data www-data 867 mai 10 12:47 index.nginx-debian.html
-rwxrwxr-x 1 www-data www-data 4028 mai 10 13:19 index.php
drwxrwxr-x 3 www-data www-data 4096 mai 10 13:19 install
-rwxrwxr-x 1 www-data www-data 18047 mai 10 13:19 LICENSE
drwxrwxr-x 3 www-data www-data 4096 mai 11 22:23 log
-rwxrwxr-x 1 www-data www-data 856 mai 10 13:19 manifest.json
-rwxrwxr-x 1 www-data www-data 856 mai 10 13:19 manifest.webmanifest
drwxrwxr-x 5 www-data www-data 4096 mai 10 13:19 mobile
-rwxrwxr-x 1 www-data www-data 9187 mai 10 13:19 mobile.manifest.php
-rwxrwxr-x 1 www-data www-data 158 mai 10 13:19 phpunit.xml.dist
drwxrwxr-x 15 www-data www-data 4096 mai 11 22:57 plugins
-rwxrwxr-x 1 www-data www-data 1121 mai 10 13:19 README.md
-rwxrwxr-x 1 www-data www-data 25 mai 10 13:19 robots.txt
drwxrwxr-x 3 www-data www-data 4096 mai 10 13:19 script
-rwxrwxr-x 1 www-data www-data 5452 mai 10 13:19 sick.php
drwxrwxr-x 11 www-data www-data 4096 mai 10 13:19 sysinfodxxxxxxxxxxxxxxxxxxxxxxxxx
drwxrwxr-x 2 www-data www-data 4096 mai 10 13:19 tests
-rwxrwxr-x 1 www-data www-data 13824 mai 10 13:19 Thumbs.db
drwxrwxr-x 3 www-data www-data 4096 mai 11 22:57 tmp
drwxrwxr-x 16 www-data www-data 4096 mai 10 13:19 vendor
root@raspberrypi:/var/www/html#
Il faut que je me replonge dans la gestion des droits !
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 : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [Framework SC] les scenarios en php

Message par dJuL » 11 mai 2016, 23:33

tu fais un chmod -R 775 dans le terminal en root sur le répertoire html et ça devrait être bon

edit:

Code : Tout sélectionner

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.

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

Re: [Framework SC] les scenarios en php

Message par i-magin » 11 mai 2016, 23:37

Je suis bien root... Il manque un paramètre au chmod 775.... je suis devenu nul en commandes linux
Est-ce que je dois étendre les droits à tous les fichiers et répertoires ? chmod 775 -R ?
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

Répondre

Revenir vers « Développements sur Jeedom »

Qui est en ligne ?

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