
Matériel nécessaire :
-1 carte arduino nano
-1 nrf24l01
-1 rxb6 (recepteur R433)
-3 câble pour breadbord
-une antenne pour le rf433 (un simple bout de câble fait l’affaire dans mon cas)
-1 interupteur RF433 compatible RC-switch (liste des chipsets supportés ici)
Logiciel :
-arduino IDE
-RC-switch librarie
-Mysensors librairie
Réaliser le branchement comme suit :

La data du rxb6 en D3 (Pin 1)
Dans un premier temps charger le sketch sans le modifier dans l’arduino
Pour pouvoir récupérer les différents code RF433
Une fois charger ouvre le moniteur série dans le logiciel Arduino IDE
Puis appuyer sur les bouton d’une commande rf433 vous devriez voir apparaitre des codes

Recopier les code après « RF433 code : » dans mon cas
RF433 code : <strong>1381719</strong>
RF433 code : <strong>1381716</strong>
RF433 code : <strong>1394007</strong>
ect....
Une fois vos codes récupérer aller dans le sketch Arduino et modifier les codes de la ligne 20 et 21 en modifiant par les vôtres n’oublier pas de changer le nombre de code contenu dans votre tableau sur la ligne du dessus
Avant:
<code>#define NUMBER_OF_SWITCHES 4
long switchCode[NUMBER_OF_SWITCHES] = {6210721,22610,22609,22616};</code>
Après:
<code>#define NUMBER_OF_SWITCHES 6
long switchCode[NUMBER_OF_SWITCHES] = {1381719, 1381716, 1394007, 1394004, 1397079, 1397076}</code>;
Recharger votre sketch
Teste une commande, vous devriez voir maintenant à chaque appuie sur une touche la ligne suivante :
"Envoie MYS ID " et le numéro id dans le nœud

La partie arduino est fini
Dans domoticz
Dans un premier temps vérifie que votre nœud est bien reconnu dans Domoticz aller
Reglages / Materiel / ton matériel my sensors reglages
Vérifier que le nœud s ID 10 est présent avec comme nom "RF433_MYS"

Dans Réglages / Paramètres / Système
Autorise le matériel pendant 5 minutes

Puis Appliquer les paramètres
Ensuite aller dans dispositifs
Ajouter les nouveaux switches

Dans mon cas je lui est donné le nom de « Cmd RF 1 »

Ensuite allez dans l’onglet interrupteur
Puis dans « Cmd RF 1 » modifié

Modifie le délai d’extinction afin qu’après chaque passage a On il repasse automatiquement a off après ce délai
Dans mon cas je mets 1s
Et dans Action on je mets le code pour allumer un éclairage au travers un commande Json Domoticz
Je fais la meme chose pour la commande OFF en créant « Cmd RF 2 »
Voila le code RF433_Switch_MYS.ino
Code : Tout sélectionner
/*
Creation d'un node pour transformer les signaux RF433 en Switch MySensors
Pin du recepteur RF433 1 => pin D3
*/
#define MY_DEBUG
// Noeud de l'objet / Object Node
#define MY_NODE_ID 10
// Enable and select radio type attached
#define MY_RADIO_NRF24
#define Pin_Radio 1
#include <SPI.h>
#include <RCSwitch.h>
#include <MySensors.h>
#define NUMBER_OF_SWITCHES 6
long switchCode[NUMBER_OF_SWITCHES] = {1381719, 1381716, 1394007, 1394004, 1397079, 1397076};
long RFcode;
RCSwitch mySwitch = RCSwitch();
MyMessage msg(0,V_TRIPPED);
void setup() {
mySwitch.enableReceive(Pin_Radio);
}
void presentation()
{
// Présenttion du sketch
sendSketchInfo("RF433_MYS", "1.0");
// Déclaration des different switch
for (int i = 0; i < NUMBER_OF_SWITCHES; i++) {
present(i+1, S_DOOR);
delay(100);
}
}
void loop() {
if (mySwitch.available()) {
RFcode = mySwitch.getReceivedValue();
Serial.print("RF433 code : ");
Serial.println( RFcode );
mySwitch.resetAvailable();
for (int i = 0; i < NUMBER_OF_SWITCHES; i++){
if (switchCode[i] == RFcode) {
send(msg.setSensor(i+1).set(1));
Serial.print("Envoie MYS ID ");
Serial.println(i+1);
}
}
}
}