Aller au contenu
turlututu74

Interrupteur Tactile Rgbw 0-10V Sur Module Fgrgb-101 (Rgbw)

Recommended Posts

Interrupteur tactile 0-10v connecté sur un module fibaro fgrgb -101 (rgbw) 0-10v.

Tout fonctionne parfaitement, le module fibaro rgbw réagit au doigt et à  l'oeil avec l’interrupteur tactile ...

Réglage du module Fibaro fgrgb-101 obligatoirement en Output/Input 0-10v.
Ce mode crée:
- 1 module Maître
- 4 modules esclaves.

Principe de fonctionnement:
1) récupérer les valeurs envoyées par l'interrupteur tactile au module fibaro "01".
2) récupérer les valeurs du module fibaro "02" qui est connecté au ruban led.
3) faire une comparaison des deux valeurs et lorsque il y a un déséquilibre entre ces deux modules imposer au modules fibaro "02" ruban led de se mettre en phase avec le module "01"
Pour la partie "intelligente" de l'inter, lorsque celui ci est a 0 au niveau des valeurs rgbw traiter cette action comme éteint.
Et inversement aussi lorsque l'inter envoie une info >= a 0 au niveau des valeurs rgbw traiter cette info comme allumer !
Pour le S idem, c'est une touche d’apprentissage donc je lui impose pour mon cas d'avoir un R=256 un G=0 et un B=256, le tour est joué, lorsque j'ai ces valeurs je valide le push !!!
Mais aussi la possibilité de réaliser jusqu'à  4 zones afin de pouvoir contrôler jusqu'à  4 modules RGBW différents !!! du travail reste à  faire sur ce point.

​Présentation du montage:
post-937-0-75399000-1425129419_thumb.jpg

Présentation de l'interrupteur:
post-937-0-00787100-1425130931_thumb.jpg

Présentation du câblage:
post-937-0-26600200-1425129438_thumb.jpg

Présentation du module virtuel en positon d’arrêt:
post-937-0-51371300-1425129517_thumb.jpg

Présentation du module virtuel en positon de fonctionnement maxi:
post-937-0-04674300-1425129573_thumb.jpg

Présentation du périphérique virtuel (ébauche):
post-937-0-65305500-1425129657_thumb.jpg

Présentation en vidéo de l'ensemble:
https://www.youtube.com/watch?v=F-FSzuWvDAc&feature=youtu.be


Ou trouver l’interrupteur!
Prochainement il sera disponible sur un site e-commerce que je mets en place. Ce site va proposer beaucoup de produits qui pourront être intégré entre autre avec les modules fibaro.

---------------------------------------------
Voila, pour un premier tour rapide concernant ce montage.
Merci à  KriKroff pour son code afin de rapatrier séparément les valeurs RGBW du module fibaro.
Je ne poste pas pour le moment le code du périphérique virtuel et de la scène, il n'est pas encore terminé et utilise trop de whiletruedo je voudrais travailler d'avantage avec les Trigger !!!

Ravis de partager enfin cet ensemble qui pour moi et madame va changer nos habitudes et relations avec la domotique.
Comme je l'avais déjà  évoqué, un peu de simplicité c'est pas mal aussi surtout lorsque la tablette tactile est déchargée !

Bruno

PS: j'ai déjà  un nouveau truc à  réaliser "un mur chauffant fonctionnant avec mon poêle à  bois, un échangeur à  plaque, et des ballons tampons, avec passage d'un circuit VMC double flux dans ce mur afin de chauffer l'air pour les étages.. je pense qu'il va y avoir du fibaro universel fgbs-001 " Mais la il y a du gros oeuvre donc ce sera plus long !!!
---------------------------------------------

 

 

Bien, voila le code concernant le module virtuel il se trouve dans la phase ou je le présente dans la vidéo youtube:

Il reste un petit travail a réaliser concernant le pushS.

 

Bon je post le vfib : Tactile_RGBW_0_10V.vfib

Son image : post-937-0-53701800-1429273796_thumb.png

 

Mais aussi voila la scène qui traite la possibilité sur deux zones pour le moment afin de changer les états en Zone R vers Zone G et vis versa, le reste n'ai pas terminé hélas par manque de temps ...

Il faudra par la suite créer en fonction de ces zones "l'attaque" des modules RGBW souhaité ...

Oui il y a encore pas mal de travail ...

 

Scéne à  créer aussi : Zone_R_vers_Zone_G.txt

 

Il faudra aussi créer 3 variables prédéfinies:

Tactile1Mode : AllActif, Off, OffOn, OnOff, Timer

Tactile1_PushS: Inactif, Actif

Tactile1_Zone: ZONE_R, ZONE_G,ZONE_B

 

Site Internet pour trouver le produit:

Plus de site, car pas de temps pour s'en occupé...

Reste quelques inter 0-10v disponible.

 

Merci à  vous !

  • Upvote 8

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, bien ton module .

 

une petite question, j'avais reflechis a ca , mais comment faire si on a plusieurs bandeau et changer la couleur d'un , mais avec une couleur autre pour le second sans mettre 5 interrupteurs parce que 5 rubans. 

 

vois tu une solution,,

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

 

C'est ce que Bruno montre au travers de l'utilisation des boutons r g b w et la notion de zones. Si j'ai bien compris un interrupteur pourrait controler jusqu'à  4 modules indépendamment.

 

Beau boulot Bruno ! Vivement la publication du vfib et du lien pour acquérir l'interrupteur mural.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Q.philippe: Effectivement Joache a répondu à  la question, la notion de zone est la pour cela, il suffit de réaliser en fonction de la variable ZONE_x une comparaison du  "déséquilibre" avec un autre module fibaro et de lui appliquer la couleur souhaitée.

Le coté vraiment intéressant c'est que l'on peut en fonction de certaines valeurs retournées lancer des actions de scènes ou directement attaquer un module fibaro !

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, je finalise le site de vente et surtout valide les tarifs avec ces malheureux frais de ports de Chine et douane !!! Je vous tiens rapidement informé. A bientôt.

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello Bruno,

 

Des nouvelles concernant le site et le périphérique virtuel pour rendre nos RGBW un peu plus WAF?  :60:

Partager ce message


Lien à poster
Partager sur d’autres sites

Désolé, je suis vraiment àla rue !!!

Le site est prêt, le développement de l interface est toujours au même point.

Les frais de douanes sont vraiment làpour nous mettre des bâtons dans les roues afin de minimiser les possibilités d exportations!!! Bref rien n est établis financièrement dans leurs démarches.

Je tache de lancer le site la semaine prochaine et proposer les bons tarifs malgrés l'inconnue des frais de douanes.

Je vous tiens informé.

Bruno

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors ouf ouf, que le temps passe vite !!!

Entre le boulo pour nourrir sa famille et les à -cotés ...

 

Le site est terminé, il reste des produits a intégrer mais bon je ferais au fur et à  mesure.

Par contre le lien n'est pas un domaine pour le moment. Je peux cependant vous transmettre le lien provisoir...

Je ne sais pas si par rapport au admin et au recommandation j'ai la permission de le transmettre ici.

Si un admin peut me guider dans cette démarche.

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Un petit up déguisé :)

​Bruno, si besoin, je me porte volontaire pour tester le site!

 

Sinon, as tu prévu publier le code de ton module virtuel? Si ce dernier doit être optimisé, peut être la communauté peut aider?

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas tout àfait, le modèle que tu présentes ne dispose pas des boutons de zonage, après, il vaut aussi voir le voltage supporté.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bien voila, c'est en place, le gros boulo est terminé.

Et encore désolé pour ce retard, mais je préfaire valider le bon fonctionnement de l'ensemble du site que de proposer des versions bétas avec bugs a la clé.

On a déjà  assez a faire avec ceux de Fibaro (mauvaise langue)  ;)

L'ensemble des infos (module virtuel, scéne, lien du site internet) sont dans le tuto.

A bientôt Bruno

Partager ce message


Lien à poster
Partager sur d’autres sites

Je reviens faire toi , je vais faire l'acquisition de l'interrupteur ,,, et mettre ton module,,, a oui quand je pourrai l'integrer because fibarooo,,, apres j'essaie pas l'implantation forcer MV,, trop de crainte pour moi !

 

Mais SUPER ton Module turlulu,,, complexe mais bien (aussi complex que l'interrupteur oui)!

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour q.philippe, en effet, c'est vraiment bien. il reste cependant pas mal de travail si l'on veux vraiment utiliser toutes les capacités du module. je pense même qu'il faudrait reprendre le synoptique de fonctionnement si l'on utilise la possibilité de créer 3 ou 4 zones. Avec la possibilité de pouvoir allumer, éteindre, et bien sur régler telle ou telle zone ...

Mais là  je suis plus qu'au taquet dans mon travail.... Je regrette je ne suis plus tellement actif sur le forum !

Mon module fonctionne toujours dans mon bureau, et avec le btn S je gère l'éclairage de la lampe sur le balcon... Pour les zones je n'ai rien fais de plus, il faudrait développer !

 

Mais si l'on peut travailler à  plusieurs sur le produit je pense que l'on arriverait a quelque chose très correct pour ce prix qui je le sais est relativement élevé. Entre DHL, les frais de douanes, la non récupération de la tva sur le produit et le transport chez le client final, je ne peux vraiment pas faire mieux pour le moment !!!

Bruno

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello Turlututu74, avec beaucoup de retard...

Juste un petit retour d'expérience....

J'ai installé le module et cela fonctionne parfaitement !!! Super.

Merci pour ta réactivité et l'envoi rapide du module 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ravis pour toi Arbu-jl ca fait toujours plaisir ce type de retour,

Je crois savoir que tu n'es pas très loin de chez moi, si tu veux on peut faire évoluer le dev du module !

Comme tu as pu le voir il faudrait poursuivre ou reprendre la partie de créations des zones !

Si il y a des volontaires pour aider !

Merci a vous

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce serait vraiment avec plaisir, mais sincèrement je n'y connais pas grand chose en lua ou autre programme de dev. Par contre, je veux bien tester....

Partager ce message


Lien à poster
Partager sur d’autres sites

Nouvelle version pour le btn tactile 0-10v

Fonction Push S du tactile (On Off) possible sur un module fibaro.

Envois d'un push sur le téléphone portable ou la tablette au moment du changement de cet état.

 

Travail en cours sur la possibilité de sélectionner jusqu'à  3 zones ...

 

A copier/coller directement dans la boucle principale du module virtuel.

fibaro:debug(' Start programme');


--------------------------------- Paramètre utilisateur -----------------------------

--ID du module ruban led à  piloter (obligatoire)
local IDmoduleRuban01 = 101

-- ID du module à  piloter pour les fonctions On/Off et All actif sur le module virtuel(facultatif)
local IDmoduleSwitch = 0

-- ID du module à  piloter pour la touche PushS du Tactile(facultatif), incrémante aussi une variable globale (Actif/Inactif)
local IDmodulePushS = 195

-- Tempo pour le Mode Timer du module virtuel
local TimerEnd = 20 -- Nb de secondes avant extinction des lumières

-- Envois un push sur le smartphone (pratique pour savoir si quelqu'un bricole le tactile) ---
local Id_Smartphone = 188

--------------------------------Fin de paramètre utilisateur ----------------------


-- je ne refais pas si c'est fait au niveau des transmission d'info aux modules
local OnOff = 0
local OffOn = 0
local AllActif = 0
local Timer = 0
local Off = 0
local PushS = 0
local CompteurTimer = 0 -- démarrage du CompteurTimer


-- Zone
local Tactile1_Zone = fibaro:getGlobalValue("Tactile1_Zone")
fibaro:debug('Zone au démarrage : ' .. Tactile1_Zone)
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Zone.value", Tactile1_Zone)


while true do ------------------------------------------------------------------------------------

------------------------------------- Variables de traitement ------------------------------------

local Tactile1Mode = fibaro:getGlobalValue("Tactile1Mode")
--fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Etat.value", Tactile1Mode)

local Tactile1_PushS = fibaro:getGlobalValue("Tactile1_PushS")
--fibaro:call(fibaro:getSelfId(), "setProperty", "ui.PushS.value", Tactile1_PushS)

local Tactile1_Zone = fibaro:getGlobalValue("Tactile1_Zone")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Zone.value", Tactile1_Zone)


-- Fonction de récupération des infos RGBW du Tactile 0-10V --------------------------------------
local Inter_R = math.floor(fibaro:getValue(122, 'value'))
local Inter_G = math.floor(fibaro:getValue(123, 'value'))
local Inter_B = math.floor(fibaro:getValue(124, 'value'))
local Inter_W = math.floor(fibaro:getValue(125, 'value'))
  
-- Donne l'état de l'inter tactile ( si Local Inter >0 en marche )
local InterTactile = (Inter_R + Inter_G + Inter_B + Inter_W)

-- Fonction de retour des valeurs RGBW du module à  piloter " MERCI KriKroff ;-) "
function colorSetToRGBWTable(colorSet)
  if (colorSet=='' or colorSet==nil) then return false end;
  local t, i = {}, 1;
  for v in string.gmatch(colorSet,"(%d+)") do  	
      t[i] = v;
      i = i + 1;
  end
  return t;
end
  
local RGBWTable  = colorSetToRGBWTable (fibaro:getValue(IDmoduleRuban01, "lastColorSet"));
--fibaro:debug('R Bureau ='..RGBWTable[1]);
--fibaro:debug('G Bureau ='..RGBWTable[2]);
--fibaro:debug('B Bureau ='..RGBWTable[3]);
--fibaro:debug('W Bureau ='..RGBWTable[4]);


-- Tactile1Mode ON -----------------------------------------------------------------------------
function Tactile1ModeON()

if Tactile1Mode == "OnOff"	then
		if OnOff == 0 then
			fibaro:debug(' Tactie On - Etat OnOff')
			fibaro:call(IDmoduleSwitch,"turnOn")
			OnOff = 1
      		        OffOn = 0
      		        AllActif = 0
			Timer = 0
			Off = 0
			end			
elseif Tactile1Mode == "OffOn" then
		if OffOn == 0 then
			fibaro:debug(' Tactie On - Etat OffOn')
			fibaro:call(IDmoduleSwitch,"turnOff")
			OffOn = 1
      		        OnOff = 0
      		        AllActif = 0
      		        Timer = 0
          	        Off = 0	
  	end
elseif Tactile1Mode == "AllActif"	then
		if AllActif == 0 then
			fibaro:debug(' Tactie On - Etat AllActif')
			fibaro:call(IDmoduleSwitch,"turnOn")
			AllActif = 1
      		        OffOn = 0
      		        OnOff = 0
			Timer = 0
          	        Off = 0	
		end			
elseif Tactile1Mode == "Timer"	then
      	if Timer == 0 then
			fibaro:debug(' Tactie On - Etat Timer')
			Timer = 1
			AllActif = 0
      		        OffOn = 0
      		        OnOff = 0
        	        Off = 0	
		end
end	

return ("ok")
end


-- Tactile1Mode OFF --------------------------------------------------------------------------
function Tactile1ModeOFF()

if Tactile1Mode == "OnOff"	then 
			if OnOff == 1 then
			fibaro:debug(' Tactie Off - Etat OnOff')
			fibaro:call(IDmoduleSwitch,"turnOff")
			OnOff = 0
      		        OffOn = 1
     		        AllActif = 1
     		        Timer = 1
      		        Off = 1	
			end
elseif Tactile1Mode == "OffOn"	then 
			if OffOn == 1 then
			fibaro:debug(' Tactie Off - Etat OffOn')
			fibaro:call(IDmoduleSwitch,"turnOn")
			OffOn = 0
      		        OnOff = 1
      		        AllActif = 1
			Timer = 1
      		        Off = 1	
			end
elseif Tactile1Mode == "AllActif"	then
			if AllActif == 1 then
			fibaro:debug(' Tactie Off - Etat AllActif')
			fibaro:call(IDmoduleSwitch,"turnOn")
			AllActif = 0
      		        OffOn = 1
      		        OnOff = 1
			Timer = 1
      		        Off = 1	
			end	
elseif Tactile1Mode == "Timer" then
 if Timer == 1 then
		while Tactile1Mode == "Timer" and CompteurTimer ~= TimerEnd do
					CompteurTimer = CompteurTimer+1
					stop = (TimerEnd - CompteurTimer)
					fibaro:debug('Fin dans : ' .. stop)
					fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Info.value", stop)
          			--fibaro:call(IDmoduleRuban01, "setColor", 'stop', 'stop', 'stop', 'stop')
        			        fibaro:call(IDmoduleRuban01, "setColor", 20, 20, 20, 20)     	
					if (CompteurTimer == TimerEnd) then
            		                fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Info.value","Off")
					fibaro:call(IDmoduleRuban01, "setColor", 0, 0, 0, 0)
					end
					fibaro:sleep(1000)
		end
				Timer = 0
				AllActif = 1
    			        OffOn = 1
    			        OnOff = 1
       			        Off = 1	
   end
end
	return ("ok")
end



-------------------------------------Démarrage du test --------------------------------------------

if InterTactile > 0  then
CompteurTimer = 0
SwitchOff = 0

    	        -- Important bien faire le tarage du bouton du S sur l'interrupteur (action à  réaliser 3 fois car le btn S a trois mémoires)
		-- Avant de réaliser le tarage mettre sur le module virtuel le mode " Off btn du module virtuel (Arret du mode en cours)"
		-- Allumer par la touche R et B l'éclairage sur le btn et mémoriser l'état en restant appuyer 3 secondes
		-- sur la touche S (clignotement diode de l’inter Tactile). Action à  réaliser 3 fois.
		-- Noté bien que la fonction push S ne fonctionne que si le Tactile est en intensité maximum (petit soleil en haut à  droite sur le tactile). Le réglage de l'intensité sera possible avec la touche W (White) du tactile.
		
    if  Inter_R >= 253 and Inter_G == 0 and Inter_B >= 253 then
			
			if SwitchPushS == 0 then
					
   				fibaro:debug('Push S Validée');
   				fibaro:call(IDmoduleRuban01, "setColor", 255, 255, 255, 255)
        		        fibaro:sleep(500)
				fibaro:call(IDmoduleRuban01, "setColor", 0, 0, 0, 0)
				fibaro:sleep(100)
						
   				if  Tactile1_PushS == "Inactif"  then
        			fibaro:call(IDmoduleRuban01, "setColor", 20, 20, 20, 20)
        			fibaro:debug('Push S Activé')
        			fibaro:setGlobal("Tactile1_PushS", "Actif")
					local Tactile1_PushS = fibaro:getGlobalValue("Tactile1_PushS")
					fibaro:call(fibaro:getSelfId(), "setProperty", "ui.PushS.value", Tactile1_PushS)
					SwitchPushS = 1 -- permet de ne pas boucler tant que l'on a pas modifier Inter_R >= 253 and Inter_G == 0 and Inter_B >= 253
					fibaro:call(tonumber(Id_Smartphone), 'sendPush', "Touche S Actif")
					fibaro:call(IDmodulePushS,"turnOn")
        
				elseif Tactile1_PushS == "Actif"  then
   					fibaro:call(IDmoduleRuban01, "setColor", 20, 20, 20, 20)
					fibaro:debug('Push S Désactivé')
        			fibaro:setGlobal("Tactile1_PushS", "Inactif")
					local Tactile1_PushS = fibaro:getGlobalValue("Tactile1_PushS")
					fibaro:call(fibaro:getSelfId(), "setProperty", "ui.PushS.value", Tactile1_PushS)
   					SwitchPushS = 1 -- permet de ne pas boucler tant que l'on a pas modifier Inter_R >= 253 and Inter_G == 0 and Inter_B >= 253
					fibaro:call(tonumber(Id_Smartphone), 'sendPush', "Touche S Inactif")
					fibaro:call(IDmodulePushS,"turnOff")
   				end
			end
      
	  
----	Etat après le pushS ---  
			if SwitchPushS == 1 then
					if PushS == 0 then
						fibaro:debug('Retour PushS')
						fibaro:call(IDmoduleRuban01, "setColor", 20, 20, 20, 20)
						fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Info.value","Toucher Pad")
						PushS = 1	
					elseif PushS == 1 then
							
					end
			end
			
				

   				
   	
		elseif
  	   			
      			Inter_R ~= math.floor(RGBWTable[1]) or
       			Inter_G ~= math.floor(RGBWTable[2]) or
       			Inter_B ~= math.floor(RGBWTable[3]) or
       			Inter_W ~= math.floor(RGBWTable[4])		then
        		
      				fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Info.value","On")
    				fibaro:call(IDmoduleRuban01, "setColor", Inter_R, Inter_G, Inter_B, Inter_W)
  					fibaro:debug('Synchronisation');
					SwitchPushS = 0 -- init pour la prochaine fois
      				PushS = 0 -- vérou pour la fonction call dans SwitchPushS == 1
		end
		
		if Tactile1Mode ~= "Off" then
		Tactile1ModeON()
		end

else 
SwitchPushS = 1 -- Je sécurise l'état PushS au cas ou au redémarage on aurai encore Inter_R >= 253 and Inter_G == 0 and Inter_B >= 253
PushS = 0 -- vérou pour la fonction call dans SwitchPushS == 1

					if Tactile1Mode ~= "Off" then -- je fais des actions.
      					fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Info.value","Off")
							Tactile1ModeOFF()
						if Tactile1Mode ~= "Timer" then -- on éteind tout mais pas si mode timer
								if SwitchOff == 0 then
								fibaro:call(IDmoduleRuban01, "setColor", 0, 0, 0, 0)
								SwitchOff = 1
								
								end
						end
					else
								if SwitchOff == 0 then
        						fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Info.value","Off")
								fibaro:call(IDmoduleRuban01, "setColor", 0, 0, 0, 0)
								SwitchOff = 1
								
								end
					end
	
end 
fibaro:sleep(200)
end

fibaro:sleep(3000)

Partager ce message


Lien à poster
Partager sur d’autres sites

salut a tous

 

votre avis m’intéresse sur ce produits Z-wave : http://www.sunricher.com/z-wave-series/z-wave-touch-panel-secondary-controllers/touch-rgbw-z-wave-secondary-controller-sr-zv9003t-rgbw.html

 

Pensez vous qu'il soit compatible avec le HC2 FIBARO ?

 

 

 

 

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

salut @971jmd je crois qu'un membre du forum a fait le test et est parvenu à faire l'inclusion avec sa HC2. Fais une recherche sur le forum tu devrais pouvoir trouver le topic.

Ca date d'il y a quelques mois, je me rappelle avoir vu ce truc dans un post... il y avait même un video si mes souvenirs sont bons 

Partager ce message


Lien à poster
Partager sur d’autres sites

×