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
toregreb
Actif
Messages : 2510
Inscription : 20 août 2014, 22:19

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

Message par toregreb » 27 août 2016, 09:11

Cette partie du code à été développée par un forumer, ça correspond à la fonction statistique dans la doc sur les scénarios. Il y a un fil sur le sujet, pas simple à trouver.
Jeedom v2.2.6 sur RPi2+razberry (Zwave)+RFXCom, Enocean et MySensors.
[TUTO]Index HP/HC avec pinces Ampèremétriques
Trucs&Astuces

Avatar de l’utilisateur
Tauks
Actif
Messages : 530
Inscription : 04 avr. 2015, 19:57
Localisation : Strasbourg

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

Message par Tauks » 27 août 2016, 12:08

Sans doute que @winhex peut enrichir son post avec tes trouvailles et que @sshafi indexera le tout si ce n'est déjà fait.
Mon blog "Domotique & IoT": ici
Mon matériel: ici

Avatar de l’utilisateur
fwehrle
Actif
Messages : 2824
Inscription : 01 juil. 2015, 11:03
Localisation : Strasbourg

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

Message par fwehrle » 30 août 2016, 16:57

Hello,

Petite question annexe : il m'arrive de taper des fonctions php directement dans un champ message d'un équipement dans un scénario.
La fonction substr, par ex., fonctionne très bien et me permet de couper une géolocalisation en 2 pour envoyer longitude et latitude dans un message, pour un script, par ex..
Ca marche pas mal, mais j'ai remarqué que la fonction strpos renvoi des résultats étrange (rien, zéro, ou la taille complète de ma string).

Une idée?
Jeedom 3 sur Debian 9 en VM Proxmox 5 sur NUC Intel.
(Anciennement sur Docker sur Syno DS-415+ / MariaDB / DSM 6)
Teleinfo / RFXCom / Stick ZWave / IPX / Serveur Traccar / Blea

Avatar de l’utilisateur
SebT
Timide
Messages : 124
Inscription : 06 mai 2016, 13:57
Localisation : Proche Strasbourg

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

Message par SebT » 05 sept. 2016, 11:15

Génial pour moi ce post. Merci Winhex!

Je galérais pour réussir à faire des choses en code et là j'ai tout compris.

Je rejoins l'avis général que ce genre d'exemple devrait avoir sa place dans la doc section code car sinon la doc est inexploitable pour quelqu'un qui n'est pas programmeur.
DIY RPi3 + HDD SSD
- RFXCom
- 9 sondes Oregon (8 THGN132N + 1 THGR810)
- 3 Owl CM180i
- 2 modules DIO 54755 1000W
- 1 Nest Protect
- 2 Détecteur de fumée CHACON 34126
- 1IPX800v4 avec 3 X4VR + 1 X8R

androdomus
Timide
Messages : 107
Inscription : 25 mai 2015, 03:53

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

Message par androdomus » 18 sept. 2016, 00:42

Bonsoir,
Merci pour les commandes, c'est pile poil ce que je cherchais ,surtout la récupération et modification d'une variable.
Du coup je voudrais l'utiliser avec tasker, quelqu'un saurait comment appeler un script php avec une tache de tasker afin de modifier une variable jeedom?
JeeDoM 3.2.12 sur Smart

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

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

Message par winhex » 18 sept. 2016, 08:57

