[Présentation] Benj29 et blog Jeedom-Facile

Ca s achete ou ce type de device ?
Le client fonctionne en data ou sms ?
Car sim free = tres peu de data. Ceci dit le tracking n’est pas gourmant

Aliexpress, Amazon etc.
Se configure en SMS. Renvoie sa position par du data.
Oui suivant le polling configuré tu as peu de data. J’ai 5mo par mois avec un poll à 30min.

1 « J'aime »

Docker traccar installé en quleques instants et fonctionnel.
Je regarde ces devices du coup.
Selon toi quel est l avantage a utiliser traccar plutot que la position GPS avec macrodroid ou autre qui envoie sa position régulièrement ?

Pour les téléphones, uniquement les périmètres et le fait de savoir si quelqu’un est quelque part.

Pour le tracker, pas le choix car tu ne peux pas personnaliser la remontée.

Par exemple ma moto active son alarme (enfin jeedom) quand j’ai garé la moto et qu’elle est en pause 5min toute seule.

Pareil quand je pars le soir au moment de la désactiver madame sait que je pars du travail.

Autre modification, un peu dommage certes, mais au final, une fois le design bouclé, ce n’est pas bien long à mettre en place. C’est un peu l’arbre qui cache la forêt mais pour éliminer le problème de fusion des colonnes ou lignes qui sautent, j’ai modifié mes virtuels.

Bon, dans un souci de simplification et de temps passé nécessaire et compte tenu du fait que mon design est terminé, j’ai supprimé cette fonction JS et j’ai revu mes virtuels.

Cela m’a imposé de jouer avec des virtuels vides pour faire des titres et sur les 2 cas où je ne pouvais fusionner les colonnes de créer un sur-virtuel qui se superpose dessus…

Par exemple pour celui là :

C’est en fait trois virtuels :


Au final, sauf la localisation et celui-là, tout le reste c’est un virtuel titre que je superpose sur les cases vides.

De ce fait, plus de JS, plus de problème de refresh par JPI des tablettes à faire toutes les 2 min pour avoir un design présentable.

C’est un peu dommage, mais cela m’a pris au total 1h30…

Du coup, plus de code JS.
Côté JPI, j’ai simplement positionné le crontab à 10min par principe.

Attention, il vaut veiller à bien positionner le niveau des virtuels sur le design à 0 pour avoir un affichage propre des widgets popups au survol ou au clic.

Dernier ajout hier soir, le popup pour la remontée d’iopool. L’image est remontée par macrodroid, FTPdroid et Automate. Un interrupteur me permet d’activer ou non cette séquence si la sonde est installée dans la piscine.

Bonjour @benj29

Du coup tu utilises la méthode : [TUTO] Popup dans un design
pour les popup ou une autre méthode ?

Euh tu lis ce que j’ai écrit ou pas du tout… ? :wink:

J’avance doucement sur mon design. J’avoue manquer cruellement de temps, mais le plus gros est fait. Maintenant je nettoie peu à peu tous les virtuels que je centralise dans des tableaux par une gestion « popup ». Par contre, j’utilise la fonction « widget au clic » en ajoutant une zone.

Euh oui j’ai vu mais j’avoue que je ne connais pas ce " widget au clic"
Ne perd pas de temps, je fouille sur le forum…

Tu trouveras les infos dans la doc ici :

https://doc.jeedom.com/fr_FR/core/4.1/design

1 « J'aime »

Nouveauté que je ne connaissais pas. Merci.

Bonjour @benj29

Je n’avais pas eu le temps de repasser dans les parages, merci pour le retour du blog et pour les partages ici … bon pour les designs je ne suis pas encore au niveau mais ca viendra.

Du coup la contribution (modeste) a été faite et si besoin on la renouvellera bien sur :wink:

Asavar

1 « J'aime »

Ajout d’un widget pour la gestion de la piscine.

Pour simplifier la gestion du plugin piscine déjà très complet (mais trop), je m’appuie sur un interrupteur où j’ai programmé mes 2 modes d’utilisation.

L’hiver, je fixe une filtration à midi (11h30 / 12h30). La saison, la filtration est calculée par le plugin.
Pour protéger la pompe de piscine en cas de niveau d’eau trop bas, je récupère le niveau de l’eau par un simple capteur flottant inox (sur une PI jeedouino @revlys) avec les capteurs de température (pompe, eau, air). Pour éviter les rebonds de l’eau durant les vagues de filtration, j’active un scénario qui passe le niveau d’eau à KO au bout d’un niveau à 0 au bout de 5 min (pratique l’action si =0 pendant…). Il suffit de piloter un interrupteur de niveau d’eau binaire OK/KO.

