Commander plusieurs interrupteurs

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
skarab22
Messages : 101
Inscription : 14 nov. 2019, 09:18

Commander plusieurs interrupteurs

Message par skarab22 »

Bonjour,

Pour piloter l'ensemble de me radiateurs, j'aimerai avoir un interrupteur reprenant les 4 modes de mes chauffage (Off, HG, Eco et Confort) afin de pouvoir les basculer tous simultanément.

A votre avis, quel est le moyen le plus simple/efficace de le faire ? Je pense que le script permet de le faire. A votre avis, vaut il mieux le faire en Lua, Dz ou autre ?

J'ai déjà fait quelques script en Lua et en python. En revanche je ne comprend pas bien la structure du Dz. Comme les dispositifs qui contrôle mes radiateurs se nomment tous en "Mc_***" est il possible de faire une boucle qui recherche cette chaine de caractère ?

Merci d'avance
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: Commander plusieurs interrupteurs

Message par boum »

Oui, c'est faisable en dzVents : https://www.domoticz.com/wiki/DzVents:_ ... _iterators

Ça donnerait qq chose comme ça (pas testé du tout, même pour la syntaxe) :

Code : Tout sélectionner

return {
	on = {
		devices = {
			'NomSelecteurVirtuel'
		}
	},
	execute = function(dz, item)
		dz.log('Device ' .. item.name .. ' was changed', dz.LOG_DEBUG)
                local radiateurs = dz.devices().filter(function(device)
                    return string.match(device.name, '^Mc_')
                end)
		radiateurs.forEach(function(device)
    		    dz.log('Setting ' .. device.name .. ' to ' .. tostring(item.level), dz.LOG_DEBUG)
		    device.setLevel(item.level)
                end)
	end
}
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
skarab22
Messages : 101
Inscription : 14 nov. 2019, 09:18

Re: Commander plusieurs interrupteurs

Message par skarab22 »

Super ! C'est exactement ça.

Merci pour ton retour rapide et désolé de ne pas avoir cherché mieux que ça...
Répondre