Bonjour,
Voilà, j'ai trouvé une solution, pas forcement la bonne :
- l'instruction
myRTS.setHighPower(true);doit activer (je pense) le module RFM69HCW en émission.
J'ai remarqué que si il reste dans cet état, un dysfonctionnement apparaît avec le fonctionnement des autres télécommandes. - Si j'utilise l'instruction
myRTS.setHighPower(false);aprésmyRTS.sendSomfy(3, DOWN);oumyRTS.sendSomfy(3, UP);il n'y a aucun dysfonctionnement. - Le problème c'est que je ne parviens pas à réactiver le module. En effet, l'instruction
myRTS.setHighPower(true);ne semble pas fonctionner dans la boucleloop(). J'ai fait plusieurs essais sans résultat...
Bon par contre en utilisant ce code et en effectuant un reset de ma uno après appui sur un BP, tous mes volets montent ou descendent en fonction du BP utilisé :
#include <SomfyRTS.h>
SomfyRTS myRTS(3, TSR_RFM69); //Tx pin number, transmitter type
//pin number : pin connected to the transmitter DATA pin or to the DIO2 pin on RFM69
//transmitter type can be TSR_RFM69 or TSR_AM (for a generic AM 433.42MHZ transmitter)
void setup() {
//myRTS.configRTS(myEEPROM_address, myRTS_address); //uncomment and change values only if you don't want to use default configuration
myRTS.setHighPower(true); //have to call it after initialize for RFM69HW
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
}
void loop() {
if (digitalRead(7) == LOW)
{
myRTS.sendSomfy(3, DOWN); // remote 0, downloop
delay(30000);
myRTS.setHighPower(false);
}
if (digitalRead(8) == LOW)
{
myRTS.sendSomfy(3, UP); // remote 0, up
delay(30000);
myRTS.setHighPower(false);
}
}
Merci par avance pour votre aide.