Aller au contenu

jpr105

Membres confirmés
  • Compteur de contenus

    91
  • Inscription

  • Dernière visite

Réputation sur la communauté

16 Good

À propos de jpr105

  • Rang
    Membre interessé
  • Date de naissance 29/11/1949

Profile Information

  • Sexe :
    Homme
  • Ville :
    Metz
  • Intéret :
    Tant que la curiosité sera là ...
  • Box
    Home Center 2
  • Version
    4.510

Visiteurs récents du profil

571 visualisations du profil
  1. Bonjour @pepite, Excuse pour le retard à te répondre mais j'étais en vacances et mon GreenIQ a parfaitement fait le job sous Domoticz pendant cette période : oui je vais plancher sur les échanges Domoticz/Fibaro en m'inspirant de ton post du 7 juin oui FibaroLink semble prometteur mais as-tu vu la mise en garde concernant son obsolécence ? Perso j'ai essayé et ce ne fut pas concluant Je vais donc m'y mettre tranquillement, en attendant je voulais te faire part de ce lien : GreenIQ reconditionné Domoticz qui pourrait t'intéresser Cordialement - Jean-Paul
  2. Cool merci, tu m'redonnes espoir ... je teste ça ASAP
  3. Bonjour @pepite Oui c'est du LUA et on n'est pas trop perdu. Par contre FibaroLink me parait obsolète et/ou je me suis planté dans mes tests ... pourtant cela semblait prometteur Have a look here Du coup j'essaie cela mais c'est galère et ça ne marche pas : http://NomUtilisateur@Mail:Password@192.168.10.35/api/callAction?deviceID=321&name=sendPush&arg1="Essai d'envoi de push via Fibaro" idem pour écrire dans une variable globale Fibaro Je pense que je devrais utiliser l'api en V4 et mieux gérer la partie identification (User/Password) mais là je suis à la limite de mes compétences, il me faudrait un coup d'pouce (je crois qu'il me faut faire un PUT à partir de Domoticz ... syntaxe, syntaxe ????) Pour te donner une idée voici un petit script en dzVents basé sur l'état de la variable CtrZ4Off qui envoie un mail lorsque mes séquences d'arrosage sont terminées : return { on = { variables = { 'CtrZ4Off', } }, execute = function(domoticz, variable) local CtrZ4 = variable.value -- Compteur de "Off" sur la zone 4 égal à 4 = envoi du message "fin d'arrosage" if CtrZ4 == 4 then local Jour = os.date("%d-%m-%Y") local Heure = os.date("%X") local Horo = " le " .. Jour .. " à " .. Heure local Texte = "" local bavard = true if bavard then domoticz.log("CtrZ4Off = " .. CtrZ4) end -- Envoi de l'information de fin d'arrosage Texte = "L′arrosage de notre pelouse s′est terminé" .. Horo if bavard then domoticz.log("--> Message = " .. Texte) end -- Par courriel domoticz.email("GreenIq - Fin d′arrosage", Texte, 'homegmjpr@gmail.com') end end }
  4. Coquin T'es rusé @pepite ... sûr que ça va être un bon plan En plus ça marche bien (je l'ai depuis 2 ans sans soucis), Domoticz ça a l'air solide et là j'essaie leur FibaroLink pour interagir avec ma HC2 ... Tout ça sans Cloud ... merci à GreenIG d'avoir mis la clef sous la porte
  5. Bonjour, Aujourd'hui je voudrais vous faire remonter une info concernant le GreenIQ. En effet, et je suis d'accord avec @Lazer, nous sommes dans un système dépendant d'un Cloud avec des risques de faillite du prestataire Et ce qui devait arriver arriva ... GreenIQ a fermé ses portes et du coup mon système ne fonctionne plus Heureusement ... et c'est l'exception qui confirme la règle ... Planète-Domotique s'est penché sur le sujet ici et bingo ... voilà un système fully opérationnel, géré en local et maitrisé en interne ... que du bonheur Je ne vais surtout pas dire merci à l'obsolescence programmée mais, en l'occurence, cela fait bien nos affaires Have a good day
  6. jpr105

    J’ai craqué....

    Tu comprends donc mieux ma demande : je cherche à piloter l'abat-jour du salon avec la touche "domotique" N°1 de ma télécommande Harmony ... sachant que cet abat-jour est une ampoule Philips commandée exclusivement par le Hub ZigBee d'Alexa ! OK je peux dire "Alexa, éteins l'abat-jour" mais ce serait nickel de le commander AUSSI via la télécommande Harmony et/ou l'appli Fibaro. D'où cette demande d'amélioration exposée ici : Ouvrir l'accès au Hub ZigBee de l'Echo plus ... et, sans vouloir être relou, n'hésite pas à voter pour Cordialement - Jean-Paul
  7. jpr105

    J’ai craqué....

    C’est une LG 55EG920V mais peut importe le modèle, ce qui fait la différence c’est la Harmony Élite ... un vrai bijou cet engin. Grâce au logiciel My Harmony et à HA-Bridge on peut quasi tout faire. Cordialement - Jean-Paul
  8. jpr105

    J’ai craqué....

    Bonjour, Finalement j'ai pas mal échangé avec le support Alexa et ils m'ont conseillé de poster une demande d'évolution qui sera prise en compte, ou non, en fonction des votes recueillis (ils utilisent UserVoice.com pour gérer toutes ces demandes). Vos coups de pouces seront donc bienvenus en allant voter ici : Locally control ZigBee devices connected to my Echo Plus Hub Merci d'avance - Jean-Paul PS : je m'éclate vraiment avec Alexa ... je cherchais un moyen de fédérer toutes mes différentes applis en un seul et même outil et ça commence à le faire Commandes vocales 'Saulny' disponibles au 29/12/2018 1 - Concernant les lampes du bas : Alexa, allume l'abat-jour ----> seul appareil commandé en ZigBee Alexa, éteins l'abat-jour Alexa, règle l'abat-jour à x% Alexa, allume l'étagère Alexa, éteins l'étagère Alexa, allume le plafonnier du salon Alexa, éteins le plafonnier du salon Alexa, règle le plafonnier du salon à x% Alexa, allume l'applique Alexa, éteins l'applique Alexa, règle l'applique à x% Alexa, allume le plafonnier de la salle à manger Alexa, éteins le plafonnier de la salle à manger Alexa, règle le plafonnier de la salle à manger à x% Alexa, allume le rez-de-chaussée Alexa, éteins le rez-de-chaussée Alexa, allume le soir ----> concerne Abat-jour, Etagère et Applique Alexa, éteins le soir Alexa, allume le jardin Alexa, éteins le jardin Alexa, allume la cour Alexa, éteins la cour 2 - Appartée concernant l'étagère, l'applique et le plafonnier du salon ----> Ces lampes se commandent aussi par la télécommande Harmony, touches domotiques 2, 3 et 4 ----> La touche domotique 1 est réservée à l'abat-jour qui sera peut-être commandé par autre chose qu'Alexa 3 - Concernant les volets roulants Alexa, ouvre les volets Alexa, ferme les volets ----> tous sauf celui de la véranda Alexa, ferme les volets 4 - Concernant le multimédia Alexa, allume la télé Alexa, éteins la télé Alexa, allume le replay ----> pour SmartShare Alexa, allume le lecteur ----> pour le Blu-ray OPPO Alexa, allume la Chromecast Alexa, la Une Alexa, la Deux Alexa, la Trois Alexa, Canal Plus Alexa, la Cinq Alexa, la Six Alexa, Arte Alexa, plus fort la télé Alexa, moins fort la télé Alexa, pas de son Alexa, remets le son 5 - Concernant le multi-room (SoundTouch Bose) Alexa, mets ... nom de la radio ... sur le salon Alexa, mets ... nom de la radio ... sur la salle à manger Alexa, mets ... nom de la radio ... sur la cuisine 6 - Concernant Netatmo Alexa, quelle est la température dans la véranda Alexa, règle la température véranda à xx ou xx.y (dire point et non virgule) Alexa, demande à Netatmo quelle est la température extérieure Alexa, demande à Netatmo quelle est l'humidité extérieure Alexa, demande à Netatmo quelle est la vitesse du vent Alexa, demande à Netatmo quelle est la température intérieure Alexa, demande à Netatmo quelle est la température intérieure dans la réserve 7 - Services Alexa, départ ----> pour signaler notre départ de la maison à Welcome Netatmo Alexa, retour ----> pour signaler notre retour à Welcome Netatmo Alexa, redémarre le pont ----> pour redémarre le pont Philips Hue virtuel, en fait redémarre le Raspberry Alexa, coupe le Oui Fi ----> pour couper le Wi-Fi la nuit ... et Alexa coupe la branche sur laquelle elle est assise ! Alexa, découvre mes appareils
  9. jpr105

    pb volet roulant

    Perso j'ai testé et laissé tomber le skill Fibaro qui "ramène" trop de choses à Alexa. J'ai privilégié HA-Bridge. Il reconnait bien tout l'univers Fibaro et on peut ainsi "donner à voir" à Alexa que ce que l'on souhaite ... C'est un peu plus fastidieux mais au combien plus "propre" et plus "maitrisé" Bon courage
  10. Bonjour les amis, Rien que le titre tient de l'exploit et comme le dit @Nico ici ... cela va être compliqué ... En bref, je souhaite avoir accès aux périphériques ZigBee connectés à mon Echo Plus. Après contact avec le support développeurs de chez Amazon, il m'a été demandé de poster ma demande sur leur site "boîte à idées", ce que j'ai fait ici : https://alexa.uservoice.com/forums/906892-alexa-skills-developer-voice-and-vote/suggestions/36349165-locally-control-zigbee-devices-connected-to-my-ech Sachant que ceci est basé sur un système de votes, puis-je compter sur vous pour "propulser" cette idée dans le top 10 grâce à vos votes zélés et empressés Merci d'avance et bonnes fêtes à tous - Jean-Paul
  11. jpr105

    J’ai craqué....

    C’est un peu la piste à laquelle je pensais : API Alexa ... bonjour le « chronophage »
  12. jpr105

    J’ai craqué....

    Bonjour @Nico Je crois que l'on ne parle pas de la même chose ... ou bien tu as répondu à un autre post Je parle de l'ampoule Philips HUE livrée avec Alexa et commandée seulement par Alexa. Je précise que je n'ai pas de Hub HUE hormis le « Virtuel » HA-Bridge
  13. jpr105

    J’ai craqué....

    Bonjour les amis, Donc le Black Friday aidant j'ai craqué moi aussi et j'ai pris le kit « Nouvel Echo Plus (2ème génération), Tissu sable + Ampoule connectée Philips Hue » https://www.amazon.fr/gp/product/B07H334QWK/ref=oh_aui_detailpage_o01_s00?ie=UTF8&th=1. Je pensais avoir un pont vers le monde ZigBee ... et bien ce n'est pas si simple. L'ampoule livrée avec le kit est bien commandable par Alexa mais j'aimerais aussi l'inclure dans le monde « Fibaro » (Http, Api, HA-Bridge, VD ... que sais-je ?) Quelqu'un a t-il une idée SVP ? Merci d'avance - Jean-Paul
  14. Non je n'avais rien trouvé sur le projo dans les API ... peut-être mal cherché En tout cas, depuis qu'elles (les caméras Netatmo) sont passées compatibles HomeKit et que je peux dire « SIRI allume le projecteur du jardin » ça m'a un peu énervé et j'ai repris mes recherches pour en arriver là
  15. Bonjour, Voilà un moment que je cherchais le moyen de piloter les projecteurs de mes caméras « Présence » (j'en ai une côté cour et une autre côté jardin). C'est chose faite et je partage ma solution si cela peut aider quelqu'un. Tout d'abord merci à @KiboOst, qui « sévit » sur le forum jeedom, pour son excellent « php-simpleNetatmoAPI ». D'après ce que j'ai compris il s'agit d'un travail de reverse engineering qui s'est terminé par un retour aux API Netatmo ... sauf, qu'en fouillant dans les API officielles de Netatmo, je n'ai trouvé nulle part le moyen de piloter l'allumage du projecteur et encore moins de gérer sa luminosité ! Donc ma solution : - Côté Serveur (mon Raspberry) installation des composants de « php-simpleNetatmoAPI » sur mon Raspberry création d'un fichier TXT de paramétrage de l'API et des projecteurs écriture d'un script PHP destiné à exécuter une action sur un projecteur - Côté Home Center création d'un VD pour piloter mes 2 projecteurs simultanément ... outil prêt pour une utilisation future, ex : allumer tous les extérieurs de la maison en cas de fête et/ou d'intrusion Un peu de contenu si cela vous intéresse : Côté HC2, le VD et ses icônes Côté Raspberry, le fichier TXT et le script PHP Et voilou ... enjoy Cordialement - Jean-Paul Le VD L'export du VD est disponible en fichier joint. Sur le Raspberry 1 - Fichier texte de paramètrages User=.......... Password=.......... ClientId=.......... ClientSecret=.......... Projo1Home=3 Projo1Name=Présence avant Projo2Home=1 Projo2Name=Présence arrière 2 - Script PHP <?php //-------------------------------------------------------------------------------------------------- // // Script de commande du projecteur d'une caméra Presence Netatmo // // Inspiration : https://github.com/KiboOst/php-simpleNetatmoAPI // // Principe : // 1 - Les infos de connexion sont enregistrées dans un fichier texte sur ce serveur // . les 4 premières lignes sont dédiées à la connexion à l'API Netatmo // . puis une paire de lignes par caméra (ligne 1 = code 'Maison', ligne 2 = nom 'Présence') // 2 - Pour connaître les 'Home' et 'Name' des projecteurs : // . ne saisir que les 4 premières lignes dans le fichier texte // . lancer le script comme ceci : /ProjoAutoOnOff.php?projo=1&action=on // . lire ce qui s'affiche // . rechercher "Si le nombre de projecteurs est égal à zéro" dans le code // . débloquer/dupliquer les lignes en commentaires en remplacant 'xx' par le/les codes 'Maison' // 3 - En entrée : // . le numéro du projecteur à piloter (1 ou 2 ... ou plus) // . la commande à envoyer au projecteur ('auto', 'on' et 'off') // 4 - En sortie : // . commande OK // . commande non effectuée car le projo est déjà à l'état demandé // . autre (erreur) // //-------------------------------------------------------------------------------------------------- $Verbose = false; /* Validation du code action */ $Action = $_GET["action"]; if (strlen($Action) == 0) { exit('Missing action code'); } else { if ($Action != 'auto' and $Action != 'on' and $Action != 'off') { exit('Invalid action code'); } } if ($Verbose) {echo 'Code action ----> ', $Action, '<br>';} /* Récupération du numéro de projecteur */ $NumProjo = $_GET["projo"]; if (strlen($NumProjo) == 0) { exit('Missing floodlight number'); } if ($Verbose) {echo 'Numéro de projecteur ----> ', $NumProjo, '<br>';} /* Ouverture du fichier des infos de connexion au routeur et retourne un tableau contenant une ligne par élément */ $lines = file('ProjosCredentials.txt'); $NbLines = count($lines); if ($Verbose) { foreach ($lines as $lineNumber => $lineContent) { echo $lineNumber,' ',$lineContent, '<br>'; } echo 'Nombre de lignes : ', $NbLines, '<br>'; } /* Vérification du nombre de lignes */ if (($NbLines % 2) == 1) { exit('Invalid line number (odd)'); } /* Chargement des variables de connexion */ $Netatmo_User = ""; $Netatmo_Psw = ""; $Netatmo_ClientID = ""; $Netatmo_ClientSecret = ""; /* ----> Netatmo User */ $mystring = trim($lines[0]); $findme = 'User='; $pos = strpos($mystring, $findme); if ($pos === false) { echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'", '<br>'; exit('Error retrieving Netatmo User'); } else { if ($pos <> 0) { echo 'La chaîne ', $findme, ' n\'est pas au début de ', $mystring, '<br>'; exit('Error retrieving Netatmo User'); } else { if ($Verbose) {echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring' et débute à la position $pos", '<br>';} $Netatmo_User = substr($mystring, strlen($findme)); } } /* ----> Netatmo Password */ $mystring = trim($lines[1]); $findme = 'Password='; $pos = strpos($mystring, $findme); if ($pos === false) { echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'", '<br>'; exit('Error retrieving Netatmo Password'); } else { if ($pos <> 0) { echo 'La chaîne ', $findme, ' n\'est pas au début de ', $mystring, '<br>'; exit('Error retrieving Netatmo Password'); } else { if ($Verbose) {echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring' et débute à la position $pos", '<br>';} $Netatmo_Psw = substr($mystring, strlen($findme)); } } /* ----> Netatmo Client ID */ $mystring = trim($lines[2]); $findme = 'ClientId='; $pos = strpos($mystring, $findme); if ($pos === false) { echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'", '<br>'; exit('Error retrieving Netatmo Client ID'); } else { if ($pos <> 0) { echo 'La chaîne ', $findme, ' n\'est pas au début de ', $mystring, '<br>'; exit('Error retrieving Netatmo Client ID'); } else { if ($Verbose) {echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring' et débute à la position $pos", '<br>';} $Netatmo_ClientID = substr($mystring, strlen($findme)); } } /* ----> Netatmo Client Secret */ $mystring = trim($lines[3]); $findme = 'ClientSecret='; $pos = strpos($mystring, $findme); if ($pos === false) { echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'", '<br>'; exit('Error retrieving Netatmo Client Secret'); } else { if ($pos <> 0) { echo 'La chaîne ', $findme, ' n\'est pas au début de ', $mystring, '<br>'; exit('Error retrieving Netatmo Client Secret'); } else { if ($Verbose) {echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring' et débute à la position $pos", '<br>';} $Netatmo_ClientSecret = substr($mystring, strlen($findme)); } } /* Chargement des numéros de projecteurs */ $i = 4; $NbProjo = 0; $TabProjo = array(); while ($i < $NbLines) { $NbProjo = $NbProjo + 1; $mystring = trim($lines[$i]); $findme = 'Projo' . $NbProjo . 'Home='; $pos = strpos($mystring, $findme); if ($pos === false) { echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'", '<br>'; exit('Error retrieving Floodlight' . $NbProjo . ' Home'); } else { if ($pos <> 0) { echo 'La chaîne ', $findme, ' n\'est pas au début de ', $mystring, '<br>'; exit('Error retrieving Floodlight' . $NbProjo . ' Home'); } else { if ($Verbose) {echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring' et débute à la position $pos", '<br>';} $TabProjo[$NbProjo][1] = substr($mystring, strlen($findme)); } } $i = $i + 1; $mystring = trim($lines[$i]); $findme = 'Projo' . $NbProjo . 'Name='; $pos = strpos($mystring, $findme); if ($pos === false) { echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'", '<br>'; exit('Error retrieving Floodlight' . $NbProjo . ' Name'); } else { if ($pos <> 0) { echo 'La chaîne ', $findme, ' n\'est pas au début de ', $mystring, '<br>'; exit('Error retrieving Floodlight' . $NbProjo . ' Name'); } else { if ($Verbose) {echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring' et débute à la position $pos", '<br>';} $TabProjo[$NbProjo][2] = substr($mystring, strlen($findme)); } } $i = $i + 1; } if ($Verbose) { echo 'Netatmo User = ', $Netatmo_User, '<br>'; echo 'Netatmo Password = ', $Netatmo_Psw, '<br>'; echo 'Client ID = ', $Netatmo_ClientID, '<br>'; echo 'Client Secret = ', $Netatmo_ClientSecret, '<br>'; echo 'Nombre de projecteurs = ', $NbProjo, '<br>'; echo 'Table des projecteurs :', '<br>'; for ($i=1; $i<=$NbProjo; $i++) { echo 'Presence', $i, ' Home = ', $TabProjo[$i][1], ' - Presence', $i, ' Name = ', $TabProjo[$i][2], '<br/>'; }; } // Si le nombre de projecteurs est égal à zéro on récupère les infos "Homes" if ($NbProjo == 0) { require($_SERVER['DOCUMENT_ROOT']."/php-simpleNetatmoAPI/class/splNetatmoAPI.php"); $_splNetatmo = new splNetatmoAPI($Netatmo_User, $Netatmo_Psw, $Netatmo_ClientID, $Netatmo_ClientSecret); if (isset($_splNetatmo->error)) die($_splNetatmo->error); // Liste des maisons avec le nombre de caméras rattachées $homes = $_splNetatmo->getHomes(); echo "<pre><br>homes:<br>".json_encode($homes, JSON_PRETTY_PRINT)."</pre><br>"; // -------------------------------------------------------------------------------------------------------------------------------- // Remplacer 'xx' dans l'instruction suivante par le code maison obtenu et décommenter les lignes pour obtenir les infos 'Présence' // // $_splNetatmo = new splNetatmoAPI($Netatmo_User, $Netatmo_Psw, $Netatmo_ClientID, $Netatmo_ClientSecret, xx); // $Cameras = $_splNetatmo->getPresenceCameras(); // echo "<pre>Cameras:<br>".json_encode($Cameras, JSON_PRETTY_PRINT)."</pre><br>"; // --------------------------------------------------------------------------------------------------------------------------------- exit ('Please enter the projectors codes (House and Name)'); } /* Validation du numéro de projecteur */ if ($NumProjo < 1 or $NumProjo > $NbProjo) { exit('Invalid floodlight number'); } // C'est parti /* Récupération du statut du projecteur */ require($_SERVER['DOCUMENT_ROOT']."/php-simpleNetatmoAPI/class/splNetatmoAPI.php"); $ProjoHome = $TabProjo[$NumProjo][1]; $ProjoName = $TabProjo[$NumProjo][2]; $_splNetatmo = new splNetatmoAPI($Netatmo_User, $Netatmo_Psw, $Netatmo_ClientID, $Netatmo_ClientSecret, $ProjoHome); $Cameras = $_splNetatmo->getPresenceCameras(); $StatusProjo = $Cameras[$ProjoName]['light_mode_status']; if ($Verbose) { echo "<pre>Cameras :<br>".json_encode($Cameras, JSON_PRETTY_PRINT)."</pre><br>"; echo "Status du projo '", $ProjoName, "' de la maison '", $ProjoHome, "' = ", $StatusProjo, '<br>'; } /* Si le projo est déjà à l'état demandé on ne fait rien */ if ($Action == $StatusProjo) { if ($Verbose) {echo 'Changement du status du projecteur inutile - On arrête', '<br>';} exit('Floodlight already set'); } /* On passe le projo à l'état demandé */ $_splNetatmo->setLightMode($ProjoName, $Action); if ($Verbose) {echo "Projecteur passé à '", $Action, "'", '<br>';} exit('Floodlight set'); ?> Projecteurs_Caméras.vfib.json
×