interrupteur 3 touches 9 scenes

Forum dédié au ZigBee : objets, interfaces ...
Plugins DeConz et ZigBee2MQTT
Pour les questions concernant le plugin ZigBeeForDomoticZ, merci d'utiliser le forum spécifique en dessous.
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: Modération

Message par billyken »

@keros

c'est fait
Dernière modification par Keros le 14 sept. 2022, 20:07, modifié 1 fois.
Raison : Citation enlevée
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: interrupteur 3 touches 9 scenes

Message par billyken »

@Thorgal ,

J'ai trouver ca dans plugin.py

Code : Tout sélectionner

<plugin key="deCONZ" name="deCONZ plugin" author="Smanar" version="1.0.16"
il faut que je mette a jour mon plugin deconz ?
Dernière modification par Keros le 14 sept. 2022, 20:08, modifié 1 fois.
Raison : Citation enlevée
Thorgal
Messages : 913
Inscription : 16 août 2018, 20:02
Contact :

Re: interrupteur 3 touches 9 scenes

Message par Thorgal »

Ben 9 versions de retard, ca commence a faire ^^.
C'est rapide, et tu ne perd rien car la config est dans deconz pas domoticz.
You can later update the plugin

With command line, go to the plugin directory (domoticz/plugin/Domoticz-deCONZ).
Run:

Code : Tout sélectionner

    git pull
Restart Domoticz.
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: interrupteur 3 touches 9 scenes

Message par billyken »

Je suis sur windows donc j'ai juste a copier coller la nouvelle version a la place de l'ancienne ?

Est-ce que je dois mettre python a jour également ?
Pièces jointes
Screenshot_20220915_075458.jpg
Screenshot_20220915_075458.jpg (298.06 Kio) Consulté 1481 fois
Thorgal
Messages : 913
Inscription : 16 août 2018, 20:02
Contact :

Re: interrupteur 3 touches 9 scenes

Message par Thorgal »

Oui tu peux ecraser les anciens fichier par les nouveaux puis dans domoticz / materiel / deconz tu fait "modifier" pour le relancer

Et non, de memoire le plugin marche sur les vielles versions de python
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: interrupteur 3 touches 9 scenes

Message par billyken »

Bien vu c'était exactement ca après mise a jour du plugin deCONZ tout marche corectement

quand j'appuie sur le bouton 1 B1 s'active
quand j'appuie sur le bouton 2 B4 s'active
quand j'appuie sur le bouton 3 B7 s'active

Appuie long sur le bouton 1 B2 s'active
Appuie long sur le bouton 2 B5 s'active
Appuie long sur le bouton 3 B8 s'active

double impultion sur le bouton 1 B3 s'active
double impultion sur le bouton 2 B5 s'active
double impultion sur le bouton 3 B9 s'active

Un grand merci Thorgal
Thorgal
Messages : 913
Inscription : 16 août 2018, 20:02
Contact :

Re: interrupteur 3 touches 9 scenes

Message par Thorgal »

Ok, je viens de faire le PR ici https://github.com/dresden-elektronik/d ... /pull/6335
Tout beau, tout propre et tout seul, il devrait passer assez vite.
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: interrupteur 3 touches 9 scenes

Message par billyken »

ca veu dire quil va passer dans une mise a jour de deConz donc y aura pu a faire la manip ?


et encore merci a toi.
Thorgal
Messages : 913
Inscription : 16 août 2018, 20:02
Contact :

Re: interrupteur 3 touches 9 scenes

Message par Thorgal »

Yep, une fois le PR validé, toute les version de deconz qui vont suivre l'utiliseront.
J'ai fais un PR le plus simple possible pour "motiver" la validation, moins de chance de casser quelque chose.
mercusot
Messages : 116
Inscription : 05 janv. 2017, 14:05

Re: interrupteur 3 touches 9 scenes

Message par mercusot »

Au passage, si cela peut intéresser quelqu'un. Je suis parti des scripts d'exemples du Wiki du plugin DeCONZ pour commencer un script de "dimmer" pour 4 gradateurs (1 par touche ;-)) avec ce genre de device mais avec 4 boutons.

Il n'est pas parfait mais pour l'instant il fonctionne. Je compte utiliser les "double taps" D3 et D4 pour faire varier les couleurs sur le même principe si les gradateurs le permettent, mais on verra plus tard.

@Thorgal, si tu veux l'ajouter au Wiki du plugin comme exemple, pas de problème.

Code : Tout sélectionner

-- mercusot - 2022 -- Inspired by https://github.com/Smanar/Domoticz-deCONZ/wiki/Examples-to-use-LUA-script-for-switch
-- Example of device script to do action depending on last selected dimmer switch.
-- It use a 4 buttons remote but can be easily adapted to any remot with less or more buttons, just adjust 
-- the dimmer list accordingly.
-- Each dimmer on witch dimming action will be taken is selected prior by one tap button.
-- The position in dim_list assigns the button.
-- If switch has been changed since last selection, the new one is enlighted. If it's the same then it is
-- set off and dimming value stored for later on state without loosing dimming level value.
--
-- Long press on button 3 is dimming up pre-selected switch, long press on button 4 is leveling down
--
-- String user variable LastUsedDimmer must be created to keep in "memory" the device on witch dimming 
-- action will be applied
--
-- All print could be commented, they are just here to help to understand logic of the script.
----------------------------------------------------------------------------------------------------
commandArray = {}
-- List of dimmer, each one is assign to a button by it's position in the list.
dim_list = {"Gradateur_Cinema","LED plafond Cinema","LED sol Cinema","Gradateur Bureau"}
-- Name of the triggering remote
trig_remote = "Telecommande LoraTap"

-- Test if the remote is the triggering device
if (devicechanged[trig_remote])  then
    local b = devicechanged[trig_remote]
    print ("Button = "  .. b)
    local a = string.sub(b,1,1)
    print ("Action = " .. a)
    local dimmer = uservariables['LastUsedDimmer']
    
    if (a == 'B') then
        if dimmer ~= dim_list[tonumber(string.sub(b,2))] then
            dimmer = dim_list[tonumber(string.sub(b,2))]
            print ('Changing device to '..dimmer)
            commandArray['Variable:LastUsedDimmer'] = dimmer
        end
        print (dimmer .. " state : " .. otherdevices[dimmer])
		if (otherdevices[dimmer] ~= 'Off') then
		    print ("switching " .. dimmer .. " Off")
			 commandArray[dimmer] = 'Off'
			 local cmd = string.format("%d|0|%d", otherdevices_idx[dimmer],tonumber(otherdevices_svalues[dimmer])) -- keeping dimming value
             table.insert (commandArray, { ['UpdateDevice'] = cmd } )
		else
		     print ("switching " .. dimmer .. " On")
			 commandArray[dimmer] = 'On'
		end
    elseif (b == 'L3') then
        l = otherdevices_svalues[dimmer]
        l = tonumber(l) + 5
        l = math.min(l,100) -- no more than 100%
        print ("Level up to " .. l)
        commandArray[dimmer] = 'Set Level: '..l
    elseif (b == 'L4') then
        l = otherdevices_svalues[dimmer]
        l = tonumber(l) - 5
        l = math.max(l,0) -- not less than 0%
        print ("Level down to " .. l)
        commandArray[dimmer] = 'Set Level: '..l
	end

end

return commandArray
Répondre