RFlink Wifi MQTT fait maison

Bonjour à tous,
Petit retour sur ma dernière réalisation grâce aux différents tutos trouvés sur la toile.
1)Le montage

https://opendomotech.com/fabriquer-rflink-alternative-diy-du-rfxcom/

  1. Téléverser dans l’Arduino Mega 2560 R3

Pour tester avec une télécommande DIO il faut appuyer sur la télécommande et voir si des infos apparaissent.
Puis avec les infos lancer une commande en modifiant :
20;0F;NewKaku;ID=01d08c4e;SWITCH=2;CMD=OFF
par
10;NewKaku;01d08c4e;2;OFF

  1. Mettre « espRFLinkMQTT » (J’ai utilisé « espRFLinkMQTT_v1.0_ESP8266_1MB_core_274_dout_rflink-wifi-board.bin ») dans l’ESP8266 (attendre bien 1 minute pour voir apparaitre sur le réseaux wifi) puis paramétrer le serveur MQTT
  1. Créer dan fichier HA un Switch
  - platform: template
    switches:
      lampe2mez:
        value_template: "{{ is_state('binary_sensor.sensorlampe2mez', 'on') }}"
        turn_on:
          - service: mqtt.publish
            data:
              payload: '10;newkaku;01d08c4e;2;on;'
              topic: rflink/cmd
          - service: mqtt.publish
            data:
              payload: '{"SWITCH":"2","CMD":"ON"}' 
              topic: 'rflink/NewKaku-01d08c4e'
        turn_off:
          - service: mqtt.publish
            data:
              payload: '10;newkaku;01d08c4e;2;off;'
              topic: rflink/cmd
          - service: mqtt.publish
            data:
              payload: '{"SWITCH":"2","CMD":"OFF"}' 
              topic: 'rflink/NewKaku-01d08c4e'
        
  1. Créer dans fichiers HA un Binary_sensors (pour retour d’état si utilisation de la télécommande)
  - platform: mqtt
    name: sensorlampe2mez
    state_topic: 'rflink/NewKaku-01d08c4e'
    value_template: >- 
      {% if value_json.SWITCH == "2" and value_json.CMD == "ON" %}   
        {{'ON'}}
      {% elif value_json.SWITCH == "2" and value_json.CMD == "OFF" %}
        {{'OFF'}}
      {% else %}
        {{states('binary_sensor.switchlampe2mez') | upper}}
      {% endif %}        

https://community.home-assistant.io/t/project-rflink-to-mqtt-using-esp8266-and-arduino-ide/7131/21

Le proto

Le tout dans un petit boitier (j’attends des antennes 433)

A votre dispo pour d’éventuelles questions :wink:
Stéphane

5 « J'aime »

Salut,

merci pour le partage.
En revanche, je me demande, ce montage ne serait-il pas possible directement avec le D1Mini, sans passer par un Arduino?

2 « J'aime »

Salut
Effectivement cela serait plus simple.
Si quelqu’un connait un tuto sur le sujet.

Faudrait que je refasse le comparatif aujourd’hui, mais voici la majorité des solutions pour le 433mhz:

Rtl_433 peut maintenant être utilisé sur ESP32 avec un CC1101 aussi

Il y a également cette solution que je n’ai jamais testé:

1 « J'aime »

Salut @1technophile
Merci pour les liens.
Effectivement la solution avec ESP semble exister.
Je vais regarder de plus près.
Bonne journée
Stéphane

Salut
J’ai utilisé RFLINK32 sur ESP32. Cela fonctionne bien ! Je crois aussi que cela fonctionne sur ESP8266: à tester.
Je le compile et le charge via platformio.

Par contre, l’intégration MQTT avec Home assistant me pose le problème du traitement des messages pour les entités qui sont pas des switches ou des booléens…
J’ai posté une grosse question sans réponse ici:

Merci @1technophile , ça semble super intéressant.
J’ai un VMC double flux DuolixMax - Atlantic, avec un boitier de commande déporté qui reçoit des infos en RF433Mhz (je suppose).
J’aimerais monitorer les T° dans HA, donc installer un ESP8266, avec module SRX882 (receiver)
pour capter les communications…si j’ai bien compris

Ma question est, si j’ai une carte ESP8622, est ce que je peux, en plus ajouter un capteur BME280.
En fait est ce que je peux profiter de la puissance de la carte ESP, et de sa com’ en wifi pour remonter plus d’info ?

Oui sans problème.

Pas certain que ce soit compatible mais rien n’empeche de tester.

Ce monde est tellement vaste…je m’arrache les cheveux.

J’ai déjà un ESP8622, Wemos D1 mini v4, avec TeleInfo qui remonte les conso EdF via ESPHome.
C’est avantageux car:

  • En ESPHome, j’arrive à comprendre ce que je fais
  • L’alimentation de la carte est en place
  • C’est pas très loin de ma VMC

Du coup je me demande si je suis capable de raccorder en plus une carte RF433, genre XD RF 5V, mais je ne sais pas quel port utilisé ?

Ensuite je ne trouve pas de device sur le site ESPHome https://esphome.io/
Quoi écrire comme code dans le .yaml de l’ESP, pour que ça cohabite avec la remonté du TeleInfo ?

Ou alors est ce que je dois obligatoirement acheter un second ESP8622 ou ESP32 ?
Merci

Sur le papier c’est possible, il te faut te plonger dans les infos sur ESPHome. Pour les pins tu peux utiliser l’un de ceux la.

Oui j’ai regardé ces montages hier.
Ce qui m’échappe un peu c’est qu’il conseil de se raccorder sur le pin D3 (et pourquoi pas sur D0/D1 ou D4?). Mais sur la Wemos d1, la pin D3 n’existe pas. Alors je peux me mettre ou je veux ?

On voit aussi dans la notice des « spécificités » sur les pin (MOSI / CS / ou FLASH…), existe il une notice qui explique quoi utiliser dans quelle circonstance ?

Je vais me lancer c’est sure, mais j’aimerai bien faire les bons choix :wink:

NodeMcu_V3 - Lua

Le prérequis technique pour que le pin soit compatible , est qu’il soit capable de gérer un « interrupt ».
Ensuite les pins peuvent être utilisés pour d’autres buts sur l’esp32, c’est pour cela que je conseille d’en prendre un dans la liste fournie.
Cette liste est à considérer comme « générale » car suivant les cartes utilisées elle peut évoluer.
Donc le mieux est de partir de la liste et de tester.

1 « J'aime »

Bonjour, je n’arrive a rien :sob:
J’ai testé des quantités de manip’, pour être bref mon montage (carte NodeMCU v3 en ESP8622 + récepteur RF: SRX882 )

  • via ESPHome: ayant déjà une Weemos D1 avec ESPHome, j’ai créé une nouvelle entité, c’est super simple à paramétrer, je comprends ce que je fais…mais j’ai testé sur toutes les PIN, et impossible de voir des trames dans le log. Rien, aveugle…
    Nota: je teste avec un boitier météo I.T. Works KW-9007, j’essaie de capter le relevé T° de la sonde. Mon pb commence peut être là !?

  • via MQTT (déjà je découvre MQTT, donc grosse galère sur le paramétrage dans HA)
    Je m’appuie sur OpenMQTTGateway v1.2.0, qui semble super abouti.

    1/ avec la version web (option 1) >> j’arrive a paramétrer via Wifi Manager portal
    2/ avec NodeMCU Py Flasher tool (option 2) >> j’arrive a paramétrer via Wifi Manager portal
    3/ avec PlateformIO et VScode: là c’est la jungle…j’ai paramétré ce que j’ai pu, entre autre dans
    User_config.h
    Par miracle j’ai Builder et Uploader mes réglages dans l’ESP :sweat_smile:
    Et je vois mon device connecter à la box :star_struck:

/*-------------DEFINE YOUR NETWORK PARAMETERS BELOW----------------*/

//#define NetworkAdvancedSetup true //uncomment if you want to set advanced network parameters, not uncommented you can set the IP and MAC only
#ifdef NetworkAdvancedSetup
#  if defined(ESP8266) || defined(ESP32)
const byte ip[] = {192, 168, 1, 254}; // J'ai mis l'IP de ma box
#  endif
const byte gateway[] = {0, 0, 0, 0};
const byte Dns[] = {0, 0, 0, 0};
const byte subnet[] = {255, 255, 255, 0};
#endif

#if defined(ESP8266) || defined(ESP32) // for nodemcu, weemos and esp8266
//#  define ESPWifiManualSetup true //uncomment you don't want to use wifimanager for your credential settings on ESP
#else
const byte ip[] = {192, 168, 1, 52}; // je n'ai pas tout compris, j'ai mis une IP fixe via DHCP, est-ce utile de remettre l'IP ici ??
const byte mac[] = {0xDE, 0xED, 0xBA, 0xFE, 0x54, 0x95};
#endif

#if defined(ESPWifiManualSetup) // for nodemcu, weemos and esp8266
#  ifndef wifi_ssid
#    define wifi_ssid "LebonSSID"
#  endif
#  ifndef wifi_password
#    define wifi_password "lebonMotdePasse"
#  endif
#endif

Puis le serveur MQTT

