(Dés)activation délestage, gestion auto du relais



  • Bonjour à tous,

    Je viens de terminer quelques nouveautés sur le code de la Remora et je souhaiterai savoir si certains utilisateurs seraient intéressé pour faire des tests. Je les ai seulement testées sur Wemos, mais ça devrait aussi fonctionner sur NodeMCU. Par contre, pour le Spark, je ne sais pas.

    Les fonctionnalités sont:

    • L'activation / désactivation du délestage dans le code
    • La gestion automatisée du relais pour ballon d'eau chaude (par exemple)

    Le choix du délestage se fait dans le fichier remora.h en commentant/décommentant la ligne #define MOD_ADPS. Si vous décommentez, le délestage sera activé et vous le verrez dans la page système sur l'interface.
    0_1475331753470_adpsIHM.png

    La gestion du mode de fonctionnement du relais se fait directement dans l'interface, sur la page des fils pilote. Il y a un nouvel espace, nommé Relais, dans lequel vous pouvez choisir le mode de fonctionnement, Arrêt / Auto / Marche forcée. Le fonctionnement est identique aux contacteurs Jour/Nuit dans les tableaux électriques. Vous verrez aussi un icône qui vous indiquera le statut du relais, ouvert / fermé. Une méthode d'API a été ajoutée pour piloter le mode du relais

    // Modification du mode du relais (0: Stop, 1: Force, 2: Auto)
    GET /?frelais=X
    

    0_1475331380355_gestionRelaisIHM.png

    Les sources ont été mergées sur le dépôt Github de Charles.

    Dans tous les cas, il vous faut mettre à jour le code source sur le Wemos ou le NodeMCU et aussi les fichiers SPIFFS.

    Merci de me retourner les erreurs que vous pourriez trouver afin de les résoudre et aussi les idées d'améliorations et d'évolutions.

    Manuel


  • Staff

    Salut,

    Super boulot, merci à toi



  • Bonjour,

    pour le relai, si cela ne complique pas trop le code, il pourrait être intéressant d'avoir un mode "programmé" en plus du mode auto, avec une plage d'heure début/fin. Chez moi par exemple, le chauffe eau tourne de 3h à 6h au lieu des heures edf, j'utilise une zibase pour le piloter. Je me dis que pouvoir se passer de la box serais pas mal (plus d'indépendance des équipements).



  • Salut @mjeanne

    Bonne idée, mais pour ça, il faudrait que la Remora gère le temps. Je suis justement en train de travailler dessus.



  • Salut, super boulot !

    J'ai aussi fait la demande pour modif du plugin jeedom pour prendre en compte le nouvel état.

    Par contre j'arrive pas a modifier les fichiers SPIFFS. Quand j'essaie d'uploader j'ai une erreur.

    Quelqu'un pourrais partager un fichier valide pour Wemos pour voir si mon problème viens de la compilation ?

    Merci d'avance,

    Julien



  • Salut @theju ,

    C'est quoi ton erreur ?



  • Ca passe assez vite, un rectangle vert avec erreur 200 (de tête) puis ca reboot

    J'essaye de faire une copie d'écran demain

    Julien



  • Il ne faut pas le faire via OTA, mais directement depuis le programme Arduino.



  • Alors ca va être compliqué, impossible de le faire depuis le remora facilement. Je pensait qu'on pouvait aussi mettre a jour le système de fichiers via la page web.



  • Voila ce que ça donne après l'upload du fichier: 200 FAIL

    0_1475651306092_Remora - Google Chrome_057.jpg



  • @theju

    Je crois qu'il y a un problème d'update avec les SPIFFS lorsque celui-ci n'est pas démonté.

    Peux-tu essayer le code suivant au début de la fonction ArduinoOTA.onStart dans remora_soft.ino aux alentours de la ligne 500 ?

    if (ArduinoOTA.getCommand() == U_SPIFFS) {
      SPIFFS.end();
    }
    

    Ou si tu préfères, tu peux utiliser la branche remora_soft sur mon dépôt Github.



  • J'ai fait la modif :

       // OTA callbacks
        ArduinoOTA.onStart([]() { 
          if (ArduinoOTA.getCommand() == U_SPIFFS) {
           SPIFFS.end();
          }
          LedRGBON(COLOR_MAGENTA);
          DebugF("\r\nUpdate Started..");
          ota_blink = true;
        });
    

    Mais j'ai deux erreurs de compilation :

    remora_soft:503: error: 'class ArduinoOTAClass' has no member named 'getCommand'
           if (ArduinoOTA.getCommand() == U_SPIFFS) {
                          ^
    remora_soft:504: error: 'class fs::FS' has no member named 'end'
            SPIFFS.end();
                   ^
    exit status 1
    'class ArduinoOTAClass' has no member named 'getCommand'
    

    Merci de ton aide

    Julien



  • @theju ,

    Le problème ne se situe pas du tout au niveau de l'OTA, autant pour moi, il se situe au niveau de l'update qui ne sait pas faire la différence entre le firmware et le SPIFFS.

    Pourquoi ne le fais-tu pas directement par OTA ?



  • J'ai corrigé des bugs, mais ces fix ne sont pas encore mergés sur le dépôt de @Charles

    Si vous souhaitez en bénéficier, rendez-vous sur mon dépôt Github, branche relais. Mettez à jour votre code source.
    J'ai ajouté une nouvelle constante DEBUG_INIT qui doit être décommentée si vous utilisez le port série SERIAL1 pour les messages de debug, la vitesse sera définie à 115200 bauds au lieu des 1200.
    Si vous n'activez pas la télé-information, la vitesse du port série sera de 115200 bauds.

    Je vous laisse voir tout ça sur mon dépôt, et si vous avez des questions, et bien posez les, je tâcherai d'y répondre.



  • @AuFilElec

    Je ne le fait pas par OTA ou par serial parce que c'est la misère sur mon mac ...
    Faut que je réinstalle tous les outils pour voir si ça fonctionne.

    Je vais me faire violence et tout reprendre depuis le début ;-)

    Julien



  • Salut à tous,

    J'ai une petite idée concernant la commande du relais dans l'interface Web. Actuellement, on peut gérer le mode de fonctionnement du relais depuis l'interface, mais pas le relais lui même.
    Je pensais donc permettre la modification de l'état du relais en cliquant sur l'icône, sans pour autant modifier le mode de fonctionnement.

    Qu'en pensez-vous ?

    Une autre idée, serait de verrouiller et/ou masquer certaines fonctions de l'IHM Web. Mettre en place une authentification afin d'accéder aux fonctions d'écriture, comme l'upload ou la modification des fils pilote.

    Qu'en pensez-vous ?



  • @mjeanne said in (Dés)activation délestage, gestion auto du relais:

    Chez moi par exemple, le chauffe eau tourne de 3h à 6h au lieu des heures edf, j'utilise une zibase pour le piloter. Je me dis que pouvoir se passer de la box serais pas mal (plus d'indépendance des équipements).

    Bonjour, je plussois !
    J'ai un peu la même problématique car je souhaite pouvoir commander le ballon d'eau chaude un jour sur deux pendant les heures creuses.
    Et pour le moment pas d'autre capteurs qui justifieraient d'ajouter une box domotique.



  • @AuFilElec said in (Dés)activation délestage, gestion auto du relais:

    Bonne idée, mais pour ça, il faudrait que la Remora gère le temps. Je suis justement en train de travailler dessus.

    Bonjour,
    Peut-être en ajoutant une horloge temps réelle sur le bus i2C ?



  • @jpegfr

    Pas besoin d'horloge, il y en a déjà une, +/-, dans le Wemos. Dans le boulot que j'ai commencé, j'utilise un serveur NTP pour récupérer l'heure et ensuite j'utilise l'uptime pour incrémenter le temps. Avec une requête NTP tous les 24H, ça permet de rester à l'heure.
    Ensuite, le gros boulot, c'est d'intégrer le temps dans le reste du programme. Il faut y réfléchir tranquillement.

    Par curiosité, pourquoi faire tourner le ballon qu'un jour sur deux ?



  • @AuFilElec
    En comptant sur l'inertie thermique du ballon, l'eau n'a pas le temps de refroidir. En semaine on ne consomme que très rarement la totalité du contenu du ballon...

    OK pour ton explication concernant l'horloge. C'est effectivement une alternative.


Log in to reply
 

Looks like your connection to Community Forum was lost, please wait while we try to reconnect.