[Présentation] Benj29 et blog Jeedom-Facile

Pour @oracle7
Je comprends et apprécie ce type de message mais pendant presque 5 ans, peu de personnes ont joué le jeu (et je les remercie d’ailleurs car si cela a tenu 5 ans c’est aussi grâce à elles). Mais au regard des visites qu’il y avait et du « pillage » que l’on accepte (c’est le jeu) … je m’y remettrai quand le temps, l’envie y sera.

Il y a déjà énormément d’infos sur le forum et sur ce poste.

J’ai fait beaucoup de modifications ou d’améliorations sur mon installation, il faudra que je prenne le temps de rédiger ici. Mais je fais plutôt au cas par cas et quand la dispo se présente.

1 « J'aime »

Petit ajout sur une installation déjà bien suivie et fonctionnelle.
C’est bête à dire, mais je ne touche presque plus rien. Sauf quelques bugs ou modifications à faire au gré des plugins et de leurs mises à jour, l’installation vit tranquillement…

Dans le principe, un écran 3.5p pas cher détourné sous linux avec une petit python qui va bien et un thème maison.
Date, heure
Température CPU, charge, vitesse du CPU
Upload, Download 5s
Charge 1, 5 et 15min
Charge RAM, et utilisée.
Idem pour la partie / de Proxmox (celle de l’OS, pas des images).

Je récupère toutes les informations sur Proxmox sur sa base Debian.

Pour les motivés :
- on arrive à l’avoir à moins de 20€ régulièrement.

7 « J'aime »

Pourquoi ne pas en faire un livre numérique ?

1 « J'aime »

Suis pas sûr de comprendre… ?

Ben tu compiles et tu crée un livre numérique que tu mets en vente. Je pense qu’aujourd’hui ce ne doit pas être compliqué il y a des plateformes pour tout. J’ai un ami qui a écrit son livre science fiction et qui l’a mis en vente. Alors ok, c’est pas l’explosion littéraire au niveau des ventes mais c’est pas ce qu’il recherchait non plus :wink:

1 « J'aime »

Ah !!! je croyais que tu parlais de l’écran du serveur !!!

MDR :smiley:

Effectivement, c’est un axe à creuser.
Mais ce n’est pas trop le calme plat côté perso sans compter les sujets travail et sportif ; donc chaque chose en son temps :).

2 « J'aime »

Les pages de jeedom-facile.fr sont archivées par https://web.archive.org/

En plus c’est cité dans ce fil :wink:

1 « J'aime »

Bonjour @DomoSmo

Tu es sure du lien j’arrive sur cette page

Cordialement

1 « J'aime »

https://web.archive.org/web/20230000000000*/http://jeedom-facile.fr/

:wink:

Hello,

Petite update pour une installation qui roule toujours avec très peu de modification.

A ce jour, avec plus de 3 kWc installés, j’arrive assez rapidement à avoir mon ballon d’eau chaude full.
J’ai donc mis en place un scénario de délestage pour filtrer l’eau de la piscine plus que prévu.

De base la filtration tourne sur la production en pivot. En hiver, environ 1H30 coupé avant et après midi.

J’ai donc mis en place un premier scénario (programmé @5min) qui détecte qu’il y a de la production disponible quand le ballon est full. Il me permet de détecter les cas de de délestage possible dès que le ballon est full (> 60°C). L’astuce est de détecter la production suffisante pour couvrir le talon de la maison, la pompe ou l’usage que l’on veut effacer.

Pour ma part :

  • la consommation est proche de 0, la piscine ne tourne pas et j’ai plus de 1700W de production (1200W pour la pompe, 500W max pour effacer la maison), je regarde si le niveau d’eau est suffisant pour démarrer et j’active le délestage sur la piscine.

  • la consommation est proche de 0, la piscine tourne et j’ai plus de XW de production (1200W pour la pompe, 500W pour la maison, Y pour l’équipement que je veux effacer, une charge de voiture élec), j’active le délestage de l’équipement (clim, etc).

Le délestage n’est qu’un binaire ON/OFF avec un ON qui revient à OFF au bout de 10min pour éviter les accoups (nuage, équipement etc). Donc dans le principe le scénario qui lui tourne toutes les 5 min, va soit remettre un ON, soit laisser retomber à OFF par la commande.

