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 !

[tuto] bloc code PHP scénario (petite commande simple)

Réservé à la création de scénarios dans JEEDOM
winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par winhex » 17 déc. 2018, 21:24

getConfiguration
Sans titre.png
Sans titre.png (15.96 Kio) Consulté 10727 fois
viewtopic.php?f=32&t=20037&p=569020&hil ... on#p569020

dans le screen @Jeandhom
on peux voir le niveau de batterie je pense que la création doit être possible

getStatus est là aussi (j'en profite pour laisser une trace ici)
viewtopic.php?f=31&t=40790&p=666358&hil ... us#p665996
Dernière édition par winhex le 19 déc. 2018, 02:01, édité 2 fois.

thekingsky
Timide
Messages : 45
Inscription : 01 avr. 2015, 22:01

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par thekingsky » 17 déc. 2018, 21:34

Non du tout, désolé :/
Jeedom Docker sur DS918+ et modem téléinfo USB

thekingsky
Timide
Messages : 45
Inscription : 01 avr. 2015, 22:01

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par thekingsky » 17 déc. 2018, 21:38

Ce code :

Code : Tout sélectionner

$retourOpenEVSE = object::byId(760);
    
echo $retourOpenEVSE->getConfiguration('value');
Me retourne l'erreur :
PHP Fatal error: Uncaught Error: Call to a member function getConfiguration() on boolean !

Edit : ca fonctionne en mettant :

Code : Tout sélectionner

$retourOpenEVSE = cmd::byId(760);
    
echo $retourOpenEVSE->getConfiguration('value');
Jeedom Docker sur DS918+ et modem téléinfo USB

foxchip
Timide
Messages : 21
Inscription : 26 janv. 2019, 00:36

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par foxchip » 02 févr. 2019, 10:53

Bonjour,
Je suis nouveau sur Jeedom et malgré avoir lu ce poste j'ai beosin d'un coup de main pour la compréhension
je dois modifier une info virtuelle sur un plugin virtuel

mon info est dans le champ [Salon][Volet 1 Module][Etat Volet]. la valeur est un binaire
Depuis un scénario j'ai donc mis le script suivant pour momdifier la valeur mais ca ne fonctionne pas et je ne sais pas pourquoi
je veux lui affecté la valeur 0 ou 1 en fonction du scenario

Code : Tout sélectionner

$Variable_J = 1;
$cmd = cmd::byString("#[Salon][Volet 1 Module][Etat Volet]#");
$value1 = $cmd->execCmd();
$scenario->setData($Variable_J, $value1);

Avatar de l’utilisateur
lolo-95
Timide
Messages : 129
Inscription : 21 août 2014, 09:32
Localisation : Val d'Oise

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par lolo-95 » 02 févr. 2019, 11:06

Merci pour les infos.
;)
Jeedom sur VM Proxmox (Hystou)
Shinobi sur VM Proxmox (video surveillance)
Multi-room SqueezeBox avec RaspBerry (B+/II) IQaudio en lecteur.
OMV sur Proxmox

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par winhex » 02 févr. 2019, 11:12

@foxchip
revois le 1er message
Pour modifier une valeur (event)

Code : Tout sélectionner

$Variable_J = 1;
$cmd = cmd::byString("#[Salon][Volet 1 Module][Etat Volet]#");
$value1 = $cmd->execCmd();
$scenario->setData($Variable_J, $value1);
la derniere ligne
dit inscrit dans la variable J (1) la valeur de ton volet

ps : la commande event dans un scenario existe sans passer par la fonction code
ou via une action sur valeur
viewtopic.php?f=23&t=42093&p=684980&hilit=event#p684911
mais si tu es debutant crée une info (virtuel ou variable) supplementaire

foxchip
Timide
Messages : 21
Inscription : 26 janv. 2019, 00:36

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par foxchip » 02 févr. 2019, 11:36

Justement au demarrage, j'avais vu le 1er post et j'avais mis cela

Code : Tout sélectionner