je vais être pennible
pause ta question ailleurs (on te répondra) si tu veux plus de detail
la seul raison : pour servir à d'autres et la fonction code n'est pas indispensable. (je ne l'utilise pas pour tous).

indice
tasker sur info/action virtuel (via api) l'info scénarisé qui actualise ta variable

androdomus
Timide
Messages : 107
Inscription : 25 mai 2015, 03:53

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

Message par androdomus » 19 sept. 2016, 22:36

Bonsoir désolé pour ma réponse tardive et d'avoir polluer ton post j'en ouvrirai un sur "Discussion général" en détaillant mon besoin.
JeeDoM 3.2.12 sur Smart

olfax
Timide
Messages : 191
Inscription : 02 sept. 2014, 14:21

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

Message par olfax » 07 nov. 2016, 13:18

Merci pour ce post qui m'a permis de résoudre un problème.
Master : VM Debian ( Virtualbox) Ipx800 v2,zwave(vr,relaySwitch,oeil), xpl(oregon), x10(dimmer,relay), rfxcom(Lan) nodemcu , JPI

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

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

Message par winhex » 12 nov. 2016, 23:41

ajout
pour cacher/rendre visible une info/commande / rafraichir la page

Code : Tout sélectionner

$o=cmd::byId(1647);
$o->setIsVisible(0); // valeur à 1 pour rendre visible
$p=$o->save();
Image

pour l'equipement (la tuile) la commande simplifié existe
Dernière édition par winhex le 25 févr. 2017, 09:23, édité 2 fois.

Avatar de l’utilisateur
dric
Timide
Messages : 188
Inscription : 12 juil. 2016, 15:53

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

Message par dric » 17 déc. 2016, 10:33

Savez-vous, en PHP donc, récupérer la commande qui a déclenché un scénario ?

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 » 17 déc. 2016, 11:24

Bonjour,

$scenario->getTrigger();
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

Avatar de l’utilisateur
dric
Timide
Messages : 188
Inscription : 12 juil. 2016, 15:53

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

Message par dric » 17 déc. 2016, 12:01

Visiblement cette fonction renvoie la liste des événements qui peuvent déclencher le scénario.

Tu m'as quand même mis sur la piste, j'ai trouvé la fonction qui retourne celui qui exécute le scénario :
$scenario->getRealTrigger()

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

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

Message par winhex » 18 déc. 2016, 01:22

dric a écrit :J'ai passé beaucoup de temps pour trouver le fonctionnement, donc le partage fera gagner du temps j'espère.
La doc est vraiment inexistante, heureusement que le source est disponible, ça aide !

Une autre fonction intéressante history::getStatistique.

Plus simple pour faire la même chose : Dernière valeur d'hier :

Code : Tout sélectionner

$cmdId = cmd::byString("#[Z][X][value]#")->getId();
$debut = date("Y-m-d H:i:s", strtotime("Yesterday"));
$fin = date("Y-m-d H:i:s", strtotime("Today"));  

$value = history::getStatistique($cmdId, $debut, $fin)["last"];
Plusieurs index possibles : avg, min, max, sum, count, std, variance, last
merci pour tes trouvailles

j'ai edité et ajjouté mais si tu veux allé plus loin j'ai retrouvé (pour le mode avancé bien que le script fasse tous à adapter selon son besoin en faite)
Il suffit de remplir les paramètres en début de code avec
la commande

le prefix du nom des variables qui seront générées
la date de début de recherche
la date de fin de recherche

Ensuite le code récupère dans la base

la valeur minimale
l'horodate de la valeur minimale
la valeur maximale
l'horodate de la valeur maximale
la moyenne

et place tout cela dans les variables

prefixMin
prefixMinDate
prefixMax
prefixMaxDate
prefixMoy
viewtopic.php?f=32&t=17908&p=322540#p322540

yoguiti
Timide
Messages : 69
Inscription : 30 sept. 2015, 10:09

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

Message par yoguiti » 24 déc. 2016, 17:45

Bonjour,

Serait-il possible de rajouter la commande suivante, qui a été oubliée?

Pour exécuter une commande action avec message:
$cmd=cmd::byString('#[MAISON][TEST][nom]#');
$cmd->execCmd($options=array('title'=>'Jeedom', 'message'=> "Bla Bla bla"), $cache=0);

Super merci !

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

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

Message par winhex » 24 déc. 2016, 21:35

pour la petite histoire du pas déjà fait.
avec les précédente version au redémarrage.les info etaient à rien, donc je passais, passe encore : avec des variables.

thk ! fait

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

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

Message par nou » 10 janv. 2017, 23:49

Bonsoir à tous,
j'ai pas réussi à trouver comment faire du 'DANS' ou du 'A' en code ?

merci

Swatmorpheus
Actif
Messages : 919
Inscription : 23 avr. 2015, 14:38
Localisation : Haute Gironde

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

Message par Swatmorpheus » 23 févr. 2017, 13:40

nou a écrit :Bonsoir à tous,
j'ai pas réussi à trouver comment faire du 'DANS' ou du 'A' en code ?

merci
+1 je cherche aussi sur le fofo mais rien trouvé dans les post pour l'instant
Prod: jeedom V3.2.12 DIY RPI3 + Zwave (fibaro) + Zigbee (xiaomi) + IPXV4 + X4VR
AppleTV4k
PI3 : Max2play
PiZéro: PiCoreplayer
Mini+: OpenElec 7.0.1 Kodi 16.1 Jarvis
En préinstall pour migration: Nuc hystou ,ESXi6.7,jeedom V3.2.12, LMS ,Owncloud

Avatar de l’utilisateur
noodom
Actif
Messages : 982
Inscription : 13 juil. 2014, 17:25
Contact :

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

Message par noodom » 24 févr. 2017, 13:36

Merci pour ce récap, je risque d'y revenir dessus souvent !

olfax
Timide
Messages : 191
Inscription : 02 sept. 2014, 14:21

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

Message par olfax » 28 févr. 2017, 19:20

A ajouter éventuellement en debut d'article :

Récupérer la valeur et la date de derniere mise à jour

Code : Tout sélectionner

$cmd=  cmd::byId($sonde);
$value = $cmd->execCmd();
$collectDate = $cmd->getCollectDate(); 
Sinon, comment fait on dans du code Php pour remonter un message "Jeedom" ?
Master : VM Debian ( Virtualbox) Ipx800 v2,zwave(vr,relaySwitch,oeil), xpl(oregon), x10(dimmer,relay), rfxcom(Lan) nodemcu , JPI

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 2017, 01:45

merci, j'ai pas compris la question

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

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