Domotique Piscine
Re: Domotique Piscine
Bonjour,
Regarde dans ton code tous les combien est lancé ChkFiltration().
N'est-ce pas uniquement toutes les 15mn, alors que le calcul se fait à la minute pret.
Exemple:
if (((time.min-1) % 15)== 0) then ChkFiltration() end
CQFD
Regarde dans ton code tous les combien est lancé ChkFiltration().
N'est-ce pas uniquement toutes les 15mn, alors que le calcul se fait à la minute pret.
Exemple:
if (((time.min-1) % 15)== 0) then ChkFiltration() end
CQFD
Re: Domotique Piscine
Ah oui exact bien vu !
J'ai mis 5 min pour que ça soit un peu plus précis du coup merci
J'ai mis 5 min pour que ça soit un peu plus précis du coup merci
Re: Domotique Piscine
Bonjour
J'utilise le script de gestion de piscine depuis plusieurs années sans aucun souci et cela fonctionne tres bien
J'ai updaté mon domoticz en derniere version lundi 1er Juin et depuis j'ai un comportement différent sur une mise à jour de compteur de minutes de filtration
Auparavant : chaque appel "Updatedev" remplacait la valeur (O minutes puis 5 minutes puis 10 minutes etc);, et depuis la mise à jour de domoticz, alors que je n'ai rien changé au script j'ai l'impression qu'il CUMULE les valeurs à chaque appel (et chaque appel est fait toutes les secondes !)
resultat : la fonction lua en question :
l'appel de la fonction :
et enfin un extrait de log sur deux appels:
Avez vous une idée ?
Merci !
Multinet
J'utilise le script de gestion de piscine depuis plusieurs années sans aucun souci et cela fonctionne tres bien
J'ai updaté mon domoticz en derniere version lundi 1er Juin et depuis j'ai un comportement différent sur une mise à jour de compteur de minutes de filtration
Auparavant : chaque appel "Updatedev" remplacait la valeur (O minutes puis 5 minutes puis 10 minutes etc);, et depuis la mise à jour de domoticz, alors que je n'ai rien changé au script j'ai l'impression qu'il CUMULE les valeurs à chaque appel (et chaque appel est fait toutes les secondes !)
resultat : la fonction lua en question :
Code : Tout sélectionner
function UpdateDev(device,nvalue,svalues)
--Met à jour un device numérique Domotica
print("Updatedev")
print("nvalue:"..tostring(nvalue))
print("svalues:"..tostring(svalues))
commandArray[CmdIdx] = {['UpdateDevice'] = otherdevices_idx[device]..'|'..tostring(nvalue)..'|'..tostring(svalues)}
CmdIdx=CmdIdx+1
endCode : Tout sélectionner
-- Mise à jour du capteur loggant la durée de filtration, en minutes
if (val_DebitFl > 0) and (val_PpeFl == "On") then
UpdateDev(dev_DureeFl,0,tonumber(PpeFait))
elseif (val_PpeFl == "On") then
print("Pompe en mode ON mais pas de débit --> le watchdog doit corriger, pas de mise à jour du compteur")
end
Code : Tout sélectionner
2020-06-04 11:34:02.195 Status: LUA: Script Piscine : Gestion de la filtration
2020-06-04 11:34:02.199 Status: LUA: ---Temperature de la piscine : 27.0
2020-06-04 11:34:02.527 Status: LUA: Déjà effectué : 680.0 minutes sur 815
2020-06-04 11:34:02.529 Status: LUA: PpeRest (conso piscine) : 135.0
2020-06-04 11:34:02.531 Status: LUA: =PpeDuree (conso piscine) : 815
2020-06-04 11:34:02.532 Status: LUA: -PpeFait (conso piscine) : 680.0
2020-06-04 11:34:02.536 Status: LUA: Temps restant de filtration : 135.0 minutes
2020-06-04 11:34:02.538 Status: LUA: Updatedev
2020-06-04 11:34:02.540 Status: LUA: nvalue:0
2020-06-04 11:34:02.552 Status: LUA: svalues:680.0
2020-06-04 11:34:02.719 Status: EventSystem: Script event triggered: TIMER-Piscine FiltrationCode : Tout sélectionner
2020-06-04 11:35:04.510 Status: LUA: Script Piscine : Gestion de la filtration
2020-06-04 11:35:04.513 Status: LUA: ---Temperature de la piscine : 27.0
2020-06-04 11:35:04.643 Status: LUA: Déjà effectué : 685.0 minutes sur 815
2020-06-04 11:35:04.647 Status: LUA: PpeRest (conso piscine) : 130.0
2020-06-04 11:35:04.649 Status: LUA: =PpeDuree (conso piscine) : 815
2020-06-04 11:35:04.651 Status: LUA: -PpeFait (conso piscine) : 685.0
2020-06-04 11:35:04.652 Status: LUA: Temps restant de filtration : 130.0 minutes
2020-06-04 11:35:04.654 Status: LUA: Updatedev
2020-06-04 11:35:04.655 Status: LUA: nvalue:0
2020-06-04 11:35:04.656 Status: LUA: svalues:685.0
2020-06-04 11:35:04.755 Status: EventSystem: Script event triggered: TIMER-Piscine FiltrationAvez vous une idée ?
Merci !
Multinet
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Domotique Piscine
Ton anomalie a l'air de ressembler à celle ci :
Erreurs Compteurs Incrementiels 2020-1
Erreurs Compteurs Incrementiels 2020-1
Il te faudrait récupérer la valeur du compteur, et n'y ajouter que la différence avec la nouvelle valeuraleph0 a écrit : 01 avr. 2020, 20:49 J'ai eu le même problème avec une bêta récente. Le comportement des compteurs a été changé :
Avant, compteur normal ou compteur incrémental, il fallait calculer le total par script et envoyer le total via le commandArray
Maintenant, pour le compteur incrémental, il faut n'envoyer que la valeur a ajouter aux compteur, et le compteur l'ajoute lui-même a la valeur précédente. Pour les compteurs non incrémental, ça reste comme avant : on envoi au compteur la valeur totale du compteur
Code : Tout sélectionner
--recuperation de la valeur du device
v1,v2 = otherdevices_svalues['nom de ton capteur']:match("([^;]+);([^;]+)")
--on soustrait de la valeur du device (v1) le valeur calculé (svalues) pour n'obtenir que la difference
newvalue = v1 - svalues
commandArray[CmdIdx] = {['UpdateDevice'] = otherdevices_idx[device]..'|'..tostring(nvalue)..'|'..tostring(newvalue)}Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Re: Domotique Piscine
Bonjour,
Depuis que les températures ont baissées j'ai l'erreur suivante qui apparait :
2020-12-07 10:01:00.317 Error: EventSystem: in Gestion_piscine: [string "--[[ Script de gestion de la piscine ..."]:267: attempt to compare nil with number
La ligne concernée est la suivante :
if (val_Tair <= 1) and val_PpeFl == "Off" then
Dans le bloc :
if gst_HorsGel then
--[[ La température de l'eau est <12°C : on utilise la température
Démarrage si température d'air <= 1
Arrêt si température d'air >= 1.5 et température eau >= 0.5
--]]
val_Tair = tonumber(otherdevices_svalues[dev_TAir])
if (val_Tair <= 1) and val_PpeFl == "Off" then
print("Filtration piscine : Démarrage par température")
UpdateSw(dev_PpeFl,'On')
elseif (val_Tair >= 1.5) and (val_TEau>=0.5) and val_PpeFl == "On" then
print("Filtration piscine : Arrêt par température")
UpdateSw(dev_PpeFl,'Off')
end
end
Merci de l'aide que vous pourrez m'apporter
Depuis que les températures ont baissées j'ai l'erreur suivante qui apparait :
2020-12-07 10:01:00.317 Error: EventSystem: in Gestion_piscine: [string "--[[ Script de gestion de la piscine ..."]:267: attempt to compare nil with number
La ligne concernée est la suivante :
if (val_Tair <= 1) and val_PpeFl == "Off" then
Dans le bloc :
if gst_HorsGel then
--[[ La température de l'eau est <12°C : on utilise la température
Démarrage si température d'air <= 1
Arrêt si température d'air >= 1.5 et température eau >= 0.5
--]]
val_Tair = tonumber(otherdevices_svalues[dev_TAir])
if (val_Tair <= 1) and val_PpeFl == "Off" then
print("Filtration piscine : Démarrage par température")
UpdateSw(dev_PpeFl,'On')
elseif (val_Tair >= 1.5) and (val_TEau>=0.5) and val_PpeFl == "On" then
print("Filtration piscine : Arrêt par température")
UpdateSw(dev_PpeFl,'Off')
end
end
Merci de l'aide que vous pourrez m'apporter
---------------------------------------------------------------------------------------------------
Domoticz + Raspberry Pi3 x2 + RFXCOM (IFTTT)
Domoticz + Synology + RFLink
Domoticz + Raspberry Pi3 x2 + RFXCOM (IFTTT)
Domoticz + Synology + RFLink
Re: Domotique Piscine
Essaye de mettre ton script entre les balises Code. Il y a un bouton </>. C'est plus facile pour lire.
En faisant du débogage (voir dans ma signature), est-ce que dev_TAir te retourne une valeur ?
En faisant du débogage (voir dans ma signature), est-ce que dev_TAir te retourne une valeur ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Domotique Piscine
Alors sur tes conseils j'ai mis un print pour avoir la valeur de dev_TAir, j'obtiens le résultat suivant :
2020-12-07 21:22:00.534 Status: LUA: Température Extérieure
2020-12-07 21:22:00.534 Status: LUA: 8.3000001907349
est toujours la même erreur soit :
2020-12-07 21:23:00.540 Error: EventSystem: in Gestion_piscine: [string "--[[ Script de gestion de la piscine ..."]:271: attempt to compare nil with number
Upupup Le problème est résolu !
Après avoir modifié :
val_Tair = tonumber(otherdevices_svalues[dev_TAir])
par
val_TAir = tonumber(otherdevices_temperature[dev_TAir])
Tout est renté dans l'ordre
Un grand merci tout de même
2020-12-07 21:22:00.534 Status: LUA: Température Extérieure
2020-12-07 21:22:00.534 Status: LUA: 8.3000001907349
Code : Tout sélectionner
if gst_HorsGel then
--[[ La température de l'eau est <12°C : on utilise la température
Démarrage si température d'air <= 1
Arrêt si température d'air >= 1.5 et température eau >= 0.5
--]]
val_Tair = tonumber(otherdevices_temperature[dev_TAir])
print(dev_TAir)
print(otherdevices_temperature[dev_TAir])
if (val_TAir <= 1) and val_PpeFl == "Off" then
print("Filtration piscine : Démarrage par température")
UpdateSw(dev_PpeFl,'On')
elseif (val_TAir >= 1.5) and (val_TEau>=0.5) and val_PpeFl == "On" then
print("Filtration piscine : Arrêt par température")
UpdateSw(dev_PpeFl,'Off')
end
end2020-12-07 21:23:00.540 Error: EventSystem: in Gestion_piscine: [string "--[[ Script de gestion de la piscine ..."]:271: attempt to compare nil with number
Upupup Le problème est résolu !
Après avoir modifié :
val_Tair = tonumber(otherdevices_svalues[dev_TAir])
par
val_TAir = tonumber(otherdevices_temperature[dev_TAir])
Tout est renté dans l'ordre
Un grand merci tout de même
---------------------------------------------------------------------------------------------------
Domoticz + Raspberry Pi3 x2 + RFXCOM (IFTTT)
Domoticz + Synology + RFLink
Domoticz + Raspberry Pi3 x2 + RFXCOM (IFTTT)
Domoticz + Synology + RFLink
Re: Domotique Piscine
Pardon ma question était con, je n'avais pas bien lu. Mais tu as fait un print des deux valeurs, c'est super
L'erreur indique que tu essayes de comparer une valeur nulle à une valeur numérique. Tu peux faire un print de val_TAir et val_PpeFl (désolé, j'ai voulu sauté une étape). Il faudrait également tester les deux conditions séparément afin de voir si c'est val_TAir <= 1 ou val_PpeFl == "Off" qui plante.
Avant if (val_TAir <= 1) and val_PpeFl == "Off" then , tu peux par exemple insérer if (val_TAir <= 1) then print("Ok1) end et une deuxième ligne avec l'autre partie de la condition.
L'erreur indique que tu essayes de comparer une valeur nulle à une valeur numérique. Tu peux faire un print de val_TAir et val_PpeFl (désolé, j'ai voulu sauté une étape). Il faudrait également tester les deux conditions séparément afin de voir si c'est val_TAir <= 1 ou val_PpeFl == "Off" qui plante.
Avant if (val_TAir <= 1) and val_PpeFl == "Off" then , tu peux par exemple insérer if (val_TAir <= 1) then print("Ok1) end et une deuxième ligne avec l'autre partie de la condition.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Domotique Piscine
Salut à tous!!!
A la mi-mai j'ai ma piscine!!!!
Filtration sable + électrolyseur + sonde ph-
Serait t-il possible d'avoir une version complète de votre script avec la liste des variables à définir?
C'est peut être abusé mais j'ai parcouru les 30 pages et je m'y perds (n étant pas assez calé aussi!)
j 'ai déjà pas ma de chose sous domoticz mais je tâtonne.....
Je dédierai un Rasp 3b pour le local piscine et ce sera mon second esclave
Par contre une question:
j'ai donc tout ce matos pré-cité qui va être installé.
Dois-je rajouter 4 "T" pression ave réducteur pour ajouter:
1 doigt mesureur température ds18b20 ( j'ai déjà plusieurs sonde en version étanche)
1 doigt avec 1 sonde ph
1 doigt avec 1 sonde chlore
1 doigt avec injecteur PH-
Quel type de matériel pouvez vous me conseillez pour réaliser ces doigts
j'ai du tube en 50mm ( je sais pas quel doigt prendre et quel réducteur prendre....à visser, à coller)
ou prendre les sondes chlore et PH et l'injecteur PH
Si vous aviez des photos, ce serait top!!!!
Merci pour tout!!!!
A la mi-mai j'ai ma piscine!!!!
Filtration sable + électrolyseur + sonde ph-
Serait t-il possible d'avoir une version complète de votre script avec la liste des variables à définir?
C'est peut être abusé mais j'ai parcouru les 30 pages et je m'y perds (n étant pas assez calé aussi!)
j 'ai déjà pas ma de chose sous domoticz mais je tâtonne.....
Je dédierai un Rasp 3b pour le local piscine et ce sera mon second esclave
Par contre une question:
j'ai donc tout ce matos pré-cité qui va être installé.
Dois-je rajouter 4 "T" pression ave réducteur pour ajouter:
1 doigt mesureur température ds18b20 ( j'ai déjà plusieurs sonde en version étanche)
1 doigt avec 1 sonde ph
1 doigt avec 1 sonde chlore
1 doigt avec injecteur PH-
Quel type de matériel pouvez vous me conseillez pour réaliser ces doigts
j'ai du tube en 50mm ( je sais pas quel doigt prendre et quel réducteur prendre....à visser, à coller)
ou prendre les sondes chlore et PH et l'injecteur PH
Si vous aviez des photos, ce serait top!!!!
Merci pour tout!!!!
Rpi 2B Dz V2023.2 master ;)
Rpi 3B Dz V2023.2 slave + Rflink + USB ZWAVE+ + Rflink RTS (marche pas..} :ugeek:
Rpi 3B with RapItow 8-)
Xiaomi V2 + acc
SP3
2xVR + 3xPC DIO Chacon
5x1 voie Sonoff (4 d'origine....1 seul flashé)
Rpi 3B Dz V2023.2 slave + Rflink + USB ZWAVE+ + Rflink RTS (marche pas..} :ugeek:
Rpi 3B with RapItow 8-)
Xiaomi V2 + acc
SP3
2xVR + 3xPC DIO Chacon
5x1 voie Sonoff (4 d'origine....1 seul flashé)
-
mickaelr30
- Messages : 210
- Inscription : 29 août 2015, 15:57
Re: Domotique Piscine
bonjour,
voici le montage que j'ai fait :
- 1 collier prise en charge avec adaptation d'un presse-étoupe d’électricien en amont de la pompe pour la sonde de température.
- 1 collier prise en charge en sortie de la pompe qui alimente des filtres à cartouche ( qui servent de chambre de tranquillisation) pour les sonde de ph, de chlore et bientôt de conductivité ( j'ai également adapté des presses étoupe d'électricien pour les sondes) qui repart en aval du filtre.
- 1 collier prise en charge en aval du filtre pour injection du Ph.
voici le montage que j'ai fait :
- 1 collier prise en charge avec adaptation d'un presse-étoupe d’électricien en amont de la pompe pour la sonde de température.
- 1 collier prise en charge en sortie de la pompe qui alimente des filtres à cartouche ( qui servent de chambre de tranquillisation) pour les sonde de ph, de chlore et bientôt de conductivité ( j'ai également adapté des presses étoupe d'électricien pour les sondes) qui repart en aval du filtre.
- 1 collier prise en charge en aval du filtre pour injection du Ph.
Domoticz + Imperihome + Mydomoathome
1-wire : 12 DS18b20 + 3 DS2413
Z-Wave : 8 FGR221 + 3 FGS222 + 3 FGSD002
téléinfo : 2 modules ( consommation + production)
Mysensors+2 éclairages ws2812 et WLED
2 caméra IP +1 raspberry piscine + 1 nuc domoticz
1-wire : 12 DS18b20 + 3 DS2413
Z-Wave : 8 FGR221 + 3 FGS222 + 3 FGSD002
téléinfo : 2 modules ( consommation + production)
Mysensors+2 éclairages ws2812 et WLED
2 caméra IP +1 raspberry piscine + 1 nuc domoticz