Appairage volets profalux

Forum dédié au plugin ZigBeeForDomoticZ : installation, paramétrage, utilisation, interfaces ...
Growlfy
Messages : 38
Inscription : 25 juin 2024, 09:08

Re: Appairage volets profalux

Message par Growlfy »

MAJ firmware 321 ok et plugin ok.

J'ai maintenant bien le retour des volets y compris avec lorsque je manipule les volets avec la télécommande.

Il me reste cependant un os j'ai toujours le pb du retour de fermeture totale. Dans ce cas une fois fermé le retour dans domoticz est fermé puis 1%. :(
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Appairage volets profalux

Message par pipiche »

oui, le 1% j'ai exactement la meme chose.je verrais si je peu faire quelque chose pour ca
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
Growlfy
Messages : 38
Inscription : 25 juin 2024, 09:08

Re: Appairage volets profalux

Message par Growlfy »

Ca me rassure xD. Merci en tout cas pour votre aide :)
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Appairage volets profalux

Message par pipiche »

fixe disponible sur la branche de developement


Code : Tout sélectionner

git checkout  wip-stable7-7.1.13 
git pull

Code : Tout sélectionner

sudo python3 -m pip install -r requirements.txt --upgrade
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
Growlfy
Messages : 38
Inscription : 25 juin 2024, 09:08

Re: Appairage volets profalux

Message par Growlfy »

Ok super merci,

j'ai suivi la procédure de maj suivante :
Dans .../domoticz/plugins/Domoticz-Zigbee/

Code : Tout sélectionner

git reset --hard
sudo service domoticz.sh stop
sudo git checkout wip-stable7-7.1.13
sudo git pull
sudo python3 -m pip install -r requirements.txt --upgrade --break-system-packages
sudo service domoticz.sh start
Tout semble s'être déroulé normalement mais dans le Plugin il est indiqué 7.1.012 [5.271]
Dans les logs de domoticz :
2024-07-08 22:56:38.434 Status: Zigate: Z4D starting with stable7-7.1.012
Les fichiers semblent bien être les bons notamment le domoMaj.py (ligne 1642 return normalized_value est présent)
Cependant j'ai toujours le retour de Fermé à 1%.

A toutes fins utiles voici les logs dans lesquels on trouve aussi des deconnections de la zigate :
2024-07-09 08:06:55.074 Error: Zigate: tcp_re_connect - TCP connection successfuly re-established :-) <socket.socket fd=29, family=2, type=1, proto=6, laddr=('192.168.1.73', 58942), raddr=('192.168.1.84', 9999)>
2024-07-09 08:10:40.383 Error: Zigate: tcpip_read_from_zigate: Connection error while receiving data [Errno 110] Connection timed out on <socket.socket fd=29, family=2, type=1, proto=6, laddr=('192.168.1.73', 58942)>
2024-07-09 08:10:40.409 Error: Zigate: tcp_re_connect - Trying to reconnect the TCP connection !!!! <socket.socket fd=29, family=2, type=1, proto=6, laddr=('192.168.1.73', 58942)>
2024-07-09 08:10:40.439 Status: Zigate: ZigateTransport: TCPIP Connection open: <socket.socket fd=31, family=2, type=1, proto=6, laddr=('192.168.1.73', 51358), raddr=('192.168.1.84', 9999)>
Pièces jointes
PluginZigbee_13.log
(1.45 Mio) Téléchargé 63 fois
Growlfy
Messages : 38
Inscription : 25 juin 2024, 09:08

Re: Appairage volets profalux

Message par Growlfy »

Dans le fichier domoMAJ.py du github le code suivant peut poser problème dans le cas ou l'analog_value == 1

Code : Tout sélectionner

    # Normalize analog value to percentage (0-100)
    normalized_value = round((analog_value / 255) * 100)

    # Looks like in the case of the Profalux shutter, we never get 0 or 100
    if switchType in (13, 14, 15, 16):
        if normalized_value == 1 and analog_value == 1:
            normalized_value = 0
        if normalized_value == 99 and analog_value == 254:
            normalized_value = 100
	return normalized_value
En effet le calcul suivant doit renvoyer 0 si analog_value == 1 :

Code : Tout sélectionner

round((analog_value / 255) * 100)
Par conséquent on ne peut pas avoir normalized_value == 1 and analog_value == 1 et donc on aura jamais la normalized_value == 0
Est-il judicieux de changer le code par ceci :

Code : Tout sélectionner

     # Normalize analog value to percentage (0-100)
    normalized_value = round((analog_value / 255) * 100)

    # Looks like in the case of the Profalux shutter, we never get 0 or 100
    if switchType in (13, 14, 15, 16):
        if (normalized_value == 1 and analog_value == 1) or (normalized_value == 0 and analog_value == 1):
            normalized_value = 0
        if normalized_value == 99 and analog_value == 254:
            normalized_value = 100
	return normalized_value
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Appairage volets profalux

Message par pipiche »

Je pense que la bonne question c'est l'utilité du test ci-après car a priori
si analog_value = 1 => normalized == 0
si analog_value = 254 => normalized == 100

n'hésites pas a tester et pousser une PR si ca a du sens

Code : Tout sélectionner

        
        if normalized_value == 1 and analog_value == 1:
            normalized_value = 0
        if normalized_value == 99 and analog_value == 254:
            normalized_value = 100

Code : Tout sélectionner

def normalized_lvl_value( switchType, value ):

    # Normalize sValue vs. analog value comming from a ReadAttribute
    analog_value = value if isinstance( value, int) else int(value, 16)

    # Ensure analog value is within valid range
    analog_value = min(max(analog_value, 0), 255)

    # Normalize analog value to percentage (0-100)
    normalized_value = round((analog_value / 255) * 100)

    # Looks like in the case of the Profalux shutter, we never get 0 or 100
    if switchType in (13, 14, 15, 16):
        if normalized_value == 1 and analog_value == 1:
            normalized_value = 0
        if normalized_value == 99 and analog_value == 254:
            normalized_value = 100
        return normalized_value

    return max(normalized_value, 1)  # Ensure normalized value is at least 1
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
Growlfy
Messages : 38
Inscription : 25 juin 2024, 09:08

Re: Appairage volets profalux

Message par Growlfy »

Effectivement, le test semble superflux d'autant qu'il est suivi de :

Code : Tout sélectionner

    return max(normalized_value, 1)  # Ensure normalized value is at least 1
qui renverra forcément 1

Avant d'aller plus loin j'aimerai comprendre pourquoi on doit absolument remettre cette normalized_value à 1.
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Appairage volets profalux

Message par pipiche »

C’est nécessaire pour les ampoules et autre dimmer. C’est plus lié à Domoticz et sa gestion de certaines widgets


Envoyé de mon iPhone en utilisant Tapatalk
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
Growlfy
Messages : 38
Inscription : 25 juin 2024, 09:08

Re: Appairage volets profalux

Message par Growlfy »

Bon j'ai rien pu faire aujourd'hui à cause de cette foutue Zigate Wifi qui s'est mis en caraf, j'ai mis 3 plombes à reflasher la puce wifi pour que ce remarche convenablement. Si cela peut servir à quelqu'un voici la méthode qui marche avec ma Zigate v1 Wifi :

J'ai utilisé un vieux esptool (version 2.6) pour que le flash se passe bien avec les bonnes commandes (notamment -fs 32m):

Code : Tout sélectionner

.\esptool.py --port COM7 --baud 115200 erase_flash

.\esptool.py --port COM7 --baud 115200 write_flash -fs 32m -ff 80m 0x00000 .\firmware\boot_v1.7.bin 0x1000 .\firmware\user1.bin 0x3FE000 .\firmware\blank.bin 0x3FC000 .\firmware\esp_init_data_default.bin
PS : avec la dernière version d'esptool j'ai remplacé la commande -fs 32m par -fs detect mais la zigate wifi était lente du coup j'ai recommencé avec la version 2.6 d'esptool (de début 2019) pour que tout fonctionne ....
En effet l'article d'origine date d'octobre 2019 (https://zigate.fr/documentation/install ... are-v2-xx/)
Répondre