Je pensais à mettre un délestage OFF en cas de grosse conso, mais je ne pense pas que ce soit une bonne idée. Les clims sont des inverters, elles démarrent au pire « fort » (1800/3000w) mais se calment vite (<1500/<1000W).

Ce qui donne en panel :
image

Avec un interrupteur pour la filtration (voir dans le fil pour comment) et celui du délestage.
image

Le délestage ON ne fait rien (je préfère l’activer par le scénario plus haut).
Le délestage OFF fait une filtration ON.

Côté filtration de la piscine, j’ai modifié le scénario ON/OFF de filtration.

Pour le ON, un peu lourd mais pas compliqué :

  • si je ne suis pas en délestage :
#[Energie][Délestage sur production][Délestage Piscine]# == 0

si je ne suis pas sur une période de boost manuel (filtration à la demande)

!(#[Piscine][Sonde Iopool EcO][Statut Boost - 1H]# == 1 OU #[Piscine][Sonde Iopool EcO][Statut Boost - 4H]# == 1 OU #[Piscine][Sonde Iopool EcO][Statut Boost - 8H]# == 1 OU #[Piscine][Sonde Iopool EcO][Statut Boost - 24H]# == 1)

j’utilise strlen pour savoir si j’ai une filtration pivot sur si le second temps est prévu (donc pas égal à 0) et je regarde si l’heure est celle du démarrage de la première période :

strlen(variable(period2_stop)) == 0 ET strlen(variable(period2_start)) == 0 AND #time# == str_replace(":","",variable(period1_start))

sinon on est sur le second démarrage :

#time# == str_replace(":","",variable(period2_start))

A cela je regarde les modes de l’Eco :

  • pour l’hivernage
#[Piscine][Sonde Iopool EcO][Mode de la sonde]# == "WINTER" OR #[Piscine][Sonde Iopool EcO][Mode de la sonde]# == "ACTIVE_WINTER"
  • pour la saison :
#[Piscine][Sonde Iopool EcO][Mode de la sonde]# == "STANDARD"
  • pour l’ouverture :
#[Piscine][Sonde Iopool EcO][Mode de la sonde]# != "STANDARD" ET #[Piscine][Sonde Iopool EcO][Mode de la sonde]# != "WINTER"  ET  #[Piscine][Sonde Iopool EcO][Mode de la sonde]# != "ACTIVE_WINTER"

A chaque fois, je remplis la variable message_TTS et j’envoie un telegram (si personne dans la maison).
Et je fais parler le TTS de la maison.

En fonction des conditions, j’indique si c’est une filtration de délestage, de saison, d’hivernage etc.

Pour le OFF, je calcule la durée de filtration en tête de scénario :

round(durationbetween(#[Capteurs et Actionneurs][Shelly Pompe Piscine][Statut]#,1,today 00:00,now),1)

Je regarde si on vient de finir un délestage ou non :

#[Piscine][Piscine (Panel)][Délestage]# == 0 AND lastChangeStateDuration(#[Piscine][Piscine (Panel)][Délestage]#,0) > 30

Je stocke dans des variables le temps min de filtration hiver, saison et en fonction des modes de filtration, je regarde :

  • si j’ai filtré assez
variable(filtration_today) > variable(filtration_min)
  • si j’ai filtré ce qu’il fallait :
(variable(filtration_today) <= (variable(filtration_max)+5)) ET (variable(filtration_today) >= (variable(filtration_max)-5))

le dernier cas de ces SI est donc forcément un surplus de filtration.

Je gère aussi si la piscine s’est arrêtée à cause d’un manque d’eau :

#[Piscine][Piscine (Panel)][Niveau]# == 1

Voili, voilou.

1 « J'aime »

Bonjour,
Je reviens sur le widget tendance, histo de @moafrancky34.
J’ai utilisé le code du widget et l’ai intégré dans mon Jeedom, j’affiche correctement les données.

image

Malheureusement j’ai des messages d’erreur javascript qui reviennent systématiquement et qui me font planter certaines commandes.

Uncaught TypeError: Cannot read properties of undefined (reading 'split')

En cherchant un peu je constate effectivement que l’erreur provient de la ligne de script du widget histo et tendance.

Une idée pour corriger cela ?

Merci, Joël

1 « J'aime »

Quelques news, l’installation étant très stable, peu de changement. Quelques trucs à corriger ci et là, mais sincèrement, ça tourne.

J’ai remplacé le plugin Vigilance par celui de Meteofrance qui détecte mieux les vigilances et j’ai ajouté le widget au survol (impossible de supprimer le titre par contre :frowning: ).

image

Le délestage de production sur la piscine marche parfaitement mais j’ai décidé de faire mieux notamment pour l’eau chaude et la borne de recharge.

J’ai ajouté un shelly EM avec 2 pinces pour avoir une mesure plus précise que :

  • le linky et la déduction d’une puissance active moyenne (entre 2 index),
  • le compteur pulse pour la production.

Du coup, j’ai gardé les deux et j’ai un peu musclé tout ça. J’ai mis en place un scénario de dégradation en cas de délai du shelly EM (il est un peu paresseux en mode ECO j’ai remarqué avec des envois > 3 min).

Dans le principe je passe par un ternaire suivant l’état du shelly.

#[Réseau][Shelly Energy Meter][Statut]#?#[Energie][Valeur Instantanée][Consommation (shelly)]#:#[Energie][Valeur Instantanée][Consommation (compteur)]#
#[Réseau][Shelly Energy Meter][Statut]#?#[Energie][Valeur Instantanée][Production (shelly)]#:#[Energie][Valeur Instantanée][Production (compteur)]#

MQTT m’a bien aidé pour mettre tout ça en place, côté dimmers/routeur eau chaude, borne etc.

Ca donne une mesure plus précise de la conso/production en temps réel (contre 1min) :
image

Si jamais la donnée du shelly est trop vieille, je reboote ce dernier (un simple scénario sur un SI non répétitif avec un cron à 2minutes pour une donnée qui ne doit pas être trop vieille de 3 minutes) :

#[Réseau][Shelly Energy Meter][Statut]# == 1 ET age(#[Agrégateurs][ShellyEM][0:energy]#) < 180

Dans le même principe pour le routeur qui gère l’eau chaude, il prend maintenant les données de consommation/production depuis le shelly et j’efface super bien :).

Ca chauffe en effaçant :

Côté VE, n’ayant pas la chance d’avoir un VE avec un plugin pour récupérer l’état de la batterie, je récupère la notification par Macrodroid sur le téléphone et je bascule un booléen pour savoir quand la batterie est pleine.

Un petit widget pour savoir si la voiture est branché, en charge, quel niveau de charge (lent ou fort), pleine ou non etc (qui change de couleur, de type etc)

image
image
image

Et le widget au survol qui pilote la borne OpenEVSE.
image

Du coup, la borne est apparue dans mon design de suivi énergétique :).

image

En charge, ça me permet de surveiller ce qu’elle « donne » :

image

Voilà !

La dernière chose qu’il me reste à faire est de compléter l’algo de délestage. A ce jour, il gère uniquement le délestage sur la pompe de piscine. Maintenant, il va devoir gérer la charge de la voiture en fonction des conditions… (100% = 800W sur ballon, car il fait 2400W, donc 300% dispo par 2 dimmers + 1 contacteur)

Si voiture branchée
           Si ballon full => borne charge et lisse le courant
           Sinon si ballon pas full :
                 * si ballon < 50°C, priorité ballon, pas voiture
                 * si ballon > 50°C, priorité voiture (1600W), et restant pour ballon (donc max 100%)
Si voiture pas branchée
           Si ballon full => délestage sur moteur piscine
           Sinon si ballon pas full : fonctionnement normal (routeur qui renvoie sur les dimmers jusqu'à 300%)

J’ai aussi ajouté dans les notifications quotidiennes, hebdos la consommation de la borne, son suivi etc.
Comme ça commence à faire pas mal de puissance en superHC, je vérifie maintenant la puissance max atteinte, la nuit par (dans les notifs etc) :

round(statistics(#[Energie][Valeur Instantanée][Consommation]#,max,Yesterday)/1000,1)
round(statistics(#[Energie][Valeur Instantanée][Consommation]#,max,this week)/1000,1)

La borne gère le délestage (sa charge donc, elle coupe) et Jeedom aussi (pour les climatisations).

4 « J'aime »

Petit oubli, j’ai intégré aussi les notifications pour le lave-linge.

Avec un petit widget (orange, blanc, gris, vert) en fonction de son statut.

En fonction de la puissance de la prise (une bonne prise Xiaomi)

#[Capteurs et Actionneurs][Prise Lave-Linge][Charge puissance]#

Je notifie quand ça démarre et que ça finit. Je stocke la durée, la consommation d’eau et électrique.
Sympa d’utiliser l’eau chaude mitigée plutôt que de chauffer :stuck_out_tongue:

J’utilise la variable etat_ll pour nous indiquer si la machine est finie ou toujours en cours quand on rentre à la maison.

Dans le scénario qui construit le message à l’arrivée (la voiture est branchée si la batterie n’est pas pleine, la météo, l’alerte météo, s’il y a assez d’eau dans la piscine, si une action est à faire pour la piscine etc), je rajoute si le linge est prêt :).

Félicitations pour ton installation! Sacré programme! :+1:. Tu as quoi comme VE pour ne pas pouvoir récupérer tes données ?

Un véhicule hybride du groupe VAG, l’application ne présente pas d’API (ça a été retiré).
Je fais une lecture des notifications (et encore quand l’application) les génère… par Macrodroid pour mettre à 1 une info de batterie pleine. J’ai ajouté un bouton manuel via Domowidget pour le faire moi aussi…

Prochaine étape, mettre en place l’algo de délestage sur la piscine, la voiture, l’eau chaude.
Pour l’heure, la piscine est possible en délestage et les dimmers vivent leur vie.

Beau programme! As tu pensé a une prise obd2 pour faire remonter les infos de ta voiture dans jeedom?

1 « J'aime »

Oui, j’y ai pensé. Mais bon, Jeedom ne présente pas de plugin pour cela, et l’objectif pour moi serait même de m’interfacer avec Sprit pour faire du remplissage automatique…

J’utilise déjà spritmonitor qui est très complet pour le calcul de coûts et le suivi des véhicules.
L’API est dispo : Swagger Documentation

image

Je connaissais pas, je vais y jeter un coup d’œil. Apres l’OBD2 c’etait plus pour affiner tes fonctions délestage avec la borne en tenant compte des données de la batterie ou autre. Je comprends que sur un véhicule hybride cela ait moins d’importance mais si ça t’intéresse tu as ceci :

Qui te permet de faire remonter toutes les infos de ta voiture en mqtt et de creer tes commandes info et action (pas besoin de plugin). Bon courage pour tes travaux!

2 « J'aime »

Merci pour le projet, très intéressant.

Par contre, j’ai juste besoin de savoir si la batterie est pleine, véhicule branché. Je sais facilement si la batterie est « à charger » (je me fiche de savoir si elle est vide ou non). Dès que la voiture roule, mon téléphone est connecté au bluetooth et envoie une localisation donc la batterie est utilisée… donc si je reviens faut la charger :stuck_out_tongue:.

Vu la puissance nécessaire pour démarrer une charge (6a), il faut beaucoup de production dispo (1800W environ en compte le talon de la maison, il ne faut pas l’oublier).

Par contre, dans le cas d’un véhicule pure électrique (type MG) sans plugin, c’est clair que ton lien/projet est nécessaire…

Moi je gère la charge de nuit (c’est le plus important) sur le tarif superHC et les infos de la borne me suffisent. Dans tous les cas, la borne s’arrête de charger quand la batterie est pleine. Son statut change mais ce n’est pas fiable. Par contre, la puissance s’effondre puisque la batterie est pleine.

Bonjour benj29,

Es-tu certain de ceci ?

De mon point de vue, ça dépend ce que tu appelles précis.

En effet, une pince ampèremétrique ne va mesurer que le courant circulant dans le câble, et considérer une tension nominale (220, 230, ou 240V).
Et va afficher un résultat te disant que c’est une puissance active (W). Alors qu’il ne fait que te renvoyer une puissance apparente (VA), donc en omettant complètement le facteur de puissance (ou en le considérant à 1).
Donc ici, tu cumules 2 approximations, la première liée à la tension réelle, la deuxième liée à la puissance apparente. Ce qui n’est pas des plus précis.

Alors que ce qui est facturé par nos fournisseurs d’énergie, c’est la puissance apparente mesurée par le Linky, et donc plus faible que la puissance apparente.

Pour ma part, j’avais eu des soucis entre des mesures en VA (mais affiché W par les fabricants) et la consommation réelle mesurée par Enedis. J’avais 200 VA (mais affiché 200 W) de consommation, alors que le Linky m’affichait 0 W…

Je me suis donc tourné vers le calcul d’une puissance active entre 2 index. Car le Linky, est le seul appareil que j’ai pu mettre dans ma domotique et qui mesure réelle la puissance active.