/*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
//MQTT Parameters definition
#if defined(ESP8266) || defined(ESP32) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
#  define parameters_size     60
#  define mqtt_topic_max_size 150
#  ifndef mqtt_max_packet_size
#    ifdef MQTT_HTTPS_FW_UPDATE
#      define mqtt_max_packet_size 2560
#    else
#      define mqtt_max_packet_size 1024
#    endif
#  endif
#else
#  define parameters_size      30
#  define mqtt_topic_max_size  75
#  define mqtt_max_packet_size 128
#endif

#ifndef MQTT_USER
#  define MQTT_USER "omgRF" //ici le Nom utilisateur sous HA
#endif
#ifndef MQTT_PASS
#  define MQTT_PASS " ******** "
#endif
#ifndef MQTT_SERVER
#  define MQTT_SERVER "192.168.1.50" // l'adresse IP de HA ( c'est bon ?)
#endif
#ifndef MQTT_PORT
#  define MQTT_PORT "1883"
#endif

dans HA:
brokerMQTT

Par contre je suis toujours sourd et aveugle…
Un extrait du log Mosquitto:

2023-01-15 10:59:26: New connection from 192.168.1.52:52674 on port 1883.
2023-01-15 10:59:26: Client <unknown> disconnected, not authorised.
2023-01-15 10:59:36: New connection from 192.168.1.52:65010 on port 1883.
2023-01-15 10:59:36: Client <unknown> disconnected, not authorised.
2023-01-15 10:59:46: New connection from 192.168.1.52:61453 on port 1883.
2023-01-15 10:59:46: Client <unknown> disconnected, not authorised.
2023-01-15 10:59:56: New connection from 192.168.1.52:60525 on port 1883.
2023-01-15 10:59:56: Client <unknown> disconnected, not authorised.
2023-01-15 11:00:05: New connection from 172.30.32.2:38762 on port 1883.
2023-01-15 11:00:05: Client <unknown> closed its connection.
2023-01-15 11:00:06: New connection from 192.168.1.52:64913 on port 1883.
2023-01-15 11:00:06: Client <unknown> disconnected, not authorised.
2023-01-15 11:00:16: New connection from 192.168.1.52:53528 on port 1883.
2023-01-15 11:00:16: Client <unknown> disconnected, not authorised.

Quel Sujet/Topic je dois écouter depuis HA ?
J’ai aussi créé un nouvel utilisateur comme conseillé ici, mais je ne comprend pas l’utilité.

Pouvez-vous m’aider svp ?

Bonjour,

La fréquence 433mhz contient une diversité de protocoles assez impressionnantes, il y a très peu d’interoperabilité et chaque fabricant à inventer son protocole.
Ton problème est sans doute que les combinaisons testèes n’etaient pas compatible avec ton appareil.
J’ai d’ailleurs un site qui reference les compatibilités.

Ceci étant dit si tu souhaites encore continuer à explorer voici les réponses pour OMG.

Le mieux est de telecharger mqtt explorer et de le connecter au broker mqtt avec l’utilisateur et le mot de passe que tu viens de créer.
Cela te permettra de voir directement ce qui se passe.

Est ce que tu aurais un esp32 à la place de l’esp8266 pour les tests ?

Malheureusement non

J’ai lancé MQTT explorer. Ça bouge. Je ne sais pas interpréter ce que je vois
Je m’attendais à voir un genre de capteur, type « 433toMQTT » au même niveau de $SYS
J’ai l’impression d’avoir un pb dans mon paramétrage des fichiers User_config.h et plaeformio.ini

En effet, la passerelle n’est pas connectee.

Tu devrais voir des infos dans home/OpenMQTTGateway et la ce n’est pas le cas.

D’accord. Donc mes réglages manuel depuis Plateformio doivent être mauvais.
Je viens de recommencer avec NodeMCU-PyFlasher.exe, puis rentrée les bonnes valeurs wifi + mqtt

Effectivement c’est mieux:

Donc ma station RF433 ne semble pas être capté, car je ne vois aucune info transiter, même en appuyant sur les boutons de synchronisation.

Mais alors que je vois des infos sous MQTT Explorer, sous Mosquitto dans HA, je n’ai pas ces info.
Le log est toujours vide ou plutôt avec une forme d’erreur.
Idem depuis l’intégration, en interrogeant le Topic home/ ou home/OpenMQTTGateway_ESP8266_RF
C’est pas très clair.

@1technophile Merci pour ton aide en tout cas :+1:, je crois être arrivé au bout :-/

1 « J'aime »

Tu peux essayer également la gateway Pilight maintenant que tu sais comment intégrer OMG.
nodemcuv2-pilight

OK, j’ai testé mais pas de changement.
J’ai un petit doute sur ce que je fais, peux tu me dire si j’ai bon ou pas stp ?

Je pioche dans la banque que tu as mis à dispo sous Github

Je prends seulement le .bin (soit le pilight, soit le RF, au choix)
Je le charge avec NodeMCU-PyFlasher.exe, je flash mon ESP8266, et c’est tout !?

1/ Ma dernière manip, j’ai flasher avec nodemcuv2-pilight-firmware.bin et je n’ai pas eu besoin de refaire le paramétrage wifi etc…ça m’a étonné.
2/ Le même package en .zip (qui est plus lourd) il est mieux, moins bien ou c’est le même ? Je ne vois pas comment utiliser tous ces éléments.

Catalogue

Bonjour à tous

J’ai un ESP32 avec un récepteur RF433. Je n’ai pas testé un ESP8266 mais je me suis dit que l’ESP allait être super occupé avec les émetteurs de tous mes voisins… :crazy_face: donc qu’il fallait de la puissance.

Cela fonctionne bien. Par contre, rien ne bougeait sans antenne. J’ai testé avec une petite antenne et je captais ma sonde de température en l’approchant du récepteur puis j’ai acheté une grosse antenne et maintenant je capte tout le quartier.


ha oui j’oubliais:

  • j’ai flashé le code de cpainchaud disponible sur git:
    GitHub - cpainchaud/RFLink32: RFLink for ESP, with MQTT client
  • le flash se fait via Visual studio/PlateformIO
  • via l’access point wifi, je rentre les paramètres MQTT
  • le message n’est pas terrible et j’ai du me faire
    • un script python pour décoder température et humidité
    • une automatisation MQTT pour décoder les on/off d’une vieille télécommande

Voici le message MQTT que je reçois du RFlink32:

Là c’est la sonde de température du voisin.

Autre retour d’expérience:

  • je me suis fait aider par le discord RFlink :heart_eyes:
  • le décodage de Oregon scientific v1.0 ne fonctionne pas. l est inhibé de base dans le code. On peut l’ajouter mais, chez moi, cela plantait l’ESP rapidement. Du coup, ma vielle station météo n’est pas décodable et j’ai du acheter de nouvelles sondes.

image