<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://chez.jcdenis.fr/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jean-Christian Paul Denis - Mot-clé - nodered</title>
    <link>https://chez.jcdenis.fr/</link>
    <atom:link href="https://chez.jcdenis.fr/feed/tag/nodered/rss2" rel="self" type="application/rss+xml" />
    <description>Moment de vie d'un homme invisible.</description>
    <language>fr</language>
    <pubDate>Sun, 09 Nov 2025 09:31:14 +0100</pubDate>
    <copyright>Tous droits réservés © Jean-Christian Denis</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Ma domotique V : Node-RED</title>
        <link>https://chez.jcdenis.fr/post/2024/04/06/Ma-domotique-V-%3A-Node-RED</link>
        <guid isPermaLink="false">urn:md5:e533780ec0ac8a840b247347055050b7</guid>
        <pubDate>Sat, 06 Apr 2024 09:02:00 +0200</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>NRDomV2</category>
                          <category>docker</category>
                  <category>nodered</category>
                  <category>noeud</category>
                  <category>portainer</category>
                  <category>proxmox</category>
                  <category>vm</category>
                <description>&lt;p&gt;J'ai par le passé testé diffèrents logiciels de domotique comme par exemple Jeedom ou Home-Assistant pour ne citer qu'eux et un jour je me suis dit : ce n'est pas compliqué la domotique, c'est marche/arrêt, jour/nuit, on/off, je suis sure de pouvoir le faire.&lt;/p&gt; &lt;p&gt;Et je l'ai fait… et refait !&lt;br&gt;
&lt;br&gt;
J'aurai pu choisir n'importe qu'elle langage de programmation pour le faire, mais je suis fainéant et le temps me manque pour apprendre un nouveau langage, du coup je me suis rabattu sur Nore-RED, parfait pour moi, prendre des nœuds et les déplacer dans une fenêtre c'est à mon niveau. Je vous laisse &lt;a href=&quot;https://nodered.org/&quot; hreflang=&quot;en&quot; title=&quot;Node-RED&quot;&gt;visiter le site officiel&lt;/a&gt; pour savoir ce qu'est Node-RED. Parmi les avantages, une large palette de modules complémentaires, d'exemples, une facilité de bricolage, de débogage, la connexion native à MQTT et à bien d'autres outils utiles à ma domotique, etc...&lt;br&gt;
L'écriture de la première version du cœur de ma domotique en Node-RED m'a pris 1 an, la seconde version 4 mois. (Je ne l'ai pas encore terminé mais ça tourne en &lt;em&gt;prod&lt;/em&gt;.) donc même si c'est simple, ça prend du temps. Et encore je suis très loin de ce que je voudrais notamment un système d'ajout automatique de matériel, ça sera pour la prochaine version peut-être.&lt;br&gt;&lt;/p&gt;&lt;a href=&quot;https://chez.jcdenis.fr/public/domotique/nodered_admin_01.png&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://chez.jcdenis.fr/public/domotique/.nodered_admin_01_m.png&quot; alt=&quot;Node-Red admin 01&quot;&gt;&lt;figcaption&gt;Exemple d&amp;#039;interface d&amp;#039;administration Node-RED, avr. 2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;

&lt;h3&gt;Fonctionnement de ma domotique&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Lorsque dans le suite du billet ou même des prochains articles je parle du cœur (ou kernel) de ma domotique, ça sera le partie centrale du code, le flow sous Node-RED qui gère ma domotique.&lt;/em&gt;&lt;br&gt;
&lt;br&gt;
Comme rapidement évoqué dans le billets précédents, ma domotique est basée sur la transmission de messages à 4 niveaux. Le message est composé d'un chemin appelé &lt;strong&gt;topic&lt;/strong&gt; ou &lt;strong&gt;path&lt;/strong&gt; dans le cœur de ma domotique et ce topic propage une valeur correspondante. Par exemple, pour l'information d'une lampe en court de traitement dans le coeur, ce sera :&lt;br&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;iotnode/douche/lumiere/plafonnier = true&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Le premier niveau n'est pas spécialement important (ou que rarement) il correspond à l'outil que génère ce topic, sa &lt;code&gt;source&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Le seconde niveau est la pièce de ma maison dans laquelle se situe l'élément, dans le cœur on l'appel &lt;code&gt;bucket&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Le troisième niveau est le type d'élement, dans le coeur on l'appel &lt;code&gt;measurement&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Le quatrième niveau est l'élement, dans le coeur on l'appel &lt;code&gt;field&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ce qui donne :&lt;br&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;source / bucket / measurement / field = value&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A y regarder de plus près, ça ressemble à ce qu'on retrouve dans des outils comme &lt;strong&gt;InfluxDB&lt;/strong&gt; et &lt;strong&gt;Grafana&lt;/strong&gt;, et qu'on appelle des &lt;strong&gt;metric&lt;/strong&gt;, ce n'est pas par hasard car 100% des valeurs générées par ma domotique sont stockées dans une base de données InfluxDB de laquelle j'extrais de jolis graphiques grâce à Grafana. On en reparlera dans de prochains billets&lt;br&gt;
&lt;br&gt;
Le cœur de ma domotique va simplement faire une boucle avec ce topic et chaque élément relié au cœur va pouvoir lire ce message est l'utiliser si besoin. Par exemple, lorsque la lampe s'allume un nouveau minuteur va se lancer et tenter de l'éteindre dans xx minutes. Mais là ou cela devient fou c'est que ce même minuteur génère un message qui va être lu par un scenario qui à son tour dira de ne pas l'éteindre mais de prolonger le minuteur car il y a eu un mouvement dans la pièce, etc... Mais du coup, les boucles peuvent s'empiler et devenir difficile à gérer, par exemple pour la gestion du chauffage ou des volets avec de nombreux éléments à prendre en compte comme les ouvertures, la présence, l'heure, la température, la lumière etc... Du coup il faut quand même mettre des garde-fou en place pour éviter des boucles infinies. Finalement une idée simple fini en casse tête. Voila pour le préambule à la gestion de ma domotique, il faut simplement retenir qu'on fait une boucle avec un message.&lt;br&gt;
&lt;br&gt;
Un élément (ou metric) à l'entrée du cœur doit également suivre des règles bien précises. Il doit être enregistré dans le cœur avant de pouvoir être utilisé correctement. En effet un lampe peut-être simplement en tout ou rien, mais elle peut également être &lt;em&gt;dimmable&lt;/em&gt; (valeur entre 0 et 99 par exemple) il faut donc l'expliquer au cœur. Lorsqu'on enregistre un nouvel élément il doit donc renseigner :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sa pièce : &lt;code&gt;bucket&lt;/code&gt; (douche)&lt;/li&gt;
&lt;li&gt;son type : &lt;code&gt;measurement&lt;/code&gt; (lumiere)&lt;/li&gt;
&lt;li&gt;son nom : &lt;code&gt;field&lt;/code&gt; (plafonnier)&lt;/li&gt;
&lt;li&gt;son type de valeur : &lt;code&gt;format&lt;/code&gt; (boolean)&lt;/li&gt;
&lt;li&gt;sa valeur par défaut : &lt;code&gt;default&lt;/code&gt; (true)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec ça le cœur saura comment nettoyer et retransmettre une représentation propre de l'élément. Par exemple si un élément tiers demande d'allumer la lampe avec un ordre &lt;code&gt;true&lt;/code&gt; mais que ma lampe est dimmable, le cœur saura transformer cette valeur en &lt;code&gt;99&lt;/code&gt; et la retransmettre.&lt;br&gt;
Dans la seconde version du cœur de ma domotique j'ai ajouté un début de gestion commune de certains appareils, en effet j'ai par exemple des interrupteurs connectés de même modèle un peu partout, donc au lieu répéter du code dans chaque pièce, j'utilise une base commune, pour cela j'ai ajouté dans l'enregistrement d'un élément la possibilité de renseigner un modèle :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;protocol&lt;/code&gt; : le protocole utilisé par l'élément (ex: zigbee)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;model&lt;/code&gt; : le model de l'élément (ex: snbz-02 pour un capteur zigbee)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;id&lt;/code&gt; : l'identifiant dans le protocole  (zwave c'est un nombre, zigbee c'est arbitraire dans zigbee2mqtt, etc)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;option&lt;/code&gt; : une option entre 1 et 3, utile si un élément à deux fonctions identiques (ex double interrupteur) ou un changement de comportement (capteur d'ouverture sur un interrupteur Qubino)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec ça on est quasi paré à toutes éventualités.&lt;br&gt;
&lt;br&gt;
On continue de s'éloigner du cœur et on va aller voir comment fonctionne un élément de ma domotique dans Node-RED.&lt;br&gt;
On vient de voir la première fonction de l'élement qui est d'enregistrer dans le cœur sa définition.&lt;br&gt;
La seconde fonction est de transmettre les informations du matériel vers le cœur. Pour cela j'ai simplifié la tache en ajoutant des portes de/vers chaque protocole de ma domotique dans Node-RED. En effet tous mes protocoles domotiques atterrissent dans MQTT il est donc simple de les lire dans Node-RED. Si je reprend l'exemple de ma lampe, son élément va se relier à l'entrée Zwave du cœur et lire les informations dont elle a besoin dans son topic dédié, comme l'état de la lampe dans &lt;code&gt;/zwave/10/37/0/currenValue&lt;/code&gt; qu'il va retransmettre au cœur dans &lt;code&gt;/device/douche/lumiere/plafonnier = true&lt;/code&gt;.&lt;br&gt;
La troisième fonction, vous l'aurez sans doute devinez, est transmettre les ordres du cœur vers le matériel. Ici on fait le travail inverse de la seconde fonction, on écoute le cœur pour attraper l'ordre d'allumer la lumière qui sera le message &lt;code&gt;/ionode/douche/lumiere/plafonnier = true&lt;/code&gt; et on le transmet à la sortie Zwave du cœur dans le message &lt;code&gt;/zwave/10/37/0/targetValue/set = true&lt;/code&gt;. La théorie est très simple.&lt;br&gt;
J'ai ajouté une quatrième fonction qui permet d'afficher dans une interface web ces informations. Pour ma lampe un bouton pour l'allumer ou l'éteindre. Node-RED a une extension dashboard qui est une interface web, encore une fois le travail est ici facilité. A noter que je n'ai pas poussé la mise en page de cette interface car pour moi la domotique doit fonctionner toute seule et être transparente au quotidien et de plus je n'ai pas assez de temps pour jouer avec cette partie design.&lt;br&gt;&lt;/p&gt;&lt;a href=&quot;https://chez.jcdenis.fr/public/domotique/nodered_dashboard_01.png&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://chez.jcdenis.fr/public/domotique/.nodered_dashboard_01_m.png&quot; alt=&quot;Node-RED dashboard2 exemple 01&quot;&gt;&lt;figcaption&gt;Exemple de dashboard Node-RED, avr. 2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;a href=&quot;https://chez.jcdenis.fr/public/domotique/nodered_dashboard_02.png&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://chez.jcdenis.fr/public/domotique/.nodered_dashboard_02_m.png&quot; alt=&quot;Node-RED dashboard2 exemple 02&quot;&gt;&lt;figcaption&gt;Exemple de dashboard Node-RED, avr. 2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;p&gt;&lt;br&gt;
Voila avec tout ça, un élément représentant un matériel physique (ou une partie de matériel) est géré dans le cœur de ma domotique.&lt;br&gt;
&lt;br&gt;
Maintenant commence le vrai rôle de la domotique, animer tout ça. Pour cela j'utilise des nœuds de scénario, que ce soit l'ouverture des volets, la gestion du chauffage, l'éclairage des escaliers, ou le rappel pour sortir les poubelles, le principe reste le même. Un scénario écoute les messages transmis en boucle par le cœur et va attraper ceux qui l'intéressent. Par exemple pour le volet du salon, je vais écouter les messages de mode Jour/Nuit, ceux des ouvertures de la baie vitrée, ceux de mouvement et même ceux du capteur de luminosité, ben oui si le soleil tape trop fort j'ajoure le volet ! Je ferais des billets plus précis plus tard avec des exemples concrets et complets, ici je présente juste le principe.&lt;br&gt;
&lt;br&gt;
Ce fût long et pourtant je n'ai quasi rien montré de concret du code. Je vais m'arrêter là pour ces premières explications, mais il y a bien d'autres choses dans ce cœur. Il y a les agendas, les assistants vocaux, les graphiques, un peu de configuration, etc. On verra si j'arrive à avancer dans mes billets de présentation pour pousser plus loin les explications…&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;Installation du server Node-RED&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Reportez vous aux billet précédents (&lt;a href=&quot;https://chez.jcdenis.fr/post/2024/04/02/Ma-domotique-III-%3A-Virtualisation&quot;&gt;ici&lt;/a&gt; et &lt;a href=&quot;https://chez.jcdenis.fr/post/2024/04/03/Ma-domotique-IV-%3A-MQTT&quot;&gt;là&lt;/a&gt; ) pour en savoir plus sur ma configuration Proxmox et Docker.&lt;/em&gt;&lt;br&gt;
&lt;br&gt;
On se rend dans le shell de notre serveur Proxmox et on créer notre machine virtuelle à partir du template docker et on lui adresse une IP fixe :&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;qm clone 910 122 --name nodered
qm set 122 --ipconfig0 ip=10.1.4.122/23,gw=10.1.4.1&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br&gt;
On peut démarrer notre VM.&lt;br&gt;
Maintenant on se rend dans l'interface web de Portainer, on lie notre VM, et on ajoute Stack qui ressemble à ça :&lt;br&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-docker&quot;&gt;version: &amp;quot;3.8&amp;quot;
services:
  nodered:
    container_name: nodered
    image: nodered/node-red:latest
    restart: always
    environment:
      - TZ=Europe/Paris
    ports:
      - &amp;quot;80:1880&amp;quot;
      - &amp;quot;3456:3456&amp;quot;
    networks:
      - net
    volumes:
      - data:/data
networks:
  net:
volumes:
  data:&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br&gt;
On va modifier le mot de passe de Node-RED , comme pour MQTT cela se fait dans  le Docker. Pour cela on va dans la console Proxmox de la VM, et on ouvre une session docker :&lt;br&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker exec -it nodered /bin/bash&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;On demande de hacher notre mot de passe avec :&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;node-red admin hash-pw le_mot_de_passe&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;On obtient en retour notre mot de passe crypté qu'il va falloir mettre dans le ficher de configuration de Node-Red. On retourne dans la console Proxmox (ou en SSH) de la VM et on va modifier la configuration de node-RED :&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo nano /var/lib/docker/volumes/nodered_data/_data/settings.js&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;le fichier doit ressembler à ça :&lt;br&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;module.exports = {
    flowFile: &amp;#039;flows.json&amp;#039;,
    credentialSecret: false,
    flowFilePretty: true,
    adminAuth: {
        type: &amp;quot;credentials&amp;quot;,
        users: [{
            username: &amp;quot;bob&amp;quot;,
            password: &amp;quot;le_mot_de_passe_crypté&amp;quot;,
            permissions: &amp;quot;*&amp;quot;
        }]
    },
    httpAdminRoot: &amp;#039;/admin&amp;#039;,
    httpNodeRoot: &amp;#039;/&amp;#039;,
    diagnostics: {
        enabled: true,
        ui: true,
    },
    runtimeState: {
        enabled: false,
        ui: false,
    },
    logging: {
        console: {
            level: &amp;quot;info&amp;quot;,
            metrics: false,
            audit: false
        }
    },
    contextStorage: {
        default: {
            module: &amp;quot;localfilesystem&amp;quot;
        },
        memoryOnly: {
            module: &amp;quot;memory&amp;quot;
        },
    },
    exportGlobalContextKeys: false,
    externalModules: {
    },
    editorTheme: {
        palette: {
        },
        projects: {
            enabled: false,
            workflow: {
                mode: &amp;quot;manual&amp;quot;
            }
        },
        codeEditor: {
            lib: &amp;quot;monaco&amp;quot;,
            options: {
            }
        },
        markdownEditor: {
            mermaid: {
                enabled: true
            }
        },
    },
    functionExternalModules: true,
    functionTimeout: 0,
    functionGlobalContext: {
    },
    ui: { path: &amp;quot;&amp;quot; },
    debugMaxLength: 1000,
    mqttReconnectTime: 15000,
    serialReconnectTime: 15000,
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Par rapport au fichier d'origine, on a ajouté le login, modifié les URI qui finiront par /admin pour la partie administration (la fenêtre de développement de Node-RED) et à la racine pour l'interface web. On indique également d'utiliser deux sortes de mémoire : une vive et une en fichier. (Qui va permettre de garder certaines valeurs lors d'un redémarrage, ou coupure de courant.)&lt;br&gt;
On relance le conteneur et notre instance Node-Red est accessible sur http://10.1.4.122/admin.&lt;br&gt;
&lt;br&gt;
Dans le prochain billet, on va faire une petite pause et &lt;a href=&quot;https://chez.jcdenis.fr/post/2024/04/06/Ma-domotique-VI-%3A-Pause&quot;&gt;parler plus généralement de la domotique&lt;/a&gt; et de ce qu'on peut en tirer.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Nothing else matter</title>
        <link>https://chez.jcdenis.fr/post/2022/11/05/Nothing-else-matter</link>
        <guid isPermaLink="false">urn:md5:712c198d3110f5914a89192773835166</guid>
        <pubDate>Sat, 05 Nov 2022 21:01:00 +0000</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>Domotique</category>
                          <category>matter</category>
                  <category>mqtt</category>
                  <category>nodered</category>
                  <category>protocle</category>
                <description>&lt;p&gt;Je me tiens toujours au courant de ce qui se passe dans le monde de la domotique pour tous. Je zieute la sortie des nouveaux protocoles, des marques à la mode, de la naïveté des gens à payer un objet 10€ sans se soucier qu'il prendra feu dans le tableau électrique à la moindre occasion.&lt;/p&gt; &lt;p&gt;Et alors que je mettais à jour mes VM et que je faisais quelques ajustements à ma domotique avec quelques scenario sous node-red, j'ai évidemment vu la sortie de la version 1.0 du protocole &lt;a href=&quot;https://fr.wikipedia.org/wiki/Matter_(standard)&quot; hreflang=&quot;fr&quot; title=&quot;Définition Matter&quot;&gt;Matter&lt;/a&gt; en cette fin 2022.&lt;br /&gt;&lt;/p&gt;&lt;figure style=&quot;display:table; margin:0 auto;&quot;&gt;&lt;img src=&quot;https://chez.jcdenis.fr/public/photos/.20221030-05_m.jpg&quot; alt=&quot;20221030-05.jpg, nov. 2022&quot; title=&quot;20221030-05.jpg, nov. 2022&quot; /&gt;&lt;figcaption&gt;Votre serviteur - La panicière - 10/2022&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;br /&gt;
