Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités

Conseils, Guides et Tutos pour la domotique

Jeedom

Message » 23 Juin 2017 1:17

vacheatuba a écrit:Je n'arrive pas a faire le scenario suivant :
J'envoie une requete HTTP du PI3 (avec Jeddom) vers mon serveur. Si la requete renvoit quelque chose alors j'affiche "c'est up" sinon (timeout/erreur) j'affiche "c'est down"
la requete en question :
Code: Tout sélectionner
http://192.168.1.222:52199/MCWS/v1/Playback/Info?Zone=-1

renvoit :
Code: Tout sélectionner
<Response Status="OK">
<Item Name="ZoneID">10000</Item>
<Item Name="ZoneName">STereo</Item>
<Item Name="State">2</Item>
<Item Name="FileKey">2573</Item>
<Item Name="NextFileKey">2572</Item>
<Item Name="PositionMS">100499</Item>
<Item Name="DurationMS">191240</Item>
<Item Name="ElapsedTimeDisplay">1:40</Item>
<Item Name="RemainingTimeDisplay">-1:31</Item>
<Item Name="TotalTimeDisplay">3:11</Item>
<Item Name="PositionDisplay">1:40 / 3:11</Item>
<Item Name="PlayingNowPosition">1</Item>
<Item Name="PlayingNowTracks">17</Item>
<Item Name="PlayingNowPositionDisplay">2 of 17</Item>
<Item Name="PlayingNowChangeCounter">20</Item>
<Item Name="Bitrate">849</Item>
<Item Name="Bitdepth">16</Item>
<Item Name="SampleRate">44100</Item>
<Item Name="Channels">2</Item>
<Item Name="Chapter">0</Item>
<Item Name="Volume">0.2</Item>
<Item Name="VolumeDisplay">20% (-40,0 dB)</Item>
<Item Name="ImageURL">MCWS/v1/File/GetImage?File=2573</Item>
<Item Name="Artist">An Triskell (Herv_ et Pol Queff_l_ant)</Item>
<Item Name="Album">La Harpe Celtique</Item>
<Item Name="Name">An hader</Item>
<Item Name="Status">En lecture</Item>
</Response>


Merci pour votre aide

Je pense qu'il faut faire un script en sh... Enfin c'est ce que je ferai, je pense pas que les scénarios puissent faire ça.
C'est quoi la finalité ?

Envoyé de mon LG-H815 en utilisant Tapatalk

La configuration dans mon profil


Enceintes : JBL Pro (3677*3/8330*2/8320*4/3635*2) ; Ampli AV : Denon 6700, Yamaha P3500S, 12*UCD400
Lecteurs : DVL909 - OPPO 103EU - Xbox One X - PCHC-madVR - Projecteur : EPSON 9400 - Stockage : Netgear RN316 23To
.... Le tout piloté par Jeedom :-)
Patou100
Membre HCFR
Membre HCFR
 
Messages: 1203
Inscription Forum: 16 Juin 2001 2:00
Localisation: Florensac / Beziers
  • offline

Message » 24 Juin 2017 13:44

J'ai essayé avec un script externe :
Code: Tout sélectionner
curl -u admin:password http://192.168.1.222:52199/MCWS/v1/Playback/Info?Zone=-1 --max-time 2 --silent


sauf que ce con de jeedom me dit toujours :
Error on shell exec, return value : 28. Details : Array ( [0] => )
Alors qu'avec --silent il devrait me renvoyer une chaîne de caractère vide. Mais je me dis que j'ai raté un episode


Du coup mon scénario voit une erreur et n’exécute pas le test. Y'a pas moyen de gérer les erreurs dans jeedom ? Normalement en Java c'est finger in the noose
vacheatuba
Membre HCFR
Membre HCFR
 
Messages: 585
Inscription Forum: 23 Mai 2011 17:57
Localisation: Thouare, 44
  • offline

Message » 24 Juin 2017 13:48

vacheatuba a écrit:J'ai essayé avec un script externe :
Code: Tout sélectionner
curl -u admin:password http://192.168.1.222:52199/MCWS/v1/Playback/Info?Zone=-1 --max-time 2 --silent


sauf que ce con de jeedom me dit toujours :
Error on shell exec, return value : 28. Details : Array ( [0] => )
Alors qu'avec --silent il devrait me renvoyer une chaîne de caractère vide. Mais je me dis que j'ai raté un episode


Du coup mon scénario voit une erreur et n’exécute pas le test. Y'a pas moyen de gérer les erreurs dans jeedom ? Normalement en Java c'est finger in the noose

C'est pas le pauvre jeedom à incriminer, il faut essayer la commande à la main avec un telnet sur le serveur pour voir ce qu'elle retourne.

Est-ce que les packages curl sont correctement installés ?



Envoyé de mon LG-H815 en utilisant Tapatalk

La configuration dans mon profil


Enceintes : JBL Pro (3677*3/8330*2/8320*4/3635*2) ; Ampli AV : Denon 6700, Yamaha P3500S, 12*UCD400
Lecteurs : DVL909 - OPPO 103EU - Xbox One X - PCHC-madVR - Projecteur : EPSON 9400 - Stockage : Netgear RN316 23To
.... Le tout piloté par Jeedom :-)
Patou100
Membre HCFR
Membre HCFR
 
Messages: 1203
Inscription Forum: 16 Juin 2001 2:00
Localisation: Florensac / Beziers
  • offline

Message » 24 Juin 2017 14:49

Il y a plusieurs façon d'interagir avec des applications extérieures avec Jeedom, voilà quelques techniques que j'ai mis en oeuvre:

* Plugin Script (https://jeedom.com/doc_old/documentatio ... _FR/script)
Jeedom => Extérieur
Exemple, ma commande pour activer le mode nuit sur un système de surveillance vidéo
Création du commande de type
Code: Tout sélectionner
http://ip:port/cgi-bin/CGIProxy.fcgi?usr%3Dusr%26pwd%3Dpasswd%26cmd%3DcloseInfraLed

le retour de cette invocation peut être utilisé et injecté dans Jeedom

* Plugin Virtuel et HTTP API (https://jeedom.com/doc_old/documentatio ... _http.html)
Extérieur => Jeedom
Exemple: Eventghost surveille JRiver est notifie régulièrement Jeedom d'un changement d'état, en fonction de cet état il actionne une commande - les virtuels étant le meilleur moyen de concentrer une partie de la logique.
L'application externe invoque Jeedom avec http://#IP_JEEDOM#/jeedom/core/api/jeeApi.php?apikey=#APIKEY#&type=cmd&id=#ID# où ID est l'identifiant de la commande virtuelle à invoquer. On peut même définir la valeur d'un état dans un virtuel http://#IP_JEEDOM#/jeedom/core/api/jeeApi.php?apikey=#APIKEY#&type=virtual&id=#ID#&value=#VALUE#

Un virtuel stocke les informations:

Capture1.PNG


Eventghost invoque Jeedom http://#IP_JEEDOM#/jeedom/core/api/jeeApi.php?apikey=#APIKEY#&type=virtual&id=562&value=etatJriver
Où état est sous la forme MODE:MEDIA (MODE=PLAY/PAUSE/STOP et MEDIA=MUSIC/VIDEO)
Le virtuel étant modifié le script suivant est déclanché et consomme la donnée.

Capture2.PNG


* Code PHP dans un scénario
Jeedom => Extérieur
Exemple: J'invoque régulièrement mon projecteur pour connaitre son état de fonctionnement.
Un scénario Jeedom programmé toutes les minutes qui appelle le service HTTP du video projecteur. Dans le scénario choisir une action de type code.

Code: Tout sélectionner
// The data to send to the API
$postData = array(
    'req' => array('type' => 'get', 'category' => 'info')
);

// Create the context for the request
$context = stream_context_create(array(
    'http' => array(
        'method' => 'POST',
        'header' => "Authorization: Basic ". base64_encode("user:password"). "\r\n".
            "Content-Type: application/json\r\n",
        'content' => json_encode($postData)
    )
));

// Send the request
$response = file_get_contents('http://monIP/cgi-bin/web.cgi', FALSE, $context);

// Check for errors
if($response === FALSE){
    die('Error');
}

// Decode the response
$responseData = json_decode($response, TRUE);
$status= $responseData['power'];
switch ($status) {
    case 'STANDBY':
       $status='VEILLE';
        break;
    case 'POWER ON':
       $status='ALLUME';
        break;
    case 'COOLING1':
       $status='COOL 1';
        break;
    case 'COOLING2':
       $status='COOL 2';
        break;
    case 'POWER OFF':
       $status='ETEINT';
        break;
}

// Print the date from the response
$scenario->setData('vp_status', $status);

La configuration dans mon profil


-Mon Coin HC-
Vidéo: Sony VW-300ES - Daylight 0.9 16:9 2.65 Audio: 3 Crown XLS1500 - Focal Chorus 826V - CC800V- Profile IC-908 - Velodyne EQMax12
HTPC: Core i5 3570K (GTX 960, RME Fireface UC) - JRMC - AudioLense
Avatar de l’utilisateur
rlebrette
Membre HCFR
Membre HCFR
 
Messages: 2218
Inscription Forum: 25 Juil 2004 19:41
Localisation: Vraiment tout à côté de Nantes
  • offline

Message » 24 Juin 2017 15:06

Pour des traitements d'activation en dessous de 1 minute il faut privilégier une approche Extérieur => Jeedom parce que le scheduler de JRiver ne sait pas faire en dessous d'une minute.

Dans le cas de JRiver j'ai besoin de savoir dans la seconde qui suit que quelque chose à changé donc c'est la meilleure méthode.
Si on veut vérifier quelque chose de façon plus étalée les deux autres techniques sont suffisantes.

La configuration dans mon profil


-Mon Coin HC-
Vidéo: Sony VW-300ES - Daylight 0.9 16:9 2.65 Audio: 3 Crown XLS1500 - Focal Chorus 826V - CC800V- Profile IC-908 - Velodyne EQMax12
HTPC: Core i5 3570K (GTX 960, RME Fireface UC) - JRMC - AudioLense
Avatar de l’utilisateur
rlebrette
Membre HCFR
Membre HCFR
 
Messages: 2218
Inscription Forum: 25 Juil 2004 19:41
Localisation: Vraiment tout à côté de Nantes
  • offline

Message » 24 Juin 2017 15:44

EDIT : j'ai une solution :
Code: Tout sélectionner
curl -u admin:password http://192.168.1.222:52199/MCWS/v1/Playback/Info?Zone=-1 --max-time 2 --silent | wc -l

pour un script de type script qui s’exécute toutes les minutes (pour moi cela est suffisant)

Reste plus qu'à faire un scénario provoqué par mon script (mais on aurait pu faire l'inverse) avec un bete IF #[Bus][Etat Jriver][Jriver ON]# == 0 THEN ELSE.

Merci pour le coup de main :thks:
Dernière édition par vacheatuba le 24 Juin 2017 16:36, édité 2 fois.
vacheatuba
Membre HCFR
Membre HCFR
 
Messages: 585
Inscription Forum: 23 Mai 2011 17:57
Localisation: Thouare, 44
  • offline

Message » 24 Juin 2017 16:03

vacheatuba a écrit:Les packages sont correctement installés car quand ej passe par ssh, mes commandes curl fonctionnent sans soucis. Il n'y a pas de message d'erreur :
Code: Tout sélectionner
root@jeedom:~# curl -u admin:password http://192.168.1.222:52199/MCWS/v1/Playback/Info?Zone=-1 --max-time 2 --silent
root@jeedom:~#

Par contre quand je fais sauvegarder, j'ai le message :
Error on shell exec, return value : 28. Details : Array ( [0] => )

@rlebrette : le Jriver ne renvoit aucun format supporté par Script (c'est pas du html, xml, json :evil: ) . Au début je me disais osef car j'intercepte l'erreur, mais en fait, non ... Reste tes solutions avec eventghost, cela veut donc dire un enieme logiciel à installer... Mais au moins je te remercie pour ces 2 solutions proposés qui sont très bien documentées. :thks:

=> Jeedom ne sait pas gérer les erreurs dans les scenarii

Je vois que tu executes ton script en root, c'est pas ça qui fonctionnerait pas, car jeedom utilise un user spécifique

Envoyé de mon LG-H815 en utilisant Tapatalk

La configuration dans mon profil


Enceintes : JBL Pro (3677*3/8330*2/8320*4/3635*2) ; Ampli AV : Denon 6700, Yamaha P3500S, 12*UCD400
Lecteurs : DVL909 - OPPO 103EU - Xbox One X - PCHC-madVR - Projecteur : EPSON 9400 - Stockage : Netgear RN316 23To
.... Le tout piloté par Jeedom :-)
Patou100
Membre HCFR
Membre HCFR
 
Messages: 1203
Inscription Forum: 16 Juin 2001 2:00
Localisation: Florensac / Beziers
  • offline

Message » 24 Juin 2017 16:37

En fait ce sont les identifiants pour se connecter à Jriver ;) :mdr:
vacheatuba
Membre HCFR
Membre HCFR
 