$cmdC = "#[Salon][Volet 1 Module][Etat Volet]#";
$cmd = cmd::byString($cmdC);
$cmd->event((1));

foxchip
Timide
Messages : 21
Inscription : 26 janv. 2019, 00:36

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par foxchip » 02 févr. 2019, 11:46

Je te remercie pour ton aide car j'ai reussi avec event

Avatar de l’utilisateur
Sattaz
Timide
Messages : 191
Inscription : 22 nov. 2015, 20:34

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par Sattaz » 26 févr. 2019, 22:42

Bonjour,

Je ne parviens pas à utiliser cette fameuse commande cmd::
A chaque fois j'ai un message d'erreur lorsque j’exécute le script!

Code:

Code : Tout sélectionner

<?php
$cmdC = "#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#";
$cmd = cmd::byString($cmdC);
$cmd->event((1));
?>
Erreur dans un bandeau rouge:
'Erreur dans l'exécution du terminal, la valeur retournée est : 255. Détails : Array ( [0] => PHP Fatal error: Class 'cmd' not found in /var/www/html/plugins/script/core/ressources/test.php on line 3 )'

Une idée?

Merci,

Sébastien
Sébastien

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par winhex » 26 févr. 2019, 22:54

enléve "<?php" et "?>"
tu peux résumé si ça te parle mieux

Code : Tout sélectionner

$cmdId= cmd::byString("#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#")->event((1));
Ça peut te parlé
viewtopic.php?f=185&t=37266&p=639874&hilit=Rgb#p639874

Avatar de l’utilisateur
Sattaz
Timide
Messages : 191
Inscription : 22 nov. 2015, 20:34

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par Sattaz » 27 févr. 2019, 19:49

Salut,

Merci mais je crois avoir compris mon erreur :
Cette commande est pour être utilisée dans un scénario !
Mois je souhaite assigner une valeur à une commande depuis un script (plugin script) en php...
En fait j’utilise du php pour récupérer des valeurs depuis un site web et je souhaite assigner la valeur récupée à un objet slider sur une tuile dans Jeedom.
Une idée ?

Merci !

Sébastien
Sébastien

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par winhex » 27 févr. 2019, 20:02

si tu veux utilisé le code jeedom API
(le même qu'ici)
dans un script
il te faut faire l'appel API
2 lignes en +

il y a des exemples sur le market script

Après via jeedom c'est aussi faisable
dans le retour info script
param avancé
si != 0 durant 0mn
Event sur l'info de ton slider
valeur
#[objet][equipement][ton script]#

pour le screen config
viewtopic.php?f=24&t=42787&p=695679&hilit=event#p695679

Avatar de l’utilisateur
Sattaz
Timide
Messages : 191
Inscription : 22 nov. 2015, 20:34

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par Sattaz » 01 mars 2019, 14:39

Merci Winhex pour ton aide mais j'ai beau essayer je n'y parviens pas ... je crois ne pas comprendre ...

Pourrais-tu me donner un exemple concret afin de faire depuis un script php:
- Récupérer une donnée d'un site web (ça je sais le faire)
- Assigner la valeur à un objet (slider/curseur, message, etc ...) sachant que l'object a déjà un script assigné comme type 'Action' (là je sèche)

En fait le même objet (ici un slider/curseur) me permet d'envoyer une requête (ACTION) pour modifier une page web (température de consigne d'une PAC) et de relire la valeur assigné sur la page Web (feedback/retour) que je souhaite re-écrire/ré-assigner à ce même objet.

Merci,

Sébastien
Sébastien

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par tomdom » 01 mars 2019, 14:52

Bonjour,
Sattaz a écrit :
26 févr. 2019, 22:42

Code : Tout sélectionner

<?php
$cmdC = "#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#";
$cmd = cmd::byString($cmdC);
$cmd->event((1));
?>
Il te manque une ligne :

Code : Tout sélectionner

 
 require_once '/var/www/html/core/php/core.inc.php';
 
ce qui donne :

