Page 1 sur 1

[Résolu] Widjet volet roulant Blinds & mise à jour carte relais ZIGBEE & Bubendorff

Publié : 04 mars 2024, 19:59
par DiliaK
Bonsoir,

J'ai un volet roulant Bubendorff dont j'ai hacké les BP montée-descente en soudant des fils sur les BP.
J'ai mis une platine 4 relais Zigbee qui se reflète par des widgets BP type on/off.
1.PNG
1.PNG (146.19 Kio) Consulté 862 fois
Des boutons Marche/arrêt rflink Dio configurés en blinds en tant que widget pilotent la platine relais grâce aux actions on et off bindant sur mes widgets BP Zigbee.
4.PNG
4.PNG (298.06 Kio) Consulté 862 fois
Quand je pilote les stores avec les commandes fixées au mur rflink, ça fonctionne. Le widget fait son office et change d'état.
Quand je pilote avec le widget blinds sur Domoticz, c'est OK, ça change d'état aussi.

Par contre, quand je pilote par les widgets BP, ça fonctionne mais l'état ne se reflète pas sur le widget blinds.
Le souci c'est que si je mets une commande json dans les widgets BP bindant sur le widget blinds, j'obtiens une double commande. L'état change, oui mais de temps en temps il y a un décalage et les deux commandes passent l'une après l'autre résultant un marche/arrêt de mes volets...

Quelle commande json pourrait changer l'état du widget Blinds sans pour autant lancer les commandes action on et off intégrées ?
3.PNG
3.PNG (324.34 Kio) Consulté 862 fois
J'ai besoin de cette info car je voudrais améliorer le fonctionnement en pilotant la platine à 4 relais Zigbee par ses commandes d'entrée et me passer des boutons rflink.

Re: Widjet volet roulant & mise à jour

Publié : 04 mars 2024, 20:08
par Keros
Avec les scripts, il est possible de changer des états de widgets sans lancer les actions correspondantes.

Re: Widjet volet roulant & mise à jour

Publié : 04 mars 2024, 20:52
par DiliaK
D'accord, donc si je comprends bien, c'est pas possible en action dans le widget ?
Autrement, la question reste ouverte. :D mais oui, je ne cache pas chercher dans cette voie là aussi ...

Re: Widjet volet roulant & mise à jour

Publié : 04 mars 2024, 21:09
par DiliaK
Comme ça ?
5.PNG
5.PNG (15.34 Kio) Consulté 855 fois
Ca a l'air de fonctionner mais je vais regarder si ça prend aussi les "action" des widgets ou pas...

Re: Widjet volet roulant & mise à jour

Publié : 04 mars 2024, 22:15
par DiliaK
Non. Si j'envoie une commande par le widget blinds, ça envoie deux commandes.

Re: Widjet volet roulant & mise à jour

Publié : 05 mars 2024, 08:25
par DiliaK
J'ai trouvé dans mes scripts d'essai ceci :

Code : Tout sélectionner

return {
	on = {
		devices = {
			'TV salon trigger'
		}
	},
	execute = function(domoticz, device)


    if (device.active) then
    domoticz.devices(62).switchOn().silent()
    domoticz.log('TV salon allumée')
    else
    domoticz.devices(62).switchOff().silent()
    domoticz.log('TV salon éteinte')
    end
end
}
Ceci pourrait faire l'affaire (en modifiant, bien entendu...) ?

Code : Tout sélectionner

 domoticz.devices(62).switchOn().silent()

Re: Widjet volet roulant & mise à jour

Publié : 05 mars 2024, 12:42
par Keros
Tu ne pourras pas le faire en graphique.

Je pensais à la fonction .silent du DzVents que tu as trouvé. A toi de l'adapter.

Si tu n'es pas à l'aise avec le DzVents, je te propose de regarder mes petits guides dans ma présentation (lien dans ma signature).

Re: Widjet volet roulant & mise à jour

Publié : 05 mars 2024, 14:10
par DiliaK
C'est ce qu'il me semblait. J'ai testé un truc à l'arrache tout à l'heure mais ça reste à approfondir.
En tous cas, je te remercie.

J'ai testé à l'arrache un truc comme ça :

Code : Tout sélectionner

return {
	on = {
		devices = {
			'Descente volet porte salon'
		}
	},
	execute = function(domoticz, device)


    if (device.active) then
    domoticz.devices(6).switchOff().silent()
    domoticz.log('TESTOUILLE')
  --  else
  --  domoticz.devices(62).switchOff().silent()
  --  domoticz.log('TV salon éteinte')
    end
end
}
le device 6 c'est le bouton On/Off RFX (widget Blinds) qui devrait rester muet.

Dans les logs, ça donne ça :

2024-03-05 11:29:37.174 Status: User: diliak (IP: 87.90.61.40) initiated a switch command (240/Descente volet porte salon/On)

2024-03-05 11:29:37.189 Zigate: UpdateDevice - (Descente volet porte salon) 1:On

2024-03-05 11:29:37.218 Status: dzVents: Info: Handling events for: "Descente volet porte salon", value: "On"
2024-03-05 11:29:37.218 Status: dzVents: Info: ------ Start internal script: Script #1: Device: "Descente volet porte salon (Zigate)", Index: 240
2024-03-05 11:29:37.218 Status: dzVents: Info: TESTOUILLE
2024-03-05 11:29:37.218 Status: dzVents: Info: ------ Finished Script #1

2024-03-05 11:29:37.221 RFX0: Lighting 2 (Volet porte salon)
2024-03-05 11:29:37.424 Status: User: diliak (IP: 127.0.0.1) initiated a switch command (240/Descente volet porte salon/On)

2024-03-05 11:29:38.225 Zigate: UpdateDevice - (Descente volet porte salon) 0:Off

2024-03-05 11:29:38.246 Status: dzVents: Info: Handling events for: "Descente volet porte salon", value: "Off"
2024-03-05 11:29:38.247 Status: dzVents: Info: ------ Start internal script: Script #1: Device: "Descente volet porte salon (Zigate)", Index: 240
2024-03-05 11:29:38.247 Status: dzVents: Info: ------ Finished Script #1

Visiblement, le RFX (widget Blinds) n'est pas muet...mais je n'en suis pas certain. En tous cas, il n'y a pas d'autres appels "On" au script dzvents. Je verrai ce soir, je ne suis pas à la maison.

Je vais aller voir ce soir tes tutos.

A+

Re: Widjet volet roulant & mise à jour

Publié : 05 mars 2024, 15:59
par DiliaK
La question que je me pose c'est que si à priori je "silent" bien le widget 6 en question en le faisant changer d'état, est-ce que ça "silent" bien aussi les "action on" et "action off" intégrés à ce widget ???

Question archaïque, simpliste mais qui va droit au but :D

Re: Widjet volet roulant & mise à jour

Publié : 06 mars 2024, 16:07
par DiliaK
Résolu.

Pour rester simple, je vais parler d'une platine relais ZIGBEE à DEUX relais.
Ces relais sont connectés avec des fils soudés sur les BP du volet Bubendorff.
Donc un relais montée et un relais descente.

Je vais utiliser les BP montée et descente de LA CARTE ZIGBEE (donc mettre des BP sur le mur en soudant d'autres fils sur ces BP) pour envoyer les commandes sur DOMOTICZ afin qu'elles soient traitables.

Cette carte Zigbee sera installée dans une platine murale encastrée sur laquelle je vais mettre les commandes montée et descente.

Côté Domoticz :

Je dispose donc des deux BP en widget Zigbee (239 et 240, montée et descente, donc). Cela fonctionne bien mais je veux profiter des widgets intégrés et faits pour ça : les Blinds. Cela me permettra surtout d'avoir la dernière position affichée à l'écran (ouvert ou fermé) même si on ne sait pas à quel pourçentage.

Je crée un widget trigger (295) virtuel que je configure en Blinds.
Je mets les lignes Action on :

Code : Tout sélectionner

http://127.0.0.1:8080/json.htm?type=command&param=switchlight&idx=239&switchcmd=On
et Action Off :

Code : Tout sélectionner

http://127.0.0.1:8080/json.htm?type=command&param=switchlight&idx=240&switchcmd=On
En utilisant ce widget Blinds, on actionne bien le volet roulant et le widget Blinds change bien d'état. Par contre, si on utilise les commandes côté Zigbee (soit les widgets BP sur Domoticz soit les BP placés sur le mur), on ne change pas l'état du widget Blinds.

En utilisant Dzvents dans la partie "Evènements" de Domoticz, je crée ce script :

Code : Tout sélectionner

return {
	on = {
		devices = {
			'Montée volet porte salon', 'Descente volet porte salon'
		}
	},
execute = function(domoticz, device)
  
	if (domoticz.devices('Montée volet porte salon').state == 'On') then 
	domoticz.devices(295).switchOn().silent()
	elseif (domoticz.devices('Descente volet porte salon').state == 'On') then 
	domoticz.devices(295).switchOff().silent()
	end 
	
end
}
Dans ce script, il y a "device" dans la fonction et "devices" dans les items utilisés. En fait, ça fonctionne bien comme ça donc je ne touche rien. Le script fait un appel aux items physiques. La fonction n'a rien à voir.

And voilà !