Au premier abord je me suis dit &lt;q&gt;Encore un protocole de plus&lt;/q&gt;, pourquoi révolutionnerait-il plus que les autres la domotique; Du coup j'ai lu un peu et.... je ne sais toujours pas. Aujourd'hui j'utilise divers protocoles dans ma maison et je m'amuse même à les multiplier et surtout les associer. Rfxcom, Zigbee, Zwave, Enocean, Wifi, Bluetooth, IP, etc ils finissent tous dans une mini machine virtuelle accueillant un serveur MQTT qui ne consomme rien, moins de 0,5% de CPU et 512Mo de Ram, même en distribuant ma reconnaissance vocale home made à travers la maison H24. Le tout passé dans une moulinette Node-Red qui joue mes scenarios et relie tous ces appareils. Donc à ce stade je vois ça comme &lt;q&gt;Encore un truc pour réinventer la roue&lt;/q&gt;.&lt;br /&gt;
Et je vous avoue que j'ai du mal à voir comment des multinationales vont arriver à jouer le jeu pour fournir un service aussi simple et efficace (efficient) que celui que j'utilise, le tout gratuitement et open source ! J'attends avec impatience de voir les premiers ponts entre les protocoles dinosaures et Matter pour me faire une idée plus précise car pour l'instant tout le monde s'extasie devant Matter sans que personne ne fasse une démo pour monsieur tout le monde...&lt;br /&gt;
&lt;br /&gt;
PS: Même sans accès aux internets, toute ma domotique est parfaitement fonctionnelle, allez-y vendez moi du rêve.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Let's update</title>
        <link>https://chez.jcdenis.fr/post/2022/07/10/Let-s-update</link>
        <guid isPermaLink="false">urn:md5:d324cfd00112500d531caa955568889a</guid>
        <pubDate>Sun, 10 Jul 2022 19:09:00 +0100</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>Domotique</category>
                          <category>nextcloud</category>
                  <category>nodered</category>
                <description>&lt;p&gt;Quelques jours de pause dans mes péripéties Dotclear pour mettre à jour ma domotique et modifier quelques trucs dedans.&amp;nbsp;&lt;/p&gt; &lt;p&gt;Il y a quelques jours je me suis rendu compte que ma domotique n'enregistrait plus mes données dans ma base InfluxDB, aillant tellement bien (ou mal) programmé tout ça, je ne m'en suis même pas rendu compte tout de suite. Je suis donc partie en quête du problème et il ne m'a pas fallu longtemps pour m'apercevoir que l'espace disque de ma machine virtuelle hébergeant la base de donnée était plein ! Tellement plein que je n'ai même pas pu installer les outils qui m'auraient sauvé la mise… Pour vous donner une idée, j'enregistre environ 60000 valeurs sur 24 heures, je vous laisse compter pour une base qui tourne non stop depuis 2 ans. Bref. Du coup je me suis dis pourquoi ne pas en profiter pour remettre de l'ordre dans tout ça. (Quoi que au final je n'ai rien fait pour que ça ne se reproduise pas.) J'utilisais une instance docker sur une machine virtuelle hébergeant également l'instance Node-Red et Grafana, j'ai donc séparé InfluxDB en le posant sur une VM dédié avec un peu plus de disque, ça tiendra 6 ans si je compte bien. (Et oui je garde toutes les valeurs ad-vitam-æternam)&amp;nbsp;&lt;/p&gt;

&lt;figure style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://chez.jcdenis.fr/public/photos/20220710-01.jpg&quot; title=&quot;20220710-01.jpg, juil. 2022&quot;&gt;&lt;img src=&quot;https://chez.jcdenis.fr/public/photos/.20220710-01_m.jpg&quot; alt=&quot;20220710-01.jpg, juil. 2022&quot; title=&quot;20220710-01.jpg, juil. 2022&quot; /&gt;&lt;figcaption&gt;Oriane - Saint-Germain - 07/2022&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;J'en ai profité pour faire le tour des autres VMs pour leur faire les mises à jour usuelles et je suis tombé sur celle de NextCloud que j'utilisais jusqu'à maintenant uniquement en local pour les calendriers (rendez-vous, congés, poubelles, etc...) affichés dans la domotique. Pourquoi ne pas la mettre en publique, le frangin m'en aillant parlé il y a peu, c'était trop tentant. Sauf que je n'ai aucune confiance en ce que je ne connais pas donc nouvelle VM dédié à NextCloud, sous-domaine dédié, certificat SSL, htaccess et compagnie… Résultat ça m'a pris 3 jours, dont deux justes parce que certains outils de Node-Red (qui gère ma domotique) résolvait mon nom de domaine en IP, et qu'en local, ben ça bogue (petit tour de passe-passe dans apache pour différencier local de global et zou, tout fonctionne.) Je n'en ai pas fini avec NextCloud, je me bagarre actuellement pour synchroniser mon tel avec mon instance NextCloud mais pas grave…&lt;/p&gt;
&lt;p&gt;Tiens, au passage j'ai viré un docker zigbee2mqtt_assistant me rendant compte au bout de tout ce temps qu'un outils bien plus complet était livré avec zigbee2mqtt :o&amp;nbsp;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Du lourd</title>
        <link>https://chez.jcdenis.fr/post/2021/05/24/Du-lourd</link>
        <guid isPermaLink="false">urn:md5:44789a3d68f404f99111db7590f5ae08</guid>
        <pubDate>Mon, 24 May 2021 20:44:00 +0100</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>Life is Good</category>
                          <category>mqtt</category>
                  <category>musique</category>
                  <category>nodered</category>
                <description>&lt;p&gt;Je passe en coup de vent (et quand je dis je passe, je ne bouge pas de ma chaise, on est d'accord) pour vous donner quelques nouvelles du coin.&lt;/p&gt; &lt;p&gt;Alors je suis bien bien occuper et ce n'est rien de le dire ! D'abord mon taf, qui, avec de nouveaux horaires, se révèlent encore plus chronophage. Ensuite je tente entre deux averses de tenir propre le tour de la maison et pour la première année, pour l'instant je m'en sors. Pour continuer, les aléas de la vie et une famille bien présente, mais ça c'est bon ! Enfin j'en reparlerais et ferais même quelques articles dessus, je me suis décidé à me passer d'un logiciel de domotique pour le faire par moi-même, l'évolution des choses m'aillant conduite au couple MQTT-NodeRed, que je détestais il y à quelques années et que je trouve très pratique aujourd'hui... bref, je m'écarte de sujet &lt;em&gt;résumé&lt;/em&gt; là...&lt;br /&gt;
Dans tout ça, les 3 frères (de la génération précédente) m'ont désigné (enfin ma petite famille) pour être l'héritier d'un petit jouet. Un piano !&lt;br /&gt;
&lt;a href=&quot;https://chez.jcdenis.fr/public/photos/20210511-01.jpg&quot;&gt;&lt;img src=&quot;https://chez.jcdenis.fr/public/photos/.20210511-01_m.jpg&quot; alt=&quot;&quot; style=&quot;display:table; margin:0 auto;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Les mioches sont ravis et je suis honoré.&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;PS: Je viens de perdre une heure à renouveler le certificat SSL de ce blog, alors que je m'étais laissé une note... au fin fond d'un fichier que je n'ai pas vue tout de suite. la prochaine fois, je ferais mon pense bête publiquement ici !&lt;/em&gt;&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