Le niveau d’eau repasse à OK tout seul au bout de 5 min. Pour plus de fiabilité, je refais tourner le scénario toutes les heures ou sur un changement de niveau.


Je peux piloter la filtration directement ou bien la stopper, la mettre en marche forcée, 20 min sur les modes manuels.
En mode auto, j’ai plutôt tendance à forcer un reset de la filtration par le plugin (calcul de la durée en fonction de la température) ou réactiver le mode auto. Par sécurité si la piscine n’a pas assez d’eau, je repasse la piscine en OFF pour éviter un redémarrage et faire chauffer la pompe pour rien.

Je récupère la température de l’eau et de la pompe. Je n’ai pas trouvé de widget sympa comme histo à l’époque en couleur. Du coup j’ai gardé le défaut.

1 « J'aime »

Pendant un petit crunch, ajout du widget pour les consignes des modes de chauffage, climatisation.

Détaillé dans l’article du blog :

https://www.jeedom-facile.fr/index.php/2019/06/15/confort-chauffage-climatisation-et-automatisation/

Dans le principe, j’utilise le widget multi action icon que j’ai partagé plus haut.
Et j’affiche les températures de consigne en fonction du mode sélectionné.

Ce widget sera peu utilisé car mes consignes sont plutôt bien réglés et mes agendas/thermostats aussi ! Mais pratique à avoir.

1 « J'aime »

Et un dernier pour ce soir…

Celui des VMC :

Voir le blog :

https://www.jeedom-facile.fr/index.php/2019/01/16/gerez-lhumidite-de-votre-maison/

J’ai un peu musclé lors de la passage V4.
Mais dans le principe, vous retrouverez :

  • les variables min, max qui conditionnent le démarrage auto,
  • le max de l’extérieur qui autorisent un brassage,
  • le mode de la VMC,
  • le pilotage auto (elle se gère toute seule suivant le min/max d’au dessus), arrêt total, ou une marche forcée d’une heure.

Je donne le dernier statut au cas où (que je reçois par télégram).

2 « J'aime »

Quelle type de régulation fais tu sur la regulation de l’hygro ?
PID, Hysteresis ?

Euh. Lis l’article :joy:.
Hysteresis maison.
Je dois remettre mes scénarios et modes à jour sur l’article. J’ai simplifié.

1 « J'aime »

Ajout du widget pour la gestion des thermostats (et non pas les consignes comme plus haut).

Du coup, j’ai modifié quelques trucs. Je récupère l’état du thermostat (suspendu, calcul, chauffant ou climatisation) et je me suis fait un joli widget lol.

<div class="tooltips cmd cmd-widget #history#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#" style="display: block;">
	<center>
      <span class="iconCmd"></span>
  </center>
	<script>
		jeedom.cmd.update['#id#'] = function(_options){
          var state = _options.display_value;
          var cmd = $('.cmd[data-cmd_id=#id#]');
          // 0 arrêt qu'importe le mode ; 1 = chauffage ; 2 = clim ; 3 = calcul ; 4 = suspendu
          cmd.attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
          if (state == 0 ) {
			cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-close" style="color:#acacac;font-size:16px;"></i>');
			}
		  if (state == 2 ) {
			cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-snowflake" style="color:#5078aa;font-size:18px;"></i>');
			}
          if (state == 1 ) {
			cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-thermometer-plus" style="color:#da3037;font-size:18px;"></i>');
			}
          if (state == 3 ) {
			cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-calculator" style="color:ghostwhite;font-size:18px;"></i>');
			}
		  if (state == 4 ) {
			cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-motion-pause-outline" style="color:#ff8c00;font-size:18px;"></i>');
			}
		  cmd.find('.state').empty().append(' '+state);
          cmd.find('.unite').empty().append(' #unite#');	
          
			if(_options.alertLevel){
			$('.cmd[data-cmd_id=#id#]').removeClass('label label-warning label-danger')
			if(_options.alertLevel == 'warning'){
				$('.cmd[data-cmd_id=#id#]').addClass('label label-warning');
			}else if(_options.alertLevel == 'danger'){
				$('.cmd[data-cmd_id=#id#]').addClass('label label-danger');
			}
			}
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
	</script>
</div>

On peut tout à faire traduire l’état de l’info du thermostat en texte. Mais perso, je trouve plus facile de suivre dans l’historique la valeur (je garde 7 jours).

Un simple scénario à chaque fois sur le thermostat concerné (chauffage, climatisation) en déclencheur :
#[Entrée][Chauffage Entrée][Statut]#

La variable est récupérée dans le tableau ou ailleurs…

Là encore j’utilise le widget action icon en couleur et le plugin icones pour avoir des trucs zolis lol. Ainsi je peux déroger sur l’agenda en cours : ABS, NUIT, CFT, ECO, etc si une pièce a besoin d’un coup de chauffage ou non. Je peux même activer le mode powerfull des climatisations pour chauffer encore plus vite.

J’ai aussi mis en place le widget pour les fenêtres. Cela me permet de savoir si l’alarme est activée dessus, la batterie du capteur et son état :).

