Jeedom V4 le positionnement GPS

La version V4 de jeedom permet de rajouter des informations de configuration GPS de votre domicile. Ce positionnement est accessible aux plugins, … mais pas directement dans les scénarios.

Comme je suis l’adepte de ne pas dupliquer l’information inutilement, si vous en avez besoin, le plus simple est alors d’utiliser un bloc code et dans le bloc config avec comme clé

  • Pour la latitude info::latitude
  • Pour la longitude -: info::longitude
  • Et pour l’altitude : info::altitude

voir l’aide en ligne : https://jeedom.github.io/documentation/phpdoc/classes/config.html

Alors, à quoi peut servir cette information ? Et bien, on peut par exemple l’utiliser pour calculer les heures de lever / coucher du soleil sans passer par internet :

$latitute=config::byKey("info::latitude");
$longitude=config::byKey("info::longitude");
$sun_info = date_sun_info(time(), $latitute, $longitude);
$sunrise = date("Hi", $sun_info["sunrise"]);
$sunset = date("Hi", $sun_info["sunset"]);

//On peut ensuite soit stocker la valeur
cmd::byString('#[Météo][infos][lever]#')->event($sunrise);
cmd::byString('#[Météo][infos][coucher]#')->event($sunrise);
// ou envoyer a un scénario
$scenario->setData('sunrise', $sunrise);
$scenario->setData('sunset', $sunset);

Bien sûr, comme d’habitude avec jeedom, il existe 36 méthodes pour réaliser cette opération. Vous pouvez également utiliser le plugin meteo, qui marche très bien mais passe par internet. Ou si vous souhaitez le calculer dans votre jeedom, je conseille le script de Kiboost, très bien expliqué, et qui se base : https://github.com/KiboOst/php-sunPos/tree/master/Jeedom

Moi je retourne débugger mes scénarios !

Monitoring via monit et letsencrypt

Après avoir perdu une soirée à résoudre le souci … Je pense que cela mérite un petit article.

L’installation de monit sur un serveur peut s’avérer complexe si on doit la relier à un serveur signé par letsencrypt ;

En effet, monit ne supporte pas le format des certificats du certbot de letsencrypt ET ne permet d’avoir que des droits 600 sur le fichier (grrr).

Il faut donc rajouter un hook de déploiement. Un exemple de hook est disponible ici :

https://www.ringingliberty.com/2017/12/30/monit-lets-encrypt-and-file-permissions/

#!/bin/bash

for domain in $RENEWED_DOMAINS
do
    case $domain in
    example.com)
        cat $RENEWED_LINEAGE/privkey.pem $RENEWED_LINEAGE/fullchain.pem > /etc/monit/pemfile-$domain.pem
        chmod 600 /etc/monit/pemfile-$domain.pem
        ;;
done

Je remercie grandement l’auteur. Mais, l’article d’origine ne le précise pas, ce script de hook de déploiement est à installer (via root) dans l’emplacement:

/etc/letsencrypt/renewal-hooks/deploy

Ensuite, rulez!