Messages: 585
Inscription Forum: 23 Mai 2011 17:57
Localisation: Thouare, 44
  • offline

Message » 24 Juin 2017 17:38

Pour ce qui est d'EventGhost ça reste de loin une des références de l'automatisation d'un PC, il est léger et son moteur python permet d'étendre très facilement le système quand un plugin manque. Dans le cas de JRiver il y a un plugin d'EventGhost qui génère des événements en fonction de l'état de JRiver.
EventGhost étant aussi simple en temps qu'émetteur que récepteur HTTP on peut déclencherà partir de Jeedom des opérations comme arrêter le PC, commuter de configuration, passer une applicagtion en premier plan.

La configuration dans mon profil


-Mon Coin HC-
Vidéo: Sony VW-300ES - Daylight 0.9 16:9 2.65 Audio: 3 Crown XLS1500 - Focal Chorus 826V - CC800V- Profile IC-908 - Velodyne EQMax12
HTPC: Core i5 3570K (GTX 960, RME Fireface UC) - JRMC - AudioLense
Avatar de l’utilisateur
rlebrette
Membre HCFR
Membre HCFR
 
Messages: 2218
Inscription Forum: 25 Juil 2004 19:41
Localisation: Vraiment tout à côté de Nantes
  • offline

Message » 27 Juin 2017 23:40

Quelqu'un a osé la 3 ?
vacheatuba
Membre HCFR
Membre HCFR
 
Messages: 585
Inscription Forum: 23 Mai 2011 17:57
Localisation: Thouare, 44
  • offline

Message » 01 Juil 2017 8:35

J'ai basculé sur la v3 hier soir sans aucun soucis.
J'en ai profité pour acheter le plugin orvibo à 4€.
Tout est fonctionnel pour mon cas simple: Zwave + Orvibo + virtuel etc.

Changelog ICI
vacheatuba
Membre HCFR
Membre HCFR
 
Messages: 585
Inscription Forum: 23 Mai 2011 17:57
Localisation: Thouare, 44
  • offline

Message » 23 Nov 2017 12:19

Salut
juste pour te remercier pour ton super document

Je vais essayé de me lancer dans la domotique (jeedom)

Bonne journée
yannickinlive
 
Messages: 29
Inscription Forum: 12 Oct 2014 10:31
  • offline

Message » 27 Juin 2020 16:35

J'ai mis à jour le document pour intégrer dans jeedom le HDMI CEC (et hop ma TV s'éteint)
vacheatuba
Membre HCFR
Membre HCFR
 
Messages: 585
Inscription Forum: 23 Mai 2011 17:57
Localisation: Thouare, 44
  • offline

Message » 09 Aoû 2020 18:44

Hello
Est-ce que quelqu'un utilise Jeedom avec un Raspberry Pi ? Si oui, quel module utilisez-vous pour gérer l'infrarouge ? :thks:
Kroutch
 
Messages: 6189
Inscription Forum: 30 Oct 2009 11:29
Localisation: Entre Muscadet et HellFest (44)
  • offline

Message » 10 Aoû 2020 10:10

Oui, broadlink RM pro et mini. Connectés en wifi et pilotés par jeedom.

La configuration dans mon profil


Enceintes : JBL Pro (3677*3/8330*2/8320*4/3635*2) ; Ampli AV : Denon 6700, Yamaha P3500S, 12*UCD400
Lecteurs : DVL909 - OPPO 103EU - Xbox One X - PCHC-madVR - Projecteur : EPSON 9400 - Stockage : Netgear RN316 23To
.... Le tout piloté par Jeedom :-)
Patou100
Membre HCFR
Membre HCFR
 
Messages: 1203
Inscription Forum: 16 Juin 2001 2:00
Localisation: Florensac / Beziers
  • offline


Retourner vers Domotique

 
  • Articles en relation
    Dernier message