Le widget de batterie vient de là, légèrement modifiée (couleur, taille, texte)

Dans le même esprit celui des portes :). Avec le dernier passage du chat dans le catdoor (un simple capteur xiaomi). On reçoit en parallèle la vidéo pour voir si madame rentre ou sort :smiley:

Dernier aujourd’hui, la partie mouvements.

J’ai modifié récemment ma manière d’utiliser JPI.

Dans le principe :

  • suivant la présence, l’état de l’alarme, je « filtre » un mouvement dans une zone et j’autorise l’allumage de la tablette de la zone.

Par exemple, le scénario de gestion de la zone cuisine / pièce de vie se déclenche sur présence (si maison vide ou non), sur alarme (mise en nuit, retirée etc), et sur les mouvements dans la zone !

Je récupère le trigger de déclenchement et en fonction de la zone, j’autorise ou non le passage du mouvement sur un virtuel ON/OFF. Le OFF est mis automatiquement au bout de X minutes.

Dans le cas de la cuisine, c’est la seule tablette que j’autorise en allumage même quand l’alarme est mise de nuit (et que quelqu’un est là). Si personne et alarme (total/partielle), la tablette est éteinte.


Le virtuel de gestion des zones, des simples ON/OFF et un binaire associé.

Je remets à 0 chaque zone en fonction d’une tempo.

Un autre scénario se déclenche sur mouvement autorisé dans la zone ou non :

C’est quoi ? Bein juste une répétition de l’ordre screenon ou screenoff. On active, démarre ou désactive, arrête le scénario qui autorise la répétition du screenon, off.

Je force une remise de la luminosité de la tablette et un refresh du design au premier allumage.

Le scénario de répétition est on ne peut plus simple :

Par contre je regarde si un nettoyage des écrans est en cours (voir plus bas) :

De même pour le scénario OFF.

Côté script par contre, les tablettes n’étant pas rootées, j’avais utilisé l’ajout de sleepscreen.
Quand OFF, je passe à 15 secondes. Quand ON, je passe à 10min. J’utilise « action après » sur screenon et screenoff.


Côté JPI, je récupère l’état de l’écran et la batterie par script.

Merci @dJul et les mots clés, actions par script et l’API :
/?action=getBattLevel
/?action=getState&keyword=IS_SCREEN_ON
/?action=getState&keyword=SCREENBURNFIX

Pour le nettoyage d’écran :

Tous les jours à 9h en semaine :

Si le nettoyage hebdo n’a pas été fait et que personne n’est là et que l’alarme est mise alors je lance le nettoyage et je vérifie qu’il tourne (voir plus bas la gestion de l’allumage de l’écran côté JPI) :

Quand le statut repasse à 0, un scénario dédié, je vérifie la durée du nettoyage. S’il a été suffisante (>2h), je passe la variable à 1 pour éviter le lancement du premier scénario.

Chaque lundi matin, je regarde, avertis, réinitialise :

Côté JPI, un cron de répétition suivant : si écran allumé, si pas de nettoyage alors refresh.

Côté allumage de l’écran, je filtre l’allumage furtif :

Si cela peut aider !

Et du coup, ma gestion de mouvements en widget :

Etat du capteur, batterie.
Etat de la zone. RAZ (le OFF du virtuel de la zone).
Etat de l’écran de la tablette, batterie de cette dernière.

3 « J'aime »

Dernier widget en date :

Il me permet de surveiller les autres alarmes de la maison et les capteurs inhérents :

  • détecteur d’eau aqara : batterie, état ;
  • détecteur d’incendie honeywell xiaomi : batterie, état ;
  • alarme dédiée dans chacun des cas : si la surveillance tourne, le statut et le pilotage ON/OFF.

Simple et efficace.

Aussi, un mémo pour ceux qui mettent en place une gestion de widget au survol ou au clic. Je me suis rendu compte à l’utilisation que certains boutons/actions n’étaient pas cliquables. Il semblerait que le fait d’ouvrir un widget au dessus d’une zone rend ; dans certains cas ; la commande que l’on souhaite n’est pas cliquable.

Cela se voit car le petit rond (bien pratique) n’apparaît pas !

Merci à @ajja17orange pour son aide.

Par curiosité, quelle moto est ce que tu as? C’est une électrique je suppose comme tu as la remontée de la batterie? Madame voudrait passer sur une électrique, et avoir la possibilité de remonter les infos dans jeedom serait top :slight_smile: