Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Konvertierung von Zeichenkette nach Zahl?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Konvertierung von Zeichenkette nach Zahl?

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      baumsass last edited by

      Moin,

      ich würde gerne von einem Objekt zb. Zählerstand den aktuellen Wert - vorherigen Wert rechnen lassen.

      Das hätte den charm das ich den aktuelle Leistung ermitteln könnte.(nicht auslesbar aus meinen Zähler/vom betreiber deaktiviert)

      1 Reply Last reply Reply Quote 0
      • D
        danw last edited by

        var wert = parseFloat(obj.state.val) - parseFloat(obj.oldState.val);
        
        1 Reply Last reply Reply Quote 0
        • B
          baumsass last edited by

          und wo kommen die Objektnamen rein? und das neu zu schreibende Objekt?

          1 Reply Last reply Reply Quote 0
          • D
            danw last edited by

            Bei der on Subscription oben ist dann obj.state.val der aktuelle Wert und obj.oldState.val der alte.

            Ein Objekt setzen kannst du mit setState()

            1 Reply Last reply Reply Quote 0
            • B
              baumsass last edited by

              setState(XXXXXX)var wert = XXXXXXX parseFloat(obj.state.val) - XXXXXXX parseFloat(obj.oldState.val);

              so oder wie? XXXXXX = das Objekt?

              1 Reply Last reply Reply Quote 0
              • D
                danw last edited by

                Du hast doch schon eine gute Erklärung von paul53 bekommen.

                viewtopic.php?p=226209#p224599

                Wenn du die Grundlagen von einer Programmiersprache nicht kennst, wie man Variablen setzt, etc, dann wird es einfach schwierig dir zu helfen.

                Lies dich ein wenig ein und beschäftigte dich mit JavaScript, fange klein an und dann geht der Lernfortschritt schneller, als du denkst. - Oder bleibe bei Blockly, das ist noch einfacher.

                1 Reply Last reply Reply Quote 0
                • B
                  baumsass last edited by

                  habe alles probiert. bin wohl zu blöd.

                  1 Reply Last reply Reply Quote 0
                  • B
                    baumsass last edited by

                    on({id: 'javascript.0.Zählerstand_Haus', change: "any"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      setStateDelayed('javascript.0.Zählerstand_Haus_Tag_kwh', (getState("javascript.0.Zählerstand_Haus").obj.state.val - getState("javascript.0.Zählerstand_Haus").obj.oldState.val), false, parseInt(2000, 10), false);
                    });
                    

                    Fehler im log:

                    error javascript.0 at Object. <anonymous>(script.js.common.Skript_2:4:106)

                    das möchte ich gerne aber es funktioniert immernoch nicht. kann mir jemand nochmals helfen?</anonymous>

                    1 Reply Last reply Reply Quote 0
                    • B
                      baumsass last edited by

                      on({id: 'javascript.0.Zählerstand_Haus', change: "any"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        setStateDelayed('javascript.0.Zählerstand_Haus_Tag_kwh', (getState("javascript.0.Zählerstand_Haus").value - getState("javascript.0.Zählerstand_Haus").oldValue), false, parseInt(2000, 10), false);
                      });
                      
                      

                      so ist ist im Moment aber es kommt "null kwh" raus. er nimmt also nicht den letzten alten wert sondern 2 mal den gleichen…

                      Jemand ne Idee wie ich das lösen kann. Vom Zähler bekomme ich nur alle 300 Sekunden den aktuellen Zählerstand geliefert aber nicht die Watt darum der Aufwand.

                      1 Reply Last reply Reply Quote 0
                      • D
                        danw last edited by

                        on({id: 'javascript.0.Zählerstand_Haus', change: "any"}, function (obj) {
                          var value = obj.state.val; //das ist der aktuelle Wert
                          var oldValue = obj.oldState.val; // das ist der alte Wert
                          //setState("OBJEKTINDASGESCHRIEBENWERDENSOLL", "WERT")
                          var wert_ausrechnen = obj.state.val - obj.oldState.val;
                          setState(obj.id, wert_ausrechnen); //obj.id ist das, worauf die Subscription reagiert hat - also 'javascript.0.Zählerstand_Haus'. wert_ausrechnen ist die Variable in der Zeile über dieser hier
                        });
                        
                        

                        Bitte beschäftige dich mehr mit Javascript. Es scheint, dass du noch keine andere Programmiersprachen kennst, deswegen würde ich dir empfehlen Blockly zu benutzen. Da brauchst du dir das alles nicht merken.

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          @baumsass:

                          das ich den aktuelle Leistung ermitteln könnte.(nicht auslesbar aus meinen Zähler/vom betreiber deaktiviert) `
                          https://forum.iobroker.net/viewtopic.php?f=20&t=6244#p64454.

                          1 Reply Last reply Reply Quote 0
                          • B
                            baumsass last edited by

                            danke das hat mir sehr geholfen. Jetzt läuft alles wie ich es wollte!!!

                            Habe nur meine Variablen eingetragen!

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            497
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            6
                            46
                            4361
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo