Bonjour,
J'ai résolu mon problème de lecture du Bus I2C avec le MCP23017, l'opération n'est pas compliqué, simplement elle est méthodique.
Si cela intéresse quelqu'un, je peux donner des informations.
J'ai vu dernièrement lors de la mise à jour de Domoticz version beta 3.8798, qui fonctionne correctement, que dans la liste matériel il y avait un bus I2C pour le MCP23017 ou PCF8574 et quelques autres.
Après test de l'ajout de ce bus, dans la liste des dispositifs, lorsque l'on fait une action sur une adresse I2C, une erreur est donné par le système : "Erreur d'envoi de la commande à l’interrupteur, vérifiez le dispositif/matériel !"
A priori il faut rajouter 2 fichiers d'entêtes (I2C.h et I2C.cpp) et compiler.
Là mon problème est, car je ne sais comment faire ces manipulations avec une installation fonctionnelle.
Un coup de main me serait bien utile.
Merci par avance.
Bus I2C
Re: Bus I2C
Bonjour,
Pour la petite histoire, je possède un raspberry avec une carte 8 relais pilotée par le port GPIO grace à WiringPi et domoticz. Je pilote grace à cette carte:
- ma pompe de piscine,
- le surpresseur de mon robot Polaris,
- l'éclairage de la piscine,
- deux électrovannes 24V pour l'arrosage de mon jardin.
Ce système est super fonctionnel et j'ai donc décidé d'ajouter des relais. Je suis donc parti sur le bus I2C et j'ai acheté une carte 16 entrées sorties de chez DTRONIXS Mini Piio – 16 E/S.
J'ai paramétré le raspberry et j'ai ajouté le matériel dans domoticz : I2C sensor GPIO 16bit expander MCP23017.
Le matériel a été automatiquement détecté dans la liste des dispositifs et j'ai pu depuis la tableau des dispositifs ajouter des interrupteurs.
Cependant lorsque je veux activer les interrupteurs cela me renvoi le message : "Erreur d'envoi de la commande à l'interrupteur, vérifiez le dispositif/matériel !".
Faut-il installer une librairie type WiringPi ou est-ce que j'ai manqué une étape? avez vous déjà rencontré cette erreur?
Merci d'avance de votre aide.
Pour la petite histoire, je possède un raspberry avec une carte 8 relais pilotée par le port GPIO grace à WiringPi et domoticz. Je pilote grace à cette carte:
- ma pompe de piscine,
- le surpresseur de mon robot Polaris,
- l'éclairage de la piscine,
- deux électrovannes 24V pour l'arrosage de mon jardin.
Ce système est super fonctionnel et j'ai donc décidé d'ajouter des relais. Je suis donc parti sur le bus I2C et j'ai acheté une carte 16 entrées sorties de chez DTRONIXS Mini Piio – 16 E/S.
J'ai paramétré le raspberry et j'ai ajouté le matériel dans domoticz : I2C sensor GPIO 16bit expander MCP23017.
Le matériel a été automatiquement détecté dans la liste des dispositifs et j'ai pu depuis la tableau des dispositifs ajouter des interrupteurs.
Cependant lorsque je veux activer les interrupteurs cela me renvoi le message : "Erreur d'envoi de la commande à l'interrupteur, vérifiez le dispositif/matériel !".
Faut-il installer une librairie type WiringPi ou est-ce que j'ai manqué une étape? avez vous déjà rencontré cette erreur?
Merci d'avance de votre aide.
Re: Bus I2C
Bonjour KLM30330,
je viens de lire ton histoire et pour ma part je suis entrain d'utiliser un carte de 64 ports Gpio : http://www.pridopia.co.uk/pi-23017-4-v3.html
j'ai réussi à l'installler sur mon Pi, par contre je boque sur son intéraction avec Domoticz, si depuis 2018 tu as trouvé la solution ou si quelqu'un utilise ce type de carte i2C et l'utilise avec Domoticz je suis preneur d'information.
Merci.
je viens de lire ton histoire et pour ma part je suis entrain d'utiliser un carte de 64 ports Gpio : http://www.pridopia.co.uk/pi-23017-4-v3.html
j'ai réussi à l'installler sur mon Pi, par contre je boque sur son intéraction avec Domoticz, si depuis 2018 tu as trouvé la solution ou si quelqu'un utilise ce type de carte i2C et l'utilise avec Domoticz je suis preneur d'information.
Merci.
Re: Bus I2C
Bonjour,
Oui, j'ai trouvé la solution:
D'après votre site internet, votre carte est équipée de 4 composants MCP23017 qui sont compatibles avec domoticz.
Pour configurer, ouvrir domoticz puis il faut aller dans SETUP/Hardware et ajouter un périphérique :
Name: à vous de choisir
Type : I2C sensors
Data Timeout: Disabled
SubType: I2C sensor 16 Bit GPIO expander MCP23017
Path to I2C : /dev/i2c-1
I2C address:I2C : pour obtenir l'adresse de vos 4 MCP, il faut lancer la commande i2cdetect -y 0. D'après le site, vous devriez obtenir 20,21,22,23. Il faut convertir ces adresses en décimal soit 32,33,34,35. Vous devrez créer 4 périphériques correspondant à vos 4 MCP avec 32 pour le 1er, 33 pour le deuxième...
I2C addressInvert : cocher la case
Ensuite il faut aller dans le menu setup/device et vous devriez trouver vos périphériques, il faut alors les configurer en entrée ou en sortie puis vous pourrez finir de les configurer dans le menu switches.
J'espère vous avoir aidé.
Oui, j'ai trouvé la solution:
D'après votre site internet, votre carte est équipée de 4 composants MCP23017 qui sont compatibles avec domoticz.
Pour configurer, ouvrir domoticz puis il faut aller dans SETUP/Hardware et ajouter un périphérique :
Name: à vous de choisir
Type : I2C sensors
Data Timeout: Disabled
SubType: I2C sensor 16 Bit GPIO expander MCP23017
Path to I2C : /dev/i2c-1
I2C address:I2C : pour obtenir l'adresse de vos 4 MCP, il faut lancer la commande i2cdetect -y 0. D'après le site, vous devriez obtenir 20,21,22,23. Il faut convertir ces adresses en décimal soit 32,33,34,35. Vous devrez créer 4 périphériques correspondant à vos 4 MCP avec 32 pour le 1er, 33 pour le deuxième...
I2C addressInvert : cocher la case
Ensuite il faut aller dans le menu setup/device et vous devriez trouver vos périphériques, il faut alors les configurer en entrée ou en sortie puis vous pourrez finir de les configurer dans le menu switches.
J'espère vous avoir aidé.
- Pièces jointes
-
- Domoticz.png (38.54 Kio) Consulté 4038 fois
Re: Bus I2C
Super merci pour ton retour que je viens de voir. Ça marche parfaitement après ' jours à chercher la solution. Bon vu que j'aime comme même bien comprendre, comment tu traduis en décimale pourquoi tu passes de 20 à 32 ?
Merci en tout cas, car ça me fait une belle épine de moins à gérer.
Merci en tout cas, car ça me fait une belle épine de moins à gérer.
Re: Bus I2C
Les adresses 20, 21… sont en hexadécimal. 0x20 (hex) = 2*16 = 32. 0x21 = 2*16+1 = 33, etc.
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT