Skip to content
  • Blog
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Community Forum

P

Phi13

@Phi13
About
Posts
13
Topics
2
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent

  • WifInfo - erreur compilation apres Maj biblios et IDE
    P Phi13

    Bonjour,
    Sur un NODEMCU 1.0 (ESP12E) j'ai mis en oeuvre en avril 2019 WifInfo pour Domoticz en utilisant l'environnement suivant :

    • Arduino IDE 1.8.9
    • gestionnaire de carte : esp8266 by esp8266 community version 2.4.1
    • librairie : Neopixelbus by Makuna version 2.4.4
    • librairie : Lib teleinfo depot de Sylvain Rémy
    • téléchargement SPIFFS : ESP8266FS-0.3.0.zip
      Compilation et téléversement faits sans problèmes (quelques warning) et l'utilisation OK jusqu'à maintenant pour le transfert des valeurs au dispositif P1 smart meter de Domoticz.
      En 2020, j'ai changé de type d'abonnement Linky entre tarif BASE et tarif HCHP.
      J'ai donc apporté une modification à la version de Sylvain Remy sur webclient.cpp afin d'élargir les options pour la transmission des valeurs :
    // /json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=USAGE1;USAGE2;RETURN1;RETURN2;CONS;PROD
    if(config.domoticz.idx_p1sm > 0)
    {
      url = baseurl;
      url += "idx=";
      url += config.domoticz.idx_p1sm;
      url += "&nvalue=0";
      url += "&svalue=";
      
    	if(!strcmp(meMap["OPTARIF"], "BASE")) {
    		// Programmation d'origine Sylvain Remy (incomplète)
    		// fonctionnement standard OPTARIF="BASE"
    		url += String(atoi(meMap["BASE"].c_str())).c_str();
    		url += ";0;0;0;";
    	} else {
    		// Modification Ph. Marsault -> envoi heures pleines / heures creuses et autres tarifs  
    		// OPTARIF="HC.." => Option heures pleines heures creuses
    		// OPTARIF="EJP." => Option EJP. 
    		// OPTARIF="BBRx" => Option Tempo
    		url += String(atoi(meMap["HCHP"].c_str())).c_str();
    		url += ";";
    		url += String(atoi(meMap["HCHC"].c_str())).c_str();
    		url += ";0;0;";
    	}
    		  
      // Puissance apparente
      url += String(atoi(meMap["PAPP"].c_str())).c_str();
      url += ";0";
     
    
    

    Pour recompiler le code et télécharger, j'ai mis à jour les environnements :
    Arduino IDE 1.8.12, carte ESP8266 etc...
    Hélas, j'ai un plantage à la compilation à cause de U_Flash et U_SPIFFS non définis. Même en corrigeant, le code téléversé provoque un reset en boucle du Nodemcu que je n'arrive pas à débugger (je suis débutant dans ce domaine ...)
    En remettant l'environnement initial de 2019, compilation et téléchargement du code se passent sans problème et le code modifié fonctionne correctement (bonne adaptation selon le tarif transmis par le Linky)
    En conclusion :

    • j'ai pu effectuer une modification qui fonctionne
    • MAIS impossible de compiler avec un environnement à jour, ce serait sympa pour le futur de comprendre pourquoi et d'apporter des corrections (?)..... Cela dépasse mes compétences

    Philippe

    WifInfo

  • Ajout de Domoticz
    P Phi13

    @Charles
    J'ai utilisé le dépôt de Sylvain Remy
    https://github.com/sremy91/LibTeleinfo
    J'ai modifié la partie Webclient.cpp pour transmettre les index HC et HP au dispositif virtuel "P1 Smart meter" (il aurait mieux valu faire un if de test pour les tarifs BASE ou HCHP mais je suis un débutant en C++) :

    // /json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=USAGE1;USAGE2;RETURN1;RETURN2;CONS;PROD
    if(config.domoticz.idx_p1sm > 0)
    {
    /*
    // Programmation d'origine Sylvain Remy incomplète
    // fonctionnement standard "BASE"
    url = baseurl;
    url += "idx=";
    url += config.domoticz.idx_p1sm;
    url += "&nvalue=0";
    url += "&svalue=";
    url += String(atoi(meMap["BASE"].c_str())).c_str();
    url += ";0;0;0;";
    url += String(atoi(meMap["PAPP"].c_str())).c_str();
    url += ";0";
    */

          // Modification Ph. Marsault -> envoi heures pleines / heures creuses
          url = baseurl;
          url += "idx=";
          url += config.domoticz.idx_p1sm;
          url += "&nvalue=0";
          url += "&svalue=";
          url += String(atoi(meMap["HCHP"].c_str())).c_str();
          url += ";";
          url += String(atoi(meMap["HCHC"].c_str())).c_str();
          url += ";0;0;";
          url += String(atoi(meMap["PAPP"].c_str())).c_str();
          url += ";0";
    
    
          if(!httpPost( config.domoticz.host, config.domoticz.port, (char *) url.c_str()))
          {
            ret = false;
          }
    
          /*
          Info(config.domoticz.host);
          InfoF(":");
          Info(config.domoticz.port);
          Infoln((char *) url.c_str());
          InfoF("ret=");
          Infoln(ret);
          Infoflush();
          */
      }
    

    Pour afficher seulement la puissance apparente (PAPP), j'utilise un dispositif virtuel "Custom sensor"

    Philippe

    WifInfo

  • Wifinfo, mise à jour micro logiciel impossible depuis interface web
    P Phi13

    Je viens de faire une OTA avec succès à l'aide de l'interface Web Wifinfo.
    J'utilise :

    • le dépôt de Sylvain Remy (modifié pour Domoticz)
      https://github.com/sremy91/LibTeleinfo
      et les sources de Wifinfo dans son répertoire exemple
    • interface Arduino IDE 1.8.9 sous Win 10
    • Python 2.7.11
      J'ai fais une compilation/vérification puis "Exporter les binaires compilés" et enfin changé le nom du fichier généré "Wifinfo.ino.nodemcu.bin" en "Wifinfo.ino.bin"
      Dans l'onglet Fichiers, je sélectionne le fichier "Wifinfo.ino.bin" à l'aide de "parcourir" sous le titre "Mise à jour micro-logiciel ou serveur WEB embarqué"
      Le téléchargement est très rapide.
      L'opération se termine par une indication d'erreur, mais en fait le serveur a redémarré en fonctionne correctement (!)

    Dans le fichier log.txt de l'interface web, j'obtiens :

    Update: Wifinfo.ino.bin
    Flashing CPP
    .....................................................................................................................................................................................Update Success: 369056
    Rebooting...
    Connecting to: xxxxxxxxx with key 'yyyyyyyyy'...
    Waited 3000ms
    Connected!
    IP address : 192.168.2.125
    MAC address : zz:zz:zz:zz:zz:zz
    HTTP server started

    Voici pour le détail basique des opérations ...

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    COOL
    Ca marche, je récupère bien les valeurs dans Domoticz ...
    Yessssss
    Merci à vous tous pour votre travail et votre aide !
    Philippe

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    C'est magique !
    Merci pour les explications. Je vais recompiler en mode "normal" et tester la transmission vers Domoticz.
    Bonne soirée

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    Je ne comprends pas tout 🙂
    Effectivement, en allant sur 192.168.2.125, j'ai le serveur Wifinfo (je pensais qu'il n'était dispo que sur 192.168.4.1 .... ou c'est uniquement que pour la première utilisation ?)
    Cela voudrait dire que mon module fonctionne ?
    (je ne vois pas le retour d'info sur Domoticz car j'ai déconnecté l'ESP8266 de mon tableau electrique et de la téléinfo ...)
    ... bizarre....

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    Ok, j'ai recompilé et téléversé le code en mode DEBUG comme indiqué par Seb3d.
    Je récupère le bavardage que j'ai un peu de mal à interpréter. Le module ne part toujours pas en mode AP mais je crois comprendre qu'il se connecte au réseau local en mode STA.
    Voici ci-dessous le début des messages (identifiants masqués) avant le cyclage sur ":urch 49, 49" .... C'est un peu long mais si cela vous permet de lire dans les entrailles de poisson (?)

    SDK:2.2.1(cfd48f3)/Core:2.4.2/lwIP:2.0.3(STABLE-2_0_3_RELEASE/glue:arduino-2.4.1-13-g163bb82)/BearSSL:6d1cefc
    SPIFFSImpl: allocating 512+240+1400=2152 bytes
    SPIFFSImpl: mounting fs @300000, size=fb000, block=2000, page=100
    SPIFFSImpl: mount rc=0
    Good CRC, not set!
    ========== SDK Saved parameters Start
    Mode: STA
    PHY mode: N
    Channel: 2
    AP id: 0
    Status: 1
    Auto connect: 1
    SSID (9): xxxxxxxxx
    Passphrase (11): xxxxxxxxxxx
    BSSID set: 0
    ========== SDK Saved parameters End
    Connecting to: SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    wata_2013Print::write(data,len) should be overridden for better efficiency
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    with key 'SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    wata;062013SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    '...
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    sta config unchangedscandone
    scandone
    state: 0 -> 2 (b0)
    state: 2 -> 3 (0)
    state: 3 -> 5 (10)
    add 0
    aid 4
    cnt

    connected with xxxxxxxxx, channel 2
    dhcp client start...
    ip:192.168.2.125,mask:255.255.255.0,gw:192.168.2.1
    Waited SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    200SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    ms
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    Connected!
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    IP address : SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    192.168.2.125
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    MAC address : SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    84:F3:EB:18:39:24
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    StaticRequestHandler: path=/font uri=/font isFile=0, cache_header=max-age=86400
    StaticRequestHandler: path=/js uri=/js isFile=0, cache_header=max-age=86400
    StaticRequestHandler: path=/css uri=/css isFile=0, cache_header=max-age=86400
    ===== Wifi
    ssid :xxxxxxxxx
    psk :xxxxxxxxxxx
    host :WifInfo-183924
    ap_psk :
    ap_retrycount:150
    OTA auth :OTA_WifInfo
    OTA port :8266
    Config : DEBUG
    ===== Emoncms
    host :emoncms.org
    port :80
    url :/input/post.json
    key :
    node :0
    freq :0

    ===== Jeedom
    host :jeedom.local
    port :80
    url :/jeedom/plugins/teleinfo/core/php/jeeTeleinfo.php
    key :
    compteur :
    freq :0

    ===== Domoticz
    host :192.168.2.50
    port :8080
    url :/json.htm
    user :
    password :
    idx_txt :73
    idx_p1sm :71
    idx_crt :72
    idx_elec :0
    idx_kwh :0
    idx_pct :0
    freq :0
    HTTP server started
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    SPIFFS_close: fd=1
    :urn 49
    :urch 49, 49
    pm open,type:2 0
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49
    :urch 49, 49

    Philippe

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    Damned, je viens de tenter de charger (pour la 2ème fois) WifInfo sur le Nodemcu, mais ce coup ci sans succès (!)
    Pour être plus sûr, je viens de repartir de la configuration de S. Remy
    https://github.com/sremy91/LibTeleinfo
    Je refais une compilation/vérification avec l'IDE Arduino, je téléverse puis je charge les fichiers les fichiers pour la partie serveur avec Esp8266 sktech data upload ...
    Mais cette fois, je ne détecte plus le SSID du nodemcu (!) ... donc plus de page web de configuration.
    Je ne suis pas super familier de l'IDE Arduino pour cette configuration.
    Comment puis-je faire pour débugger WifInfo ?

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    Merci pour cette réponse.
    J'avais déjà essayé de passer le timeout à 30s sans succès.
    Dans le sketch de test, la connexion est obtenue en 3s (6 '.' envoyés en print).
    Je peux essayer à nouveau avec un long timeout mais je doute un peu (?)

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    Pour tester si le problème vient du nodemcu (défectueux ?) ou des paramètres de configuration (erronés ?), j'ai chargé un petit script de test, voir ci-dessous avec le résultat, test réalisé à 80MHz.
    Le nodemcu se connecte bien sans problème. J'en déduis qu'il y a un problème de configuration dans le script WifInfo ?

    // **********************************************************************************
    // Include Arduino header
    #include <Arduino.h>
    #include <ESP8266WiFi.h>
    #include <ESP8266WebServer.h>
    #include <ESP8266HTTPClient.h>
    #include <ESP8266mDNS.h>
    #include <WiFiUdp.h>
    //
    // Gestion de la mise à jour du firmware via le WiFi (Over The Air)
    #include <ArduinoOTA.h>
    //
    // Simulation de la mémoire EEPROM
    #include <EEPROM.h>
    //
    /*

    • WL_NO_SHIELD = 255, // for compatibility with WiFi Shield library
      WL_IDLE_STATUS = 0,
      WL_NO_SSID_AVAIL = 1,
      WL_SCAN_COMPLETED = 2,
      WL_CONNECTED = 3,
      WL_CONNECT_FAILED = 4,
      WL_CONNECTION_LOST = 5,
      WL_DISCONNECTED = 6
      */

    const char* ssid = "yyyyyyyyy";
    const char* password = "xxxxxxxxx";

    //IPAddress staticIP(192,168,1,22);
    //IPAddress gateway(192,168,1,9);
    //IPAddress subnet(255,255,255,0);

    void setup(void)
    {
    Serial.begin(115200);
    Serial.println();

    Serial.printf("Connecting to %s\n", ssid);
    WiFi.begin(ssid, password);
    Serial.printf("Connection status 1 : %d\n", WiFi.status());
    //WiFi.config(staticIP, gateway, subnet);
    while (WiFi.status() != WL_CONNECTED)
    {
    delay(500);
    Serial.print(".");
    }
    Serial.println();
    Serial.print("Connected, IP address: ");
    Serial.println(WiFi.localIP());
    if (WiFi.status() == WL_CONNECTED)
    {
    uint8_t macAddr[6];
    WiFi.macAddress(macAddr);
    Serial.printf("Connected, mac address: %02x:%02x:%02x:%02x:%02x:%02x\n", macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]);
    }
    Serial.printf("Connection status 2 : %d\n", WiFi.status());
    // Lecture du hostname et changement
    Serial.printf("Default hostname: %s\n", WiFi.hostname().c_str());
    //WiFi.hostname("ESP_Linky");
    //Serial.printf("New hostname: %s\n", WiFi.hostname().c_str());
    }
    void loop() {}


    Résultat sur le moniteur série :

    87

    Connecting to yyyyyyyyy
    scandone
    Connection status 1 : 6
    scandone
    state: 0 -> 2 (b0)
    state: 2 -> 3 (0)
    state: 3 -> 5 (10)
    add 0
    aid 3
    cnt
    ..
    connected with yyyyyyyyy, channel 2
    dhcp client start...
    ...ip:192.168.2.125,mask:255.255.255.0,gw:192.168.2.1
    .
    Connected, IP address: 192.168.2.125
    Connected, mac address: 84:f3:eb:18:39:24
    Connection status 2 : 3
    Default hostname: ESP_183924
    pm open,type:2 0

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    Le point d'accès est bien visible à la connexion. J'ai un routeur Synology à 1 mètre pour gérer le réseau local, pas de pb sur le niveau de signal ....
    Le nodemcu est neuf (jamais connecté à un réseau). Pas de pb entre les modes STA et STA+AP ?
    Mon autre nodemcu est un peu plus loin derrière un mur et se connecte rapidement (avec la biblio Mysensor en donnant le nom du point d'accès et le password).
    J'essaie d'ajouter des messages sur l'état de la connexion avant/après dans le setup mais je ne suis pas très familier avec les macros des bibliothèques utilisées ...

    WifInfo

  • Wifinfo, connexion réseau impossible
    P Phi13

    Hello,

    J'ai réalisé un module de traitement des données Linky avec

    • Nodemcu avec CP2102
    • pitinfov12-light
    • Wifinfo
    • Libteleinfo modifiée S. Remy pour Domoticz
      en suivant le tuto :
      https://anderson69s.com/2018/05/01/domoticz-linky/
      et bien entendu les articles de C. Hallard.
      Le téléchargement du soft est effectué avec l'IDE Arduino.

    Je me connecte bien au serveur Wifinfo et les infos du Linky sont bien reçues.
    J'ai chargé les paramètres de connexion pour Domoticz via l'interface web.
    MAIS le module refuse de se connecter au réseau local (celui sur lequel tourne Domoticz) selon le fichier Log du serveur
    Write config OK!
    Connecting to: yyyyyyy with key 'xxxxxxxxx'...
    Waited 5000ms
    Error!
    Switching to AP WifInfo-183924
    With no password IP address : 192.168.4.1
    MAC address : 86:F3:EB:18:39:24
    HTTP server started

    Mes identifiants sont bien corrects.
    J'ai essayé sans succès de faire une connexion sur un autre réseau (une Airbox sans mot de passe).

    J'ai également changé de Nodemcu ... même problème ...

    Pour info, J'ai un autre module Nodemcu (compteur eau avec la biblio Mysensors) qui se connecte bien au réseau local.

    Quelles pistes pour résoudre ce problème ?

    Merci d'avance pour votre aide

    Philippe

    WifInfo

  • Dongle similaire pour compteur d'eau à impulsions ?
    P Phi13

    https://forum.mysensors.org/topic/9414/double-watermeter-on-nodemcu

    Comments & Feedback
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Blog
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups