Community Forum
    • Blog
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Programmateur simple pour Remora

    Scheduled Pinned Locked Moved Remora
    12 Posts 4 Posters 1.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • trahayT Offline
      trahay
      last edited by

      Bonjour,
      Je suis l'heureux propriétaire d'un Remora, et j'ai installé un Jeedom sur un Raspberry Pi afin de pouvoir gérer des programmes et les changer à distance. A l'usage, je me suis rendu compte que:

      • ça rame (le raspberry pi est un peu limite niveau puissance pour jeedom)
      • c'est compliqué à programmer (en tout cas, en temps que développeur, j'ai eu du mal à obtenir des programmes qui fonctionnent correctement)

      J'ai donc décidé d'arrêter les frais avec Jeedom, et de développeur un programmateur simple. Concrêtement, il s'agit d'un site web (hébergé sur un raspberry pi) qui permet de définir des programmes (par exemple, "journée de travail", "journée à la maison", "en vacances", etc.) et d'affecter ces programmes aux différentes zones.
      En plus du site web, il y a un script qui consulte régulièrement les programmes à appliquer et qui envoie des commandes au Remora.

      Pour ceux qui veulent tester, le code est dispo ici:
      https://github.com/trahay/remora_programmer

      AuFilElecA 1 Reply Last reply Reply Quote
      • AuFilElecA Offline
        AuFilElec @trahay
        last edited by

        Salut @trahay

        Merci de partager ton excellent travail avec nous. J'ai trouvé ça très intéressant.

        J'aurai une petite remarque à faire dans le script cron que tu lances toutes les 5 minutes. Tu envoies un ordre à chaque fois, pour chaque zone. Peut-être pourrais-tu faire un appel pour récupérer l'état des 7 zones (http://ip_du_remora/fp) et comparer avec les ordres programmés dans ton système. Cela pourrait éviter des appels inutiles à la Remora.

        1 Reply Last reply Reply Quote
        • M Offline
          Marc
          last edited by

          Bonjour,

          Merci pour ce travail !

          Je suis aussi un déçu de Jeedom, après avoir perdu un jour ou deux à essayer de le configurer de façon satisfaisante. J'ai jeté un coup d'œil à ton code, et ça m'a l'air beaucoup plus proche de ce que je voudrais. (Enfin, à long terme, j'aimerais intégrer un retour de sondes de température, mais dans un premier temps, je voulais justement m'implémenter un système de programmes sur une journée à associer ensuite à des jours/zones.)

          Un truc qui m'intrigue cependant : est-ce qu'il y a une raison particulière de définir le programme de chaque jour avec une granularité de 15 min, plutôt qu'autoriser des plages arbitraires (en stockant la liste des basculements plutôt qu'un tableau d'états, bien sûr) ?

          Et sinon, j'ai l'impression que ça vaudrait la peine de donner plus de souplesse dans l'association jour → programme_journee : la sélection en fonction du jour de la semaine convient le plus souvent, mais il y a pas mal d'exceptions que l'on pourrait vouloir programmer à l'avance (jours fériés, absences de plusieurs jours...). En fait, j'ai l'impression qu'il faudrait pouvoir donner un ensemble arbitraire de règles du style « les premiers lundis du mois entre telle date et telle date, utiliser le programme X ». Mais je ne sais pas trop comment rendre ça digeste pour l'utilisateur, ni s'il existe du code tout fait qui ferait ça bien...

          Merci encore en tout cas !

          1 Reply Last reply Reply Quote
          • M Offline
            Marc
            last edited by

            Je suis en train d'installer une version un tout petit peu mise à ma sauce...

            • Petite question : README.md mentionne une dépendance à mongodb, mais je n'ai pas compris où celle-ci était utilisée. Est-ce qu'elle l'est vraiment ?

            • Et mini remarque pour les autres utilisateurs éventuels : attention à créer au moins un programme avant vos zones, sans quoi le chargement de la page d'accueil échoue. @trahay: Je ne sais pas si tu es intéressé par les rapports de bug, j'en ai fait un dans le doute.

            AuFilElecA 1 Reply Last reply Reply Quote
            • AuFilElecA Offline
              AuFilElec @Marc
              last edited by

              Salut @marc

              D'après la lecture que j'ai fait du code, c'est SQlite qui est utilisé comme SGBD et pas MongoDB. Par contre, la dépendance est bien dans le fichier package.json du projet.

              M 1 Reply Last reply Reply Quote
              • M Offline
                Marc @AuFilElec
                last edited by

                @aufilelec Oui, c'est aussi ma compréhension des choses.

                AuFilElecA 1 Reply Last reply Reply Quote
                • AuFilElecA Offline
                  AuFilElec @Marc
                  last edited by

                  @marc

                  Par contre, je n'ai pas encore trouvé comment faire plusieurs périodes de confort dans une programmation journalière. Et toi ?

                  1 Reply Last reply Reply Quote
                  • AuFilElecA Offline
                    AuFilElec
                    last edited by

                    J'ai finalement trouvé. Il suffit d'éditer la programmation et de renseigner les heures et le mode, sur la zone en question. Et cela plusieurs fois.

                    1 Reply Last reply Reply Quote
                    • trahayT Offline
                      trahay
                      last edited by

                      Merci pour votre enthousiasme 🙂

                      Je réponds en vrac:

                      J'aurai une petite remarque à faire dans le script cron que tu lances toutes les 5 minutes. Tu envoies un ordre à chaque fois, pour chaque zone. Peut-être pourrais-tu faire un appel pour récupérer l'état des 7 zones (http://ip_du_remora/fp) et comparer avec les ordres programmés dans ton système. Cela pourrait éviter des appels inutiles à la Remora.

                      Oui, il y a sans doute moyen de rendre le script plus intelligent et d'éviter de dialoguer avec la Remora constamment.

                      Un truc qui m'intrigue cependant : est-ce qu'il y a une raison particulière de définir le programme de chaque jour avec une granularité de 15 min, plutôt qu'autoriser des plages arbitraires (en stockant la liste des basculements plutôt qu'un tableau d'états, bien sûr) ?

                      J'ai trouvé ça plus simple à programmer et je me dit qu'une granularité de 15 minutes c'est suffisant vue l'inertie d'un radiateur électrique. Je vois mal quelqu'un demander au radiateur de chauffer à partir de 6h47 exactement 🙂

                      Et sinon, j'ai l'impression que ça vaudrait la peine de donner plus de souplesse dans l'association jour → programme_journee : la sélection en fonction du jour de la semaine convient le plus souvent, mais il y a pas mal d'exceptions que l'on pourrait vouloir programmer à l'avance (jours fériés, absences de plusieurs jours...). En fait, j'ai l'impression qu'il faudrait pouvoir donner un ensemble arbitraire de règles du style « les premiers lundis du mois entre telle date et telle date, utiliser le programme X ». Mais je ne sais pas trop comment rendre ça digeste pour l'utilisateur, ni s'il existe du code tout fait qui ferait ça bien...

                      Il est sans doute possible de faire quelque chose dans le genre, mais j'ai pas trop d'idée sur la façon de spécifier les exceptions. Pour les absences prolongées, je change les programme au cas par cas (je passe en mode vacances quand je pars, et la veille de mon retour, je choisi le mode "travail")

                      Petite question : README.md mentionne une dépendance à mongodb, mais je n'ai pas compris où celle-ci était utilisée. Est-ce qu'elle l'est vraiment ?

                      C'est une erreur et c'est corrigé maintenant 🙂 (En fait j'ai commencé le projet en utilisant mongodb, mais quand j'ai installé le tout sur raspberry, je me suis rendu compte qu'il n'y a pas de version utilisable de mongodb sur cet archi, donc je suis passé à sqllite.)

                      Et mini remarque pour les autres utilisateurs éventuels : attention à créer au moins un programme avant vos zones, sans quoi le chargement de la page d'accueil échoue. @trahay:

                      Merci pour le rapport de bug. Je viens de corriger ça.

                      Je ne sais pas si tu es intéressé par les rapports de bug, j'en ai fait un dans le doute.
                      Oui, je suis intéressé par les rapport de bug et les pull requests 🙂

                      1 Reply Last reply Reply Quote
                      • M Offline
                        Marc
                        last edited by

                        @trahay said in Programmateur simple pour Remora:

                        Oui, je suis intéressé par les rapport de bug et les pull requests 🙂

                        Ok. Pour l'instant, je n'ai fait que de petites adaptations pour mon usage, mais j'y penserai si je suis conduit à faire des modifs utiles pour quelqu'un d'autre ! (Enfin bon, il faudrait sûrement que je commence par apprendre javascript pour en arriver là.)

                        1 Reply Last reply Reply Quote
                        • CharlesC Offline
                          Charles
                          last edited by

                          Bonjour,

                          Super taff ça, mais je me demandais, pourquoi ne pas l'intégrer directement dans l'interface WEB du Remora ? ça devrait être possible, si j'avais le temps je m'y pencherais mais là je dois oublier.

                          trahayT 1 Reply Last reply Reply Quote
                          • trahayT Offline
                            trahay @Charles
                            last edited by

                            @Charles said in Programmateur simple pour Remora:

                            Super taff ça, mais je me demandais, pourquoi ne pas l'intégrer directement dans l'interface WEB du Remora ? ça devrait être possible, si j'avais le temps je m'y pencherais mais là je dois oublier.

                            Je ne m'y connais pas trop en microcontrolleur, mais je pense que la partie programmation (l'interface web) doit pouvoir se porter sur le Remora. Par contre, il est également nécessaire de lancer un Cron régulièrement pour appliquer le programme, et je ne suis pas sûr que ce soit faisable.

                            1 Reply Last reply Reply Quote
                            • First post
                              Last post

                            1

                            Online

                            5.7k

                            Users

                            534

                            Topics

                            5.0k

                            Posts

                            Top Topics

                            • Bonjour Nicolas
                              Nicolas BernaertsN
                              Nicolas Bernaerts
                              0
                              19
                              353

                            • Denky 4 - Domoticz - Triphasé -
                              Nicolas BernaertsN
                              Nicolas Bernaerts
                              0
                              7
                              101

                            • Denky D4 et Linky Standard TInfo Rx Non Configuré
                              CharlesC
                              Charles
                              0
                              5
                              142

                            • CC1101 mini shield pour raspberry
                              CharlesC
                              Charles
                              0
                              5
                              161

                            • CC1101
                              CharlesC
                              Charles
                              0
                              2
                              71

                            Popular Tags

                            teleinfo
                            24 topics
                            arduino
                            19 topics
                            remora
                            16 topics
                            esp8266
                            10 topics
                            arduipi
                            10 topics
                            wifinfo
                            7 topics
                            raspberry
                            7 topics
                            broadcast
                            7 topics
                            Copyright © 2022 Charles-Henri Hallard | Return to blog page | Powered by NodeBB