Code : Tout sélectionner

 require_once '/var/www/html/core/php/core.inc.php';
 $cmdC = "#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#";
 $cmd = cmd::byString($cmdC);
 $cmd->event((1));
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

Avatar de l’utilisateur
Sattaz
Timide
Messages : 191
Inscription : 22 nov. 2015, 20:34

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par Sattaz » 01 mars 2019, 17:48

tomdom a écrit :
01 mars 2019, 14:52
Bonjour,
Sattaz a écrit :
26 févr. 2019, 22:42

Code : Tout sélectionner

<?php
$cmdC = "#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#";
$cmd = cmd::byString($cmdC);
$cmd->event((1));
?>
Il te manque une ligne :

Code : Tout sélectionner

 
 require_once '/var/www/html/core/php/core.inc.php';
 
ce qui donne :

Code : Tout sélectionner

 require_once '/var/www/html/core/php/core.inc.php';
 $cmdC = "#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#";
 $cmd = cmd::byString($cmdC);
 $cmd->event((1));
Yesssss!!!!
Merci, effectivement avec ça je n'ai plus de message d'erreur et j'arrive à modifier ce qu'affiche une commande de type information.

Par contre je ne parviens toujours pas à modifier la valeur d'un slider/curseur ...
Il n'y a pas de message d'erreur et le script dit qu'il s'est bien executé sur la commande de type Action (curseur).

Une dernière idée?

Merci,

Sébastien
Sébastien

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par tomdom » 01 mars 2019, 18:02

Bonjour,

Pour changer la couleur essaie (je n'ai pas testé) :

Code : Tout sélectionner

 require_once '/var/www/html/core/php/core.inc.php';
 $cmdC = "#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#";
 $cmd = cmd::byString($cmdC);
 $option['color']='RRGGBB'; // la couleur codée  RGB en hexa
 $cmd->execute($option);
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par winhex » 01 mars 2019, 18:13

Il n'y a pas de message d'erreur et le script dit qu'il s'est bien executé sur la commande de type Action (curseur).
un event se fait sur l'info rattaché au curseur

Avatar de l’utilisateur
Sattaz
Timide
Messages : 191
Inscription : 22 nov. 2015, 20:34

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par Sattaz » 01 mars 2019, 18:19

tomdom a écrit :
01 mars 2019, 18:02
Bonjour,

Pour changer la couleur essaie (je n'ai pas testé) :

Code : Tout sélectionner

 require_once '/var/www/html/core/php/core.inc.php';
 $cmdC = "#[Maison][Yeelight Piscine Nord Est][Définir couleur RGB]#";
 $cmd = cmd::byString($cmdC);
 $option['color']='RRGGBB'; // la couleur codée  RGB en hexa
 $cmd->execute($option);
Salut et merci pour ton aide!
En fait c'est un SLIDER/CURSEUR que je souhaite modifier ... pas une couleur désolé ...
Donc par exemple l'intensité d'une lampe ...

J'ai quand même fait l'essai sur une commande de type couleur mais ça ne fonctionne pas ...

Sébastien
Sébastien

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par tomdom » 01 mars 2019, 18:25

Bonjour,

Pour un slider :

Code : Tout sélectionner

$option['slider']='tavaleur';
$cmd->execCmd($option);
Pour une couleur (générique) :

Code : Tout sélectionner

$option['color']='tacouleur';
$cmd->execCmd($option);
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

Avatar de l’utilisateur
Sattaz
Timide
Messages : 191
Inscription : 22 nov. 2015, 20:34

Re: [tuto] bloc code PHP scénario (petite commande simple)

Message par Sattaz » 01 mars 2019, 19:01

Bonsoir,

Non ça ne fonctionne pas ...
Mon code:

Code : Tout sélectionner

require_once '/var/www/html/core/php/core.inc.php';
$cmd = cmd::byString("#[Extérieur][Chauffage Piscine][Test]#");
$option['slider']='50';
$cmd->execCmd($option);
Sachant que l'objet 'Test' est une commande script de type Action - Curseur.

Zut alors ...

Sébastien
Sébastien

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

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