Les analyseurs de piscine : ICO, Flipr, Blueconnect

De mon côté je suis en train de finaliser le plugin pour flipr. Si tout va bien je devrais le sortir avant la fin du confinement :upside_down_face:
Ce sera mon premier plugin !!!

1 « J'aime »

Le problème de Flipr, c’est qu’ils n’ont apparemment pas de modèle spécifique pour piscine à électrolyse. (Avec électrode or)

Je me tâtais pour en acheter un flipr, mais je voulais un plugin pour Jeedom… je suis pour savoir quand il sortira…

Merci pour son travail

Ça va être ma troisième saison avec flipr et la seconde avec un électrolyseur. Pas de problème de sonde pour l’instant ni de changement dans les mesure lors du passage au sel (3.2 gr/l dans mon cas)

2 « J'aime »

Je viens de recevoir mon BlueConnect sur lequel j’ai activé l’abonnement Premium pour avoir les remontées des mesures via Sigfox toutes les heures. J’ai créé la liaison avec IFTTT + Webhook et ça marche super bien ! (un grand merci au passage à la Communauté. Les posts m’ont vraiment aidé. Tout remonte à Jeedom mais j’ai un problème sur la valeur de l’Ingredient IFTTT BlueConnect « AnalysedAt » qui me retourne une heure décalée de 2 heures avec l’heure réelle de la mesure. L’Ingrédient « AnalysedAtIso8601 » quant a lui affiche la bonne heure mais avec un format Anglais, donc pas top sur le Deisgn Jeedom
Ci-dessous un screenshot de l’execution IFTTT.
L’heure de la mesure était à 23:54 pour info.

Auriez-vous une idée pour corriger ce problème ?
Pour info « AnalysedAt » est une chaine de caractère donc impossible de faire un calcul avec « +2 » dans mon Virtuel qui reçoit la valeur Webhook d’iFTTT

Mon design :

1 « J'aime »

@sbik
Je profite de ton post pour te poser une question à propos du BlueConnect : malgré la température basse de l’eau, les valeurs pH et RedOx sont elles correctes ? (car certains sondes donnent des valeurs fantaisistes avec des températures « basses »)

Oui, les valeurs semblent être correctes, du moins si je les compare à celles de mes pompes doseuses et à mes bandelettes.
Le 232mV Redox que tu vois sur mon design c’est uniquement dû au fait que je viens tout juste de mettre en route la piscine (et chlore pas encore réglé) , donc ;

  • étape 1 = mise en route de la régulation pH jusqu’à obtention de la bonne valeur
  • étape 2 = réglage du stabilisant
  • étape 3 = un petit chlore choc
  • étape 4 = mise en route de la régulation Redox
    Aujourd’hui elle est quasiment équilibrée (chlore en limite haute, que je suis en train de baisser)
    Au passage voici mon nouveau design (un grand merci @fnca pour son code pour le Widget perso)
1 « J'aime »

Tu as fait comment pour tes jauges vert/orange/rouge ? Un widget existant ?

Non, j’ai créé 3 Widgets avec dedans le code de @fnca que j’ai très légèrement adapté.
Code ci-dessous (celui du Redox). Pour le pH et la Température c’est le même mis à part les seuils

1 « J'aime »
<div style="width:320px;min-height : 130px; " class="cmd #history# tooltips cmd-widget conso#id#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
<div id="container4" style="width: 300px;height: 65px; margin: 1em auto; "></div>

<script>
      /**
     * Highcharts Linear-Gauge series plugin
     */
    (function (H) {
        var defaultPlotOptions = H.getOptions().plotOptions,
            columnType = H.seriesTypes.column,
            wrap = H.wrap,
            each = H.each;

        defaultPlotOptions.lineargauge = H.merge(defaultPlotOptions.column, {});
        H.seriesTypes.lineargauge = H.extendClass(columnType, {
            type: 'lineargauge',
            //inverted: true,
            setVisible: function () {
                columnType.prototype.setVisible.apply(this, arguments);
                if (this.markLine) {
                    this.markLine[this.visible ? 'show' : 'hide']();
                }
            },
            drawPoints: function () {
                // Draw the Column like always
                columnType.prototype.drawPoints.apply(this, arguments);

                // Add a Marker
                var series = this,
                    chart = this.chart,
                    inverted = chart.inverted,
                    xAxis = this.xAxis,
                    yAxis = this.yAxis,
                    point = this.points[0], // we know there is only 1 point
                    markLine = this.markLine,
                    ani = markLine ? 'animate' : 'attr';

                // Hide column
                point.graphic.hide();

                if (!markLine) {
                    var path = inverted ? ['M', 0, 0, 'L', -5, -5, 'L', 5, -5, 'L', 0, 0, 'L', 0, 0 + xAxis.len] : ['M', 0, 0, 'L', -5, -5, 'L', -5, 5,'L', 0, 0, 'L', xAxis.len, 0];                
                    markLine = this.markLine = chart.renderer.path(path)
                        .attr({
                        fill: series.color,
                        stroke: series.color,
                            'stroke-width': 1
                    }).add();
                }
                markLine[ani]({
                    translateX: inverted ? xAxis.left + yAxis.translate(point.y) : xAxis.left,
                    translateY: inverted ? xAxis.top : yAxis.top + yAxis.len -  yAxis.translate(point.y)
                });
            }
        });
    })(Highcharts);
  
  
  $('#container4').highcharts({
        chart: {
            type: 'lineargauge',
            inverted: true
    },
    navigation: {
buttonOptions: {
  enabled: false
  },
 },
       title: {
          text: ''
        },
    
    credits: {
        enabled: false
    },
     legend: {
        enabled: false
    },
    yAxis: {
        min: 5.0, 
        max: 35.0,
      tickPositions: [300,400,650,750,900,1000],
            tickLength: 1,
            tickWidth: 1,
            tickColor: '#C0C0C0',
            gridLineColor: '#C0C0C0',
            gridLineWidth: 1,
            minorTickInterval: 5,
            minorTickWidth: 1,
            minorTickLength: 5,
            minorGridLineWidth: 0,
            startOnTick: true,
            endOnTick: true,
                  labels: {
                format: '{value}'
            },
              labels: {
            enabled: true
        },
        opposite: false,
        title: {
            text: null
        },                                                            
        plotBands: [{
            from: 300,
            to: 400,
            color: '#DF5353' // green
        }, {
            from: 400,
            to: 650,
            color: 'orange' // yellow
        }, {
            from: 650,
            to: 750,
            color: 'green' // yellow
        },{
            from: 750,
            to: 900,
            color: 'orange' // yellow
        },{
            from: 900,
            to: 1000,
            color: '#DF5353' // red
        }]
    },

    xAxis: {
        labels: {
            enabled: false
        },
        tickLength: 1,
        min: 0,
        max: 10
    },

    series: [{
      name: 'PH',  
      data: [#state#],
        animation: true,
                marker: {
            symbol: false
        },
        showInLegend: false,
        color: 'white',
        dataLabels: {
            enabled: true,
            useHTML: false,
                             y: -2,
                align: 'center',

            style: {
                color: 'white'
            }
        }
    }]

});
</script>

</div>
1 « J'aime »

bonjour

j’aimerais faire comme toi je voudrais acheter une blue connect et le relier a jeedom
cela est il compliqué ?
je commence sur jeedom et je suis loin d’être un expert

Il suffit de passer par IFTTT. Rien de compliqué.

Oui en effet ce n’est pas trop compliqué. Il faut créer un applet sur IFTTT qui relie le service BlueConnect à Jeedom via Webhook - Il faut aussi créer un Virtuel dans Jeedom (liaison à Webhook via son URL de retour) afin de pouvoir recevoir les valeurs. Ca marche nickel ensuite, remontée de la Température, pH et Redox toutes les heures en Sigfox
Ces post devrait pouvoir t’aider
https://forum.jeedom.com/viewtopic.php?f=59&t=35377&sid=eea599301c671db162902eb1beb0596d

1 « J'aime »

@sbik
tu as pu régler ton problème d’heure évoqué plus haut?
deuxième question : piscine au chlore ou au sel ?

1 « J'aime »

Non le problème est toujours là. Si tu as une idée, elle est la bienvenue
La piscine est au chlore

1 « J'aime »

merci je l’ai commander on verra dès que je le reçois

Hello,

Petite question d’ordre technique mais un peu HS…

Je n’ai pas de pool terre. J’envisage l’achat d’un ICO. Est-ce que la lecture du redox va être faussée du fait de l’absence de pool terre ?

Je traite à la javel. J’ai 2 blocs desjoyaux gri 181 (piscine de 140m3). Pas d’electrolyse.

Quelqu’un saurait me renseigné là dessus ?

@sbik

avec un « collectdate », tu ne retombes pas sur tes pieds pour la date et l’heure ?

@Alex_Edc

Pour ma part, je ne pourrai pas répondre avec certitude pour une piscine au chlore.
Par contre, pour une piscine au sel, le pool terre est essentiel. Ne serait-ce que pour éliminer l’électricité statique due aux frottements de l’eau sur les tuyaux.

J’ai essayé de saisir ça dans mon virtuel hier soir (trouvé sur le net) , mais rien de mieux
Je ne comprend pas trop le fonctionnement de cette fonction
Peu-tu me l’expliquer en quelques mots ?
Mon besoin est juste d’ajouter 2h à la valeur remontée d’IFTTT, mais comme valeur est uen chaine de caractère et non un numérique, je ne sais pas faire. Je dois creuser…

date("d/m/Y H:i:s", strtotime(collectDate(#[Jardin][Piscine Blue Connect][Heure Mesure])))
#
1 « J'aime »