Welcome to Domotique-fibaro

 

Inscrivez-vous maintenant pour accéder à toutes nos fonctionnalités. Une fois inscrit et connecté, vous serez en mesure de contribuer à ce site en soumettant votre propre contenu ou en répondant au contenu existant. Vous serez en mesure de personnaliser votre profil, de recevoir des points de réputation comme une récompense pour la soumission de contenu, tout en communiquant avec d'autres membres via votre boîte de réception privée, et bien plus encore! Ce message sera supprimé une fois que vous vous êtes connecté.

 

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

ebtjjn

Domotisation De La Piscine

Salut tout le monde,
Après avoir largement profité des conseils du site (et d'autres), voici venu le temps de faire un retour d'expérience et peut être aider quelques uns d'entre vous qui liront le sujet : voici donc où j'en suis ce jour : quand je parle de domotisation, il s'agit de régler le temps de filtration sur la température de l'eau.
Dans l'idéal au niveau du "hardware" et de l'installation, j'aimerai mettre la sonde directement dans le circuit au niveau du local piscine; on voit rien niveau esthétique et ça fait "propre" : voir réponse de "pinou" dans le post :

http://www.domotique-fibaro.fr/index.php/topic/4432-virtual-device-gestionnaire-filtration-piscine/page-2?hl=%20gestionnaire%20%20piscine

Faute de temps et par le fait que je risque prochainement de changer le local piscine, j'ai choisi la solution "classique" : sonde de température dans le bassin avec le fil plus ou moins caché...

Pour cela,j'ai acheté :
- une sonde waterproof de 5m (j'en avias acheté de 1m mais pas assez longue pour arriver directement dans le local!!)
http://www.planete-domotique.com/sonde-de-temperature-1-wire-etanche-5-metres-sans-connecteur.html
- un sensor universel fibaro  FGBS-001 
http://www.domadoo.fr/fr/peripheriques/916-fibaro-detecteur-universel-z-wave-fgbs-001-5902020528074.html

- un module double switch FGS-222 :(un pour la pompe, l'autre switch pour la lumière)

http://www.domadoo.fr/fr/obsoletes/937-fibaro-micromodule-commutateur-double-z-wave-fgs-221-5902020528043.html
- un transformateur pour l'alimenter le sensor universel
https://www.amazon.fr/dp/B00H2D6X8G/ref=pe_386181_148007091_TE_dp_1
 

Pour les branchements, rien de compliqué au final, j'ai fait comme indiqué dans de nombreux forums et sur le site...

Puis ensuite, côté HC2 et scénario/virtual device, le VD de chris6783 ne me convenait pas : je n'ai pas bien compris!!! et surtout le coup des cycles et de la filtration pas forcément continue ne me plaisait pas...

http://www.domotique-fibaro.fr/index.php/topic/4432-virtual-device-gestionnaire-filtration-piscine/?hl=%2Bgestionnaire+%2Bpiscine
Voici mon code qui permet de gérer le mode hiver : en hiver (changement de la variable "saison" à  hiver le jour où je passe la piscine en hivernage), si la température n'est pas inférieure à  2°C, je filtre de 4h à  6h du matin; si la température descend en dessous de 2°C, je filtre en continu.
L'été (changement de la variable "saison" à  été le jour où je "redémarre" la piscine) : à  10h30, démarrage de la filtration; à  11h30 prise de température (une fois que l'eau a été filtrée et qu'elle à  tourné un peu) puis délai de filtration selon la température.
J'ai des notifications à  chaque démarrage ou fin de filtration.
 
J'ai poussé un peu avec un VD qui me permet de stopper la filtration, d'activer un choc long de 11h, un choc court de 2h et d'allumer ou éteindre la lumière. Le VD m'indique aussi dans quel mode de filtration je suis (en lien avec la scène). Je n'ai pas réussi à  faire remonter la temp instantanée sur le VD mais je vais encore chercher (et de tout façon je la vois sur le module correspondant sur l'appli).
 
Voici donc mon code de la scène et en PJ, le VD.
Je suis bien sà»r preneur de toutes les remarques concernant la correction ou amélioration du code car je n'y connais rien en programmation. ..!!!

 

ebtjjn

--[[
%% autostart
%% properties
%% events
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();

function tempFunc()	--fonction de filtration en ETE
	local currentDate = os.date("*t");
	local startSource = fibaro:getSourceTrigger();

	if (
 	( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "10:30") )
		)
	then
    	fibaro:debug("Je filtre");
		fibaro:call(69, "turnOn");
    	fibaro:setGlobal("modefiltration", 1)
    	fibaro:call(13, "sendDefinedPushNotification", "51");
 		fibaro:sleep(3600*1000)
		-- 	au bout d'une heure, prise de température pour gestion auto du nbe d'heures à  filtrer selon temp de l'eau
		local temppiscine = fibaro:getValue(91, "value")
		-- test de la température : si > 27, filtration sur 22h30 de plus (=23h30 au total) sinon, règle BAROUDI		
    		if tonumber(temppiscine) > 27 then
      			fibaro:debug("T° eau piscine > 27 ==> filtration continue")
	      		fibaro:call(13, "sendDefinedPushNotification", "80");
		   		local nbheuresafiltrer = 22,5 * 3600 * 1000
      		else
		    	fibaro:debug("T° eau piscine = " ..temppiscine .. " °C")	
    			local temppiscinearrondi = math.floor(tonumber(temppiscine)+ .5)
				local nbheuresafiltrerenh = ((tonumber(temppiscinearrondi)/2)-2)
				fibaro:debug("nb heures a filtrer = " .. nbheuresafiltrerenh)
				local nbheuresafiltrer = nbheuresafiltrerenh *3600 * 1000
				-- on définit la variable dureefiltration = nb d'heures à   filtrer 
				fibaro:setGlobal("dureefiltration", nbheuresafiltrer)
			end	
		fibaro:debug("Valeur de la variable _dureefiltration_ : "..fibaro:getGlobalValue("dureefiltration"));
		fibaro:sleep(tonumber(fibaro:getGlobalValue("dureefiltration"))-(3600*1000));    
    		if fibaro:getGlobalValue("modefiltration") == "12" then
      			fibaro:debug("Fin du mode auto mais CHOC déjà  en cours")
      		else
        		fibaro:debug("Fin du timer, j\'arrête de filtrer");
				fibaro:call(69, "turnOff"); 
    			fibaro:setGlobal("modefiltration", 0)
    			fibaro:call(13, "sendDefinedPushNotification", "52");
      		end

    end

  setTimeout(tempFunc, 60*1000)
  
end

if fibaro:getGlobalValue("Saison") == "Eté" then --je filtre en mode ETE
	fibaro:debug("c\'est l\'été, cool !! :-)")
	tempFunc()
		
else	
	local temppiscine = fibaro:getValue(91, "value")
	-- test de la température : si < 2, filtration sur 24h, sinon 2h de 4h à  6h du mat		
    	if tonumber(temppiscine) < 2 then
      		fibaro:debug("T° eau piscine < 2 ==> filtration continue")
	      	fibaro:call(13, "sendDefinedPushNotification", "79");
		   	local nbheuresafiltrer = 23,5 * 3600 * 1000
			fibaro:call(71, "turnOn"); 
		    fibaro:debug("Je filtre en continu");			
      		fibaro:setGlobal("modefiltration", 1)
			fibaro:sleep(5*1000)
    		fibaro:call(71, "turnOff");
    		fibaro:debug("Fin du timer, j\'arrête de filtrer");
    		fibaro:call(13, "sendDefinedPushNotification", "52");
    		fibaro:setGlobal("modefiltration", 0)
		end
	
    
  		if ( --à  4h du matin, j'active la filtration
 		( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "04:00") )
			) then
		-- s'il y a un CHOC en cours --> priorité au CHOC : je ne fais rien. Sinon, je filtre 2h.
			fibaro:debug("je filtre en mode HIVER")			
    			if fibaro:getGlobalValue("modefiltration") == "12" then
					fibaro:debug("CHOC déjà  en cours : la durée de filtration est celle définie par le CHOC") 
      			else
        			fibaro:call(69, "turnOn"); 
		    		fibaro:debug("Je filtre");			
      				fibaro:setGlobal("modefiltration", 1)
      				fibaro:call(13, "sendDefinedPushNotification", "51");
					fibaro:sleep(2*3600*1000)
					fibaro:debug("Fin du timer, j\'arrête de filtrer");
					fibaro:call(69, "turnOff");
    				fibaro:setGlobal("modefiltration", 1) --je ne teste pas s'il ya un CHOC en cours : il faudrait l'avoir déclenché entre 4h et 6H du matin...
    				fibaro:call(13, "sendDefinedPushNotification", "52");
      			end
		end

end

Le VD ici :

 

PISCINE.vfib

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour le partage. On peut avoir une photo du local technique ?

 

(Moi je viens de signer la commande de ma piscine, cool !!! Bon, reste à  bosser :))...

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Ouh la... le local technique... c'en n'est pas vraiment un en fait...!!!  :rolleyes:

L'ancien proprio avait fait un "trou" adossé au mur du voisin, bati avec quelques briques et une planche dessus pour "fermer"... Ca n'a rien d'un vrai local technique du coup... 

Mais je peux la photo que j’intitulerai : "ceci n'est pas un local technique"!!  ;)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut. je souhaite domotiser la pompe de ma piscine cette hiver. C'est surtout pour éviter le gel.

J'ai vu que tu utilises un FGS-222 + FGBS-001 + sonde

Je part sur le même principe mais je souhaite acheter le FGS-223 qui est plus récent.

Ma question est de savoir si je peux utiliser le FGS-223 en sachant qu'il n'y a pas de contact sec avec cette version?

Merci de vos réponse.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon je me répond à moi même. Oui on peut utilisé le FGS-223 pour gérer la pompe de la piscine et la lampe.

J'ai effectué l!installation du module cette après-midi et tout fonctionne parfaitement.

Par contre je ne sais pas quel VD utiliser car il y en a quelques un sur le forum et ils sont un peu "difficile " à comprendre et paramètre pour un novice en LUA comme moi.

C'est pourquoi, je commence avec une scène pour gérer la pompe. Mais, car il y a un mais.. La scène que j'ai mis en place ne ce lance pas! je vous ai mis deux captures d'écran (la scène et le message d'erreur), pouvez-vous me dire ce qui ne va pas. Merci de vos conseilles.

Pisc_Scene_Bloc_01.png

Pisc_Scene_Bloc_02.png

0

Partager ce message


Lien à poster
Partager sur d’autres sites