🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    MQTT Daten eines Themas nach dem . kürzen

    Deutsches Forum
    2
    10
    2.6k
    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.
    • S
      Stacky4Home
      last edited by

      Hallo Community, ich habe erst vor kurzem mit dem M5 angefangen.

      Mit Blockly möchte ich mir eine Anzeige zu den Einzelzuständen von VenusOS (Victron) bauen. Das klappt soweit auch schon ganz gut. Allerdings habe ich bei einem Thema das Problem dass hier teilweise eine sehr lange Zahl zurückkommt. Vier stellen vor dem Punkt und dann bis zu 14 Stellen nach dem Punkt. Es kommen auch noch andere Zeichen mit, welche ich schon entfernen konnte. Aber mit den Zahlen nach dem Punkt komme ich nicht klar und das sprengt mir natürlich die Anzeige auf dem kleinen Display vom M5Core.

      Hier mal ein Beispiel der Daten, welche ich über MQTT zu dem einem Thema erhalte: {"value":3190.0000047534704}

      Die geschweiften Klammern und das "value" habe ja ich bereits entfernen können. Nur die Zahlenkette nach dem . noch nicht. Egal was ich probiere ich komme einfach nicht weiter.

      Aktuell sieht die Abfrage für den spezifischen Wert so aus:
      0_1711038971155_uiflow_block_1711036761546.png

      Mit "Reduce x to 0 decimal places" habe ich auch schon herum probiert, aber da komme ich auch nicht klar bzw. passiert erst gar nichts. Oder es würde sogar funktionieren und ich bin nur zu blöd es korrekt einzuflechten.

      Ich hoffe dass mir jemand helfen kann...

      Danke und Grüße
      Uli

      1 Reply Last reply Reply Quote 0
      • robskiR
        robski
        last edited by

        @stacky4home said in MQTT Daten eines Themas nach dem . kürzen:

        Mit "Reduce x to 0 decimal places" habe ich auch schon herum probiert, aber da komme ich auch nicht klar bzw. passiert erst gar nichts. Oder es würde sogar funktionieren und ich bin nur zu blöd es korrekt einzuflechten.
        Ich hoffe dass mir jemand helfen kann...
        Danke und Grüße
        Uli

        würde „in int konvertieren“ helfen?

        would "convert to int" help?

        M5StickC, M5StickCPlus, M5StickCplus2,M5GO, M5Core, M5Tough, M5Core2, M5 Demo Board, M5Dial, M5Paper, M5Atom, M5Cardputer, M5StampS3, CoreMP135, StamPLC, AirQ

        1 Reply Last reply Reply Quote 0
        • S
          Stacky4Home
          last edited by

          Also wenn ich es so probiere:

          0_1711097666117_uiflow_block_1711097627916.png

          Dann werden auf dem Display überhaupt keine Werte mehr angezeigt. Auch für die anderen 4 Themen die bisher schon funktioniert haben. Es kommt aber auch kein Fehler oder ähnliches.

          Das wäre der Python Code dazu:

          # code block
          def fun_N_b827ebc61afb_pvinverter_20_Ac_Power_(topic_data):
            # global params
            print('')
            pv0.setText(str('PV Watt'))
            pv1.setText(str("%.0f"%float(topic_data)))
            pass
          

          Und mit "int" klappt es leider auch nicht. Wobei ich hier leider nicht genau weiß ob ich das so richtig gemacht habe.
          0_1711098970625_uiflow_block_1711098946314.png

          1 Reply Last reply Reply Quote 0
          • robskiR
            robski
            last edited by

            @stacky4home said in MQTT Daten eines Themas nach dem . kürzen:

            Dann werden auf dem Display überhaupt keine Werte mehr angezeigt. Auch für die anderen 4 Themen die bisher schon funktioniert haben. Es kommt aber auch kein Fehler oder ähnliches.
            Das wäre der Python Code dazu:

            Würden Sie darüber nachdenken, Themenwerte in Variablen einzugeben und vielleicht Berechnungen anhand von Variablen durchzuführen?

            Would you consider to put topic values in to variables and do calculation on variables maybe?

            M5StickC, M5StickCPlus, M5StickCplus2,M5GO, M5Core, M5Tough, M5Core2, M5 Demo Board, M5Dial, M5Paper, M5Atom, M5Cardputer, M5StampS3, CoreMP135, StamPLC, AirQ

            S 1 Reply Last reply Reply Quote 0
            • S
              Stacky4Home
              last edited by

              Jetzt ist mir aufgefallen dass bei höheren Werten in der Abfrage für die PV Leistung die Zahl passend angezeigt wird. Und das ohne jegliche Umwandlung!? Also wie in Grafik 1 konfiguriert. Wenn der Wert unter 3kW bzw. 3000 Watt sinkt, werden die vielen Nachkommastellen wieder angezeigt.

              Jetzt frage ich noch die Spannung in V ab und hier kommt es auch zu diesen vielen Nachkommastellen. Siehe die Beispielfotos.

              0_1711103407448_IMG_8081.jpg
              0_1711103417719_IMG_8083.jpg

              1 Reply Last reply Reply Quote 0
              • S
                Stacky4Home @robski
                last edited by

                @robski said in MQTT Daten eines Themas nach dem . kürzen:

                @stacky4home said in MQTT Daten eines Themas nach dem . kürzen:

                Dann werden auf dem Display überhaupt keine Werte mehr angezeigt. Auch für die anderen 4 Themen die bisher schon funktioniert haben. Es kommt aber auch kein Fehler oder ähnliches.
                Das wäre der Python Code dazu:

                Würden Sie darüber nachdenken, Themenwerte in Variablen einzugeben und vielleicht Berechnungen anhand von Variablen durchzuführen?

                Would you consider to put topic values in to variables and do calculation on variables maybe?

                Das verstehe ich so leider nicht. Da bräuchte ich wohl mal ein Beispiel dazu. Entschuldigung, aber ich bewege mich da vom Wissen her nur an der Oberfläche.

                1 Reply Last reply Reply Quote 0
                • robskiR
                  robski
                  last edited by robski

                  @stacky4home said in MQTT Daten eines Themas nach dem . kürzen:

                  Jetzt ist mir aufgefallen dass bei höheren Werten in der Abfrage für die PV Leistung die Zahl passend angezeigt wird. Und das ohne jegliche Umwandlung!? Also wie in Grafik 1 konfiguriert. Wenn der Wert unter 3kW bzw. 3000 Watt sinkt, werden die vielen Nachkommastellen wieder angezeigt.
                  Jetzt frage ich noch die Spannung in V ab und hier kommt es auch zu diesen vielen Nachkommastellen. Siehe die Beispielfotos.

                  Sie erstellen eine Variable für jedes Thema/jeden Sensorwert, setzen (verschieben) diesen Wert dann in eine Variable und können von dort aus mit Variablen arbeiten/rechnen, nicht mit rohen Themen/Sensorwerten

                  You create variable for every topic/sensor value, you then set (move) this value in to variable and from there you can operate/calculate on variable not on raw topic/sensor value

                  example:
                  0_1711108822599_aaa3.jpg

                  M5StickC, M5StickCPlus, M5StickCplus2,M5GO, M5Core, M5Tough, M5Core2, M5 Demo Board, M5Dial, M5Paper, M5Atom, M5Cardputer, M5StampS3, CoreMP135, StamPLC, AirQ

                  1 Reply Last reply Reply Quote 0
                  • S
                    Stacky4Home
                    last edited by

                    Entschuldigung für meine doofen Fragen, aber ich komme auch da leider nicht ganz mit...

                    Ich habe es jetzt bis hier hin nachgebaut und komme an den leeren Stellen bzw. bei denen mit den ??? nicht weiter. Wo bekomme ich fehlenden Dinge her?

                    0_1711110933898_1d305a15-baeb-4ae9-b6a4-7b5e517ffa31-image.png

                    Ich kann mich nur noch mal dafür entschuldigen wie wenig ich über das Thema weiß und deshalb so blöde Fragen stelle. Sorry!

                    1 Reply Last reply Reply Quote 0
                    • robskiR
                      robski
                      last edited by

                      try to set variable in mqtt subscribe then use it in function

                      Versuchen Sie, eine Variable in mqtt subscribe zu setzen und sie dann in der Funktion zu verwenden

                      0_1711112051062_bbb0.jpg

                      Eigentlich gibt es keinen Grund, sich zu entschuldigen, es ist eine Lernkurve, in Uiflow2 können Sie zur „Projektzone“ gehen und Beispielprojekte importieren ...

                      M5StickC, M5StickCPlus, M5StickCplus2,M5GO, M5Core, M5Tough, M5Core2, M5 Demo Board, M5Dial, M5Paper, M5Atom, M5Cardputer, M5StampS3, CoreMP135, StamPLC, AirQ

                      1 Reply Last reply Reply Quote 0
                      • S
                        Stacky4Home
                        last edited by Stacky4Home

                        Danke für deine Geduld! :-)

                        Leider klemmt es immer noch. Ich denke meine Variablen sind nicht funktionsfähig. Ich konnte viele Felder anhand deiner Vorlage leider nicht füllen, da ich gar nicht weiß wo ich die fehlenden Infos herbekomme.

                        0_1711115566746_44d2879e-1726-4982-a560-fbed7ef2a1d4-image.png

                        An der Anzeige auf dem M5Stack hat sich erst mal nichts weiter verändert. Die Ausgabe für Volt hat nach wie vor noch 14 Nachkommastellen. Ist aber denke ich auch klar, da ich ja die Variablen nicht korrekt zusammen habe.

                        Daher wäre ich für jeden Hinweis dankbar, wie ich diese 14 Nachkommastellen weg bekomme.

                        Danke und Grüße

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