Demande d'aide pour mise en oeuvre passerelle NRF24L01 + Wemos D1

La passerelle semble bien reconnue par jeedom avec le plugin JeeMySensors. Mais je n’ai pas réussi à la mettre en route (après suppression de JeeMySensors) avec le plugin MySensors. Je ne sais pas où paramétrer l’adresse IP de ma passerelle.

Pour tester cette passerelle, j’ai fabriqué un objet connecté avec un Tinny85 et un module NRF24L10 avec un programme tout simple qui envoi une trame quand la pin 3 change d’état.

Alors, j’ai remis en place le plugin JeeMySensors qui a l’air de fonctionner d’après ce que je vois dans la partie configuration du plugin.

J’ai vérifié le fonctionnement à l’oscilloscope sur les deux modules. Les signaux Mosi, CLK, Miso sont bien présents. Mais rien n’apparaît dans les logs MySensors_node.

Une âme charitable pourrait-elle m’aider? Merci d’avance.

Bonjour,

Dans JeeMySensors la passerelle se configure dans « Mes équipements »
https://totoff974.github.io/jeedom-JeeMySensors/fr_FR/

Vous utilisez bien la bibliothèque MySensors?
Car je trouve étonnant qu’elle puisse rentrer (sans modifications) dans un Attinny85.

Mettez le tag #plugin-jeemysensors dans votre sujet puisqu’il s’agit du plugin en question.

@Mmx:
Merci de m’avoir répondu.
J’ai trouvé une solution pour utiliser un Attiny avec MySensors en suivant ce lien:

message 3 avr. 2015, 01:06
Message d’un certain: sweebee.

J’ai utilisé l’exemple cité et le plugin JeeMySensors car incapable de faire fonctionner le plugin officiel.

Sur la pin 3 (SENSOR) j’ai mis un contact au GND.
A chaque appui, une trame est déclenchée. Sinon c’est toutes les 5 secondes.
Mais l’info ne remonte pas. Les logs sont vides.

J’aurais voulu utiliser le plugin MySensors officiel mais je n’arrive pas à le faire fonctionner avec ma passerelle qui est à base de ESP8266 / WiFi.

J’aimerais trouver une methode pour me sortir de là.

Je ne sais pas comment mettre le tag plugin-jeemysensors .

Ok pour l’ Attiny!

Et que dit le moniteur série de l’IDE Arduino avec la gateway ?
Que dit la log du plugin ?

Le moniteur est assez laconique. Voici ce qu’il dit:

'⸮~{⸮⸮⸮⸮!⸮5040 MCO:BGN:INIT OK,TSP=1
5042 TSM:READY:NWD REQ
5048 ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:

Si je redémarre le demon j’ai ça dans le log du plugin JeeMySensors:
[2023-02-01 10:48:38]ERROR : [ 262 ] Add Gateway command to MySensors error : need more than 1 value to unpack.

Les autres logs sont vides.

La partie réseau a l’air de marcher mais la partie radio est complètement muette.

Suite:
Il manquait le #include MySensors dans le script arduino de la passerell. Maintenant dans la console série j’ai:
Ȥl⸮⸮,lE⸮p:⸮65 MCO:BGN:INIT GW,CP=RNNGE—,FQ=80,REL=255,VER=2.3.2
123 TSF:LRT:OK
139 TSM:INIT
152 TSF:WUR:MS=0
176 TSM:INIT:TSP OK
scandone
state: 0 → 2 (b0)
state: 2 → 3 (0)
state: 3 → 5 (10)
add 0
aid 3
cnt

connected with Livebox0B8F, channel 8
dhcp client start…
ip:192.168.0.30,mask:255.255.255.0,gw:192.168.0.1
397 TSM:INIT:GW MODE
419 TSM:READY:ID=0,PAR=0,DIS=0
451 MCO:REG:NOT NEEDED

C’est encourageant mais les requêtes de mon équipement Attiny85 restent invisibles.

Les équipements sont apparus subitement lorsque j’ai mis le Attiny85 sous tension:
equipements

Mais rien dans les logs… Sauf si je relance le daemon:

0000|Exception in thread Thread-11:
0001|Traceback (most recent call last):
0002|File « /usr/lib/python2.7/threading.py », line 801, in __bootstrap_inner
0003|self.run()
0004|File « /var/www/html/plugins/JeeMySensors/resources/demond/JeeMySensors/JeeConnexion.py », line 25, in run
0005|self.connexion_socket()
0006|File « /var/www/html/plugins/JeeMySensors/resources/demond/JeeMySensors/JeeConnexion.py », line 69, in connexion_socket
0007|self.lecture_donnees()
0008|File « /var/www/html/plugins/JeeMySensors/resources/demond/JeeMySensors/JeeConnexion.py », line 78, in lecture_donnees
0009|send_to_jeedom(‹ LAN ›, self.id_jeedom, msg).start()
0010|File « /usr/lib/python2.7/threading.py », line 736, in start
0011|_start_new_thread(self.__bootstrap, ())
0012|error: can’t start new thread

Avant d’intégrer la passerelle et le node dans Jeedom, il serait judicieux de faire le débogage avec MysController sur PC.
Ça peut être compliqué de le faire directement dans Jeedom, et comme ça vous serez sûr de votre montage et sketch.

Je vous invite à lire les règles du forum pour mettre en forme votre post pour plus de visibilité.

Malheureusement, je n’ai pas de pc sous Windows. Je suis sur Ubuntu. Est-ce qu’il existe l’équivalent de cet utilitaire tournant sur linux?

Je 'ai pas trouvé où se trouvent les règles du forum. Pouvez-vous me l’indiquer s’il vous plaît?

Sinon, depuis hier, j’ai fais de nouvelles constatations:

Je rappelle ici quel est le matériel MySensors que j’essaie:

  • une passerelle ESP8266_MySensors en réseau wifi
  • un équipement NRF24L01 piloté par un attiny85 équipé d’un bouton.
    Le bouton est utilisé pour simuler une ouverture (DOOR).

Je me place dans le dashboard pour observer l’état du contact du bouton sur la pin 4 de l’attiny
Lorsque j’appuie sur le bouton, j’observe que jeedom ne m’affiche plus le dashboard mais affiche les trois icones MySensorPlugin, Node-1-266 et Sensor-1-1:266
Dans les log de l’équipement Sensor-1-1:266, je trouve cela:
[2023-02-03 12:01:15]INFO : Evènement sur la commande [Ma maison][Sensor-1-1:266][Etat] valeur : 0
[2023-02-03 12:01:17]INFO : Evènement sur la commande [Ma maison][Sensor-1-1:266][Etat] valeur : 1
[2023-02-03 12:01:22]INFO : Evènement sur la commande [Ma maison][Sensor-1-1:266][Etat] valeur : 0
[2023-02-03 12:01:24]INFO : Evènement sur la commande [Ma maison][Sensor-1-1:266][Etat] valeur : 1

Par contre si je retourne au dashboard, rien n’a changé pour l’état du contact.

Bonne nouvelle ! cela fonctionne :slight_smile:
Pour les règles…

MysController n’existe que sur PC à ma connaissance.

Il manque juste à lié les commandes à l’info, et votre widget changera d’état.

Oui ça fonctionne mais je ne comprends pas pourquoi à chaque fois que la requête arrive, l’affiche est forcé sur la page du plugin MySensors. On ne peut rester sur le dashboard par exemple ou un autre écran.

Etrange !
Sauvegardez bien votre équipement (l’Attiny) et décochez l’inclusion automatique dans la gateway, sauvegardez, et refaites un essai.

J’ai supprimé l’inclusion auto. Le comportement dans jeedom reste le même. Sauf que le bandeau de la tuile dans le dashboard est passé du rouge au vert.

Mettez les log en debug, et montrez ce qu’il se passe (à mettre entre les balises), et éventuellement, les sketch de la gateway et node.

Par curiosité j’ai réinstallé une sauvegarde datant de 4 jours et j’ai ensuite réinstallé et paramétré le plugin JeeMySensors. Là, tout est au vert mais ça ne fonctionne plus. Aucun événement, aucun log le plugin est muet et sourd à tous les envois de la passerelle.
Allors, j’ai recommencé en réinstallant une sauvegarde d’hier et là, on retombe sur un peudo fonctionnement comme hier. Donc, je pense que la passerelle et l’équipement (attiny) fonctionnent mais qu’il y a un problème avec le système. Il faudrait peut-être que je procède à une mise à jour. Qu’en pensez-vous?

Deux heures plus tard:

Je n’y comprends rien. Maintenant ça marche correctement. J’ai simplement supprimé puis réinstaller le plugin plusieurs fois.
Je vais continuer mes essais mais je trouve tout cela inquiétant.

Des nouvelles pour mon système MySensor composé d’un Attiny85 pour l’équipement remontant l’état d’un contact et une passerelle MySensor wifi à base de ESP8266.

Finalement j’ai laissé tomber la breadboard pour un montage câblé au plus court sur carte prototype pastillée.

Mes soucis venaient de là et aussi de l’entrée contact qui n’avait pas de pullup. J’ai modifié la déclaration de cette entrée en l’initialisant avec un pullup. Les problèmes côté jeedom se sont réglés tout seul de manière inexplicable mais maintenant le fait est que ça fonctionne!

Et ben depuis tout fonctionne à merveille.
Le montage est alimenté par une pile bouton CR32 190 mA/h. Lorsque le système est en sommeil, a consommation est de 7 µA contact fermé et non mesurable avec mon multimètre lorsque le contact est ouvert. C’est donc le pullup qui consomme les 7 µA. Lors d’un changement d’état du contact, la consommation monte à quelques dizaines de mA très brièvement mais impossible de le mesurer au multimètre.

Voici le sketch arduino du attiny85:

//                    +-\/-+
//                   1|o   |8  VCC/CE  RED/ORANGE
//  YELLOW   CSN     2|    |7  SCK     GREEN
//  -        SENSOR  3|    |6  MOSI    BLUE
//  BLACK    GND     4|    |5  MISO    VIOLET
//                    +----+

//Contact ouvert, consomme 0 mA au voltmètre
//Contact fermé, consomme 0,07mA au voltmètre (corant dans le pullup de l'entrée)
//Pile bouton CR32 190mA/h
//Soit contact fermé, 3 ans de fonctionnement

#include <MySensor.h>
#include <Bounce2.h>

#define NODE_ID 1
#define CHILD_ID 1

MySensor gw;
Bounce debouncer = Bounce(); 
int oldValue = -1;

MyMessage msg(NODE_ID, V_TRIPPED);

void setup()
{
  pinMode(4, INPUT_PULLUP);
  digitalWrite(4, HIGH);
  
  debouncer.attach(4);
  debouncer.interval(5);
  
  gw.begin(NULL, NODE_ID, false, 0);
  gw.present(CHILD_ID, S_DOOR);
}

void loop()
{
  debouncer.update();
  int value = debouncer.read();
  if (value != oldValue) {
     gw.send(msg.set(value==HIGH ? 1 : 0));
     oldValue = value;
  }
  gw.sleep(PCINT4,CHANGE, 0);
}

NRF24L01_Attiny85

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.