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

    Tasmota

    Scheduled Pinned Locked Moved Téléinfo
    525 Posts 31 Posters 180.9k 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.
    • O Offline
      Obi_Yoann @Nicolas Bernaerts
      last edited by

      @Nicolas-Bernaerts Pour ma part je flash systématiquement avec ton tasmota-flash (vachement pratique!) :
      ./tasmota-flash --esp32-s2 --erase --after no_reset --flash ../../teleinfo32s2.factory.bin
      Il faut juste reset manuellement, en appuyant ou non sur le bouton du mode download, et ça se passe bien.
      En mode download au départ avant de lancer la commande, il commence par faire un erase, puis demande à rebooter, ce qu'il faut faire rapidement toujours en mode download, puis il flash, et indique enfin que le redémarrage manuel en mode normal doit être fait.

      @Charles pour le mode console usb, honnêtement je ne sais pas trop, sur le S2 je suis sûr qu'en mode normal il n'est pas du tout vu par l'ordinateur, j'ai refais le test à l'instant, en mode download oui on a un device série et ESP32-S2 qui apparait, en mode normal absolument rien n'est détecté sur plusieurs machine... Il doit manquer un truc, mais avec le D1 Mini ESP32 en effet j'ai un device tout le temps. Pas avec le Wemos S2 Mini que j'ai, peut être une particularité de ce modèle aussi?
      De ce que j'avais vu ici : https://www.reddit.com/r/esp32/comments/s3efjv/wemos_s2_mini/ j'avais compris qu'il n'y avait pas d'USB-TTL sur ce modèle en tout cas... 🤔

      Barbu DorB Nicolas BernaertsN 2 Replies Last reply Reply Quote
      • Barbu DorB Offline
        Barbu Dor @Nicolas Bernaerts
        last edited by

        @Nicolas-Bernaerts maintenant Je flashe quasi systématiquement avec le Web flasher mais cela ne marche que pour les binaires officiels ou semi-officiels
        Donc généralement, je flashe un binaire officiel, je connecte au wifi et ensuite j'update avec un binaire perso

        Sinon, tu devrais avoir les lignes de commandes ici : https://tasmota.github.io/docs/ESP32/#flashing

        1 Reply Last reply Reply Quote
        • Barbu DorB Offline
          Barbu Dor @Obi_Yoann
          last edited by

          @Obi_Yoann Pour le mode console USB il faut flasher tasmota32s2cdc.factory.bin
          Si tu veux flasher un build perso, il faut alors faire un build perso qui inclue le nécessaire pour le CDC

          @Charles TU peux faire quelque chose pour que j'ai les 3 points de réputation afin de pouvoir poster plus rapidemment 😄
          Merci

          O CharlesC 2 Replies Last reply Reply Quote
          • Nicolas BernaertsN Offline
            Nicolas Bernaerts @Obi_Yoann
            last edited by

            @Obi_Yoann Je viens de trouver la source du problème... Un nettoyage un peu rapide du code. Je viens d'uploader sur GitHub une mise à jour qui devrait régler les problèmes de sauvegarde de la configuration sur ESP avec partition littlefs.

            1 Reply Last reply Reply Quote
            • Nicolas BernaertsN Offline
              Nicolas Bernaerts @Obi_Yoann
              last edited by

              @Obi_Yoann Je viens de mettre à jour tasmota-flash sur GitHub. Il intègre le bon paramètre -fm dio pour les ESP32.

              O 1 Reply Last reply Reply Quote
              • O Offline
                Obi_Yoann @Barbu Dor
                last edited by Obi_Yoann

                @Barbu-Dor Génial! J'ai changé le board de mon device dans platformio_override.ini :

                [env:tasmota32s2cdc-tic]
                extends                     = env:tasmota32s2
                build_flags                 = ${env:tasmota32s2.build_flags} -DMY_LANGUAGE=fr_FR
                board                  = esp32s2cdc
                board_build.filesystem = littlefs
                

                Après compilation et mise à jour via l'interface web je confirme que j'ai bien un serial de connecté quand je branche à mon ordi!!! 🤯
                Par contre je ne trouve pas les paramètres série à utiliser (par ex dans putty), ça serait documenté quelque part? Je n'ai pas trouvé pour le moment!

                EDIT : bon bah en fait j'ai trouvé, la conf de base de putty en 9600 est valide, j'ai bien la console affichée directement dessus. Merci beaucoup!!! C'est même bon en 115200, ça n'a pas l'air très incommandant pour le coup! ^^

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

                  @Barbu-Dor j'ai pas trouvé (si tenté que je puisse), j'ai disable la reputation car je trouve ça trop chiant dans tous les cas je filtre les inscriptions car c'était ingérable avec les BOT et scammer

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

                    @Obi_Yoann en CDC ya pas de baudrate en fait il s'en fout peut importe celui que tu choisis ça fonctionne.
                    Fais gaffe certains terminaux séries contrôlent les ligne DTR/CTS et parfois ça met le S2 en mode download et le firmware démarre jamais (c'est du vécu)

                    CharlesC Barbu DorB 2 Replies Last reply Reply Quote
                    • CharlesC Offline
                      Charles @Charles
                      last edited by

                      @Obi_Yoann il est pas beau le nouveau Denky D4
                      8Mb de Flash
                      2Mb de PSRAM
                      USB-C
                      Mini WS2812 RGB
                      QWIIC Connecteur
                      USB/SERIAL on board
                      Antenne performante

                      e443b23d-431a-440d-9fc3-93878f9726ec-image.png

                      Avec ça aucun pb de comm/USB et Berry a de la ressource 🙂

                      O 1 Reply Last reply Reply Quote
                      • Barbu DorB Offline
                        Barbu Dor @Charles
                        last edited by

                        @Charles
                        J'ai des pbs avec Termite sous windows, je peux envoyer des commandes mais je ne reçoit rien
                        Avec le terminal intégré au tasmota web-installer ca marche bien
                        Pas eu le temps de tester d'autres terminaux pour l'instant

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

                          @Barbu-Dor j’ai jamais trouvé de terminal idéal sous Windows depuis qq décennies 😜
                          Sous Mac j’ai trouvé mon bonheur avec Serial

                          1 Reply Last reply Reply Quote
                          • O Offline
                            Obi_Yoann @Charles
                            last edited by Obi_Yoann

                            @Charles
                            b915b2f1-c0b2-4b94-b555-a5597908f935-image.png
                            la CB est prête!!!! Blague à part ça serait pour quand cette pépite? Pas de connecteur pour un SSD1306? 😅

                            Pour revenir sur le sujet export des données vers emoncms via le script berry, ce matin il retournait à nouveau des erreurs 400 lors du GET, avec des balises plus ou moins foireuses qui sont arrivées dans le emoncms, genre des concaténation d'étiquettes :
                            e0e34343-6cd1-4496-9ead-03ddf21ddc25-image.png
                            Mais aussi et surtout des chaines très longues qui ne passaient pas dans le GET (je n'ai pas fais de capture d'écran, après un reboot du tasmota c'était revenu à la normale).
                            Je voulais éviter ça mais avec le TIC qui est quand même pas mal normé par ENEDIS (par ex ici), j'ai finis par faire une nouvelle map, en reprenant les entrée du tic et en recopiant si présent en sortie. Comme ça en sortie vers le emoncms je n'ai que des balises "attendues" et on peut, si besoin, ne garder que celles qui nous intéressent (il suffit de commenter le bloc de recopie de la balise concernée). Je n'ai pas contrôlé s'il manque des balises par rapport à la spec, j'ai juste pris toutes les balises présentes en sortie de mon linky et fais quelques macro dessus via notepad++...
                            A voir si c'est stable sur quelques heures...

                            import json
                            
                            var api_url = "http://emoncms.mondomaine.local/input/post"
                            var api_key = "XXX"
                            var node_name = "linky"
                            
                            def setcolor(iinst, isousc)
                              var red = tasmota.scale_uint(iinst, 0, isousc, 0, 255)
                              var green = 255 - red
                              var channels = [red, green, 0]
                              light.set({"channels":channels, "bri":64, "power":true})
                            end
                            
                            def rule_tic(value, trigger)
                              # Calculate current percent Load 
                              var iinst = value['SINSTS']
                              var isousc= value['PREF'] * 1000
                              if iinst != nil && isousc != nil 
                                # Drive RGB LED
                                setcolor(iinst, isousc)
                                if isousc > 0
                                  load = 100 * iinst / isousc
                                  value['LOAD'] = load
                                end
                              end
                              var output = {}
                              if value['ADSC'] != nil
                                output['ADSC'] = value['ADSC']
                              end
                              if value['CCASN'] != nil
                                output['CCASN'] = value['CCASN']
                              end
                              if value['CCASN-1'] != nil
                                output['CCASN-1'] = value['CCASN-1']
                              end
                              if value['EASD01'] != nil
                                output['EASD01'] = value['EASD01']
                              end
                              if value['EASD02'] != nil
                                output['EASD02'] = value['EASD02']
                              end
                              if value['EASD03'] != nil
                                output['EASD03'] = value['EASD03']
                              end
                              if value['EASD04'] != nil
                                output['EASD04'] = value['EASD04']
                              end
                              if value['EASF01'] != nil
                                output['EASF01'] = value['EASF01']
                              end
                              if value['EASF02'] != nil
                                output['EASF02'] = value['EASF02']
                              end
                              if value['EASF03'] != nil
                                output['EASF03'] = value['EASF03']
                              end
                              if value['EASF04'] != nil
                                output['EASF04'] = value['EASF04']
                              end
                              if value['EASF05'] != nil
                                output['EASF05'] = value['EASF05']
                              end
                              if value['EASF06'] != nil
                                output['EASF06'] = value['EASF06']
                              end
                              if value['EASF07'] != nil
                                output['EASF07'] = value['EASF07']
                              end
                              if value['EASF08'] != nil
                                output['EASF08'] = value['EASF08']
                              end
                              if value['EASF09'] != nil
                                output['EASF09'] = value['EASF09']
                              end
                              if value['EASF10'] != nil
                                output['EASF10'] = value['EASF10']
                              end
                              if value['EAST'] != nil
                                output['EAST'] = value['EAST']
                              end
                              if value['IRMS1'] != nil
                                output['IRMS1'] = value['IRMS1']
                              end
                              if value['LOAD'] != nil
                                output['LOAD'] = value['LOAD']
                              end
                              if value['LTARF'] != nil
                            #    output['LTARF'] = value['LTARF']
                                output['LTARF'] = "BASE"
                              end
                              if value['NGTF'] != nil
                            #    output['NGTF'] = value['NGTF']
                                output['NGTF'] = "BASE"
                              end
                              if value['NJOURF'] != nil
                                output['NJOURF'] = value['NJOURF']
                              end
                              if value['NJOURF+1'] != nil
                                output['NJOURF+1'] = value['NJOURF+1']
                              end
                              if value['NTARF'] != nil
                                output['NTARF'] = value['NTARF']
                              end
                              if value['PCOUP'] != nil
                                output['PCOUP'] = value['PCOUP']
                              end
                              if value['PREF'] != nil
                                output['PREF'] = value['PREF']
                              end
                              if value['PRM'] != nil
                                output['PRM'] = value['PRM']
                              end
                              if value['RELAIS'] != nil
                                output['RELAIS'] = value['RELAIS']
                              end
                              if value['SINSTS'] != nil
                                output['SINSTS'] = value['SINSTS']
                              end
                              if value['SMAXSN'] != nil
                                output['SMAXSN'] = value['SMAXSN']
                              end
                              if value['SMAXSN-1'] != nil
                                output['SMAXSN-1'] = value['SMAXSN-1']
                              end
                              if value['STGE'] != nil
                                output['STGE'] = value['STGE']
                              end
                              if value['UMOY1'] != nil
                                output['UMOY1'] = value['UMOY1']
                              end
                              if value['URMS1'] != nil
                                output['URMS1'] = value['URMS1']
                              end
                              if value['VTIC'] != nil
                                output['VTIC'] = value['VTIC']
                              end
                            
                              # Convert map to json
                              var obj_json = json.dump(output)
                              # Create URL to call
                              var param="?fulljson="+obj_json + "&node="+node_name + "&apikey="+api_key 
                              # Post Data to EMONCMS
                              var cl = webclient()
                              cl.begin( api_url + param)
                              var r =  cl.GET()
                              print(r, load, param) 
                            end
                            
                            # Callback on each MQTT interception
                            tasmota.add_rule("TIC",rule_tic)
                            
                            
                            CharlesC 1 Reply Last reply Reply Quote
                            • CharlesC Offline
                              Charles @Obi_Yoann
                              last edited by

                              @Obi_Yoann si il y a le connecteur QWIIC avec tous les cables existants tu trouveras ton bonheur exemple. J'ai qq protos si ça t'intéressse, passe en MP.

                              Pour les étiquettes je fais la même je trie et envoie que celle qui m'intéressent, tout l'avantage du berry, pas de firmware à compiler pour des petits traitements de ce type

                              1 Reply Last reply Reply Quote
                              • Barbu DorB Offline
                                Barbu Dor
                                last edited by

                                @Obi_Yoann QWIIC est un connecteur I2C/IIC standardisé par Sparkfun mais rien n'oblige à utiliser des modules Sparkfun avec

                                https://www.sparkfun.com/qwiic

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

                                  @Barbu-Dor et même les modules Adafruit au format Stemma QT (c'est le même que le QWIIC), pour une fois que 2 concurrents se mettent d'accord sur le format ça aide 🙂
                                  https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma-qt

                                  Tous les modules sensors adafruit et sparkfun ont tendance à utiliser ce format maintenant et en plus ils sont chainables de par leur design

                                  1 Reply Last reply Reply Quote
                                  • O Offline
                                    Obi_Yoann
                                    last edited by Obi_Yoann

                                    Bonjour à tous! j'ai un soucis récurrent sur mon compteur, et je n'arrive pas à trouver de solution.
                                    J'ai des erreurs checksum en pagaille, et le passage du hat wemos teleinfo avec esp32s2 au fameux Denky D4 1.1 de @Charles n'a hélas pas fait évoluer positivement ce soucis, au contraire j'ai même l'impression que c'est encore pire :
                                    ead8178b-b203-4f18-8952-548c1abca19c-image.png
                                    Je suis en TIC Standard et non historique, et j'ai du coup des trames TIC incomplètes (des balises manquantes notamment), que je n'avais pas avec le wemos teleinfo classique.
                                    En terme de stabilité je dois toujours redémarrer l'esp32 relativement régulièrement (toutes les semaines environ) sans quoi il n'arrive plus à analyser les trames pour les rebalancer vers emoncms.
                                    Ces erreurs checksums m'embêtent et je pense qu'il faut que je trouve pourquoi ça fait ça.
                                    Je me demande s'il n'y aurait pas une incompatibilité entre mon compteur et le teleinfo.
                                    Suite à une suggestion de @Charles j'ai refait mes fils, en étamant des deux côtés pour que ça tienne bien, c'est le cas mais pas d'évolution sur les checksum.
                                    Est-ce qu'il faudrait que je change une résistance pour améliorer la compatibilité? Si oui laquelle et pour quelle valeur???
                                    Est-ce que d'autres personnes utilisent le tasmota teleinfo avec un compteur linky en mode Standard? Pas de soucis de checksum pour vous?

                                    CharlesC 2 Replies Last reply Reply Quote
                                    • CharlesC Offline
                                      Charles @Obi_Yoann
                                      last edited by

                                      @Obi_Yoann j'attends qu'ils me passent mon linky en mode standard et je fais des tests chez moi, quand ils sont venus installer le linky impossible qu'ils veuillent me le mettre en mode standard

                                      O 1 Reply Last reply Reply Quote
                                      • O Offline
                                        Obi_Yoann @Charles
                                        last edited by

                                        @Charles
                                        Hello!
                                        J'ai à nouveau mon tasmota en rad depuis 20h apparemment, plus de remontée dans emoncms.
                                        En console j'ai ça :
                                        93d1e677-d2f6-469b-b8ff-b1a2e42d3bd1-image.png
                                        Je pense que les buffer overflows sont ce qui me pose soucis là par rapport à la remontée et le script berry (qui ne tourne plus), probablement parce que je n'ai pas un super décodage/de mauvaises trames dans mon cas.
                                        Je précise, mon père est lui aussi équipé d'un Denky D4 tout frais et énormément moins de soucis pour lui! il a une erreur checksum toutes les 10s alors que moi c'est des dizaines par secondes... Donc clairement je penche pour un soucis de compatibilité avec mon modèle de compteur.
                                        Mon linky est un ITRON ITE411L3H a priori, type 61 (monophasé, 60 A, généralisation, génération CPL G3)
                                        Je trouve très très peu d'info sur ce compteur et des éventuels problèmes sur sa sortie teleinfo. Globalement le dongle USB n'avait pas fonctionné du tout pour moi avec ce compteur, le HAT wemos teleinfo et le Denky D4 fonctionnent un peu mais avec des corruptions et instabilité.

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

                                          @Obi_Yoann peux tu essayer de flasher ton denky avec le soft d'exemple de base du denky D4 téléinfo et voir ce qui arrive dans la console Série ?

                                          @Barbu-Dor c'est toi de mémoire qui avait ajouté le mode standard dans tamota non ?
                                          Tu sais si il y a eu des modifs au niveau de la sérial, visiblement 2 users ont des gros soucis de checksum depuis le passage en mode standard avec des buffer overflow, je cherche une piste des fois qu'il y aurai eu des modif coté driver serial.
                                          Merci à toi

                                          O 1 Reply Last reply Reply Quote
                                          • O Offline
                                            Obi_Yoann @Charles
                                            last edited by

                                            @Charles pas de soucis pour moi, mais aurais-tu un binaire pour pouvoir reflasher le denky après en tasmota? j'ai pas réussi (ni trop tenté en fait) de recompiler tasmota pour lui n'ayant pas la cible... 😅
                                            Comme board tu utilises esp32_8M c'est ça?
                                            Merci de ton aide!

                                            CharlesC 1 Reply Last reply Reply Quote
                                            • First post
                                              Last post

                                            0

                                            Online

                                            5.7k

                                            Users

                                            534

                                            Topics

                                            5.0k

                                            Posts

                                            Top Topics

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

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

                                            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