Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Werte positiv in negativ und negativ in positiv ändern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Werte positiv in negativ und negativ in positiv ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Carsten 4 @Carsten 4 last edited by

      @carsten-4
      habe es jetzt mit Blockly probiert
      13.JPG

      T 1 Reply Last reply Reply Quote 0
      • T
        TT-Tom @Carsten 4 last edited by

        @carsten-4 bei Node red musst du mal @mickym fragen. Kenn ich nicht. Ansonsten gibt es die Möglichkeit ein Alias anzulegen und dort den Wert konvertieren „val * -1“ oder per Script/Blockly.

        C mickym 2 Replies Last reply Reply Quote 0
        • T
          TT-Tom @Carsten 4 last edited by

          @carsten-4 sagte in Werte positiv in negativ und negativ in positiv ändern:

          @carsten-4
          habe es jetzt mit Blockly probiert
          13.JPG

          Sollte funktionieren

          1 Reply Last reply Reply Quote 0
          • C
            Carsten 4 @TT-Tom last edited by

            @tt-tom danke

            vielleicht reicht ja mein Blockly

            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @TT-Tom last edited by mickym

              @tt-tom Du multiplizierst einfach die payload mit -1. 😉

              Also einfach einen ChangeNode benutzen und dazwischen klemmen. 😉

              67a10da7-232c-42d0-8e15-1fdb8e606cb9-image.png

              C 1 Reply Last reply Reply Quote 2
              • C
                Carsten 4 @mickym last edited by

                @mickym Danke hat geklappt

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Carsten 4 last edited by mickym

                  Gelöscht

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @TT-Tom last edited by

                    @tt-tom sagte: Wert * -1 kehrt immer das Vorzeichen um.

                    Eine Subtraktion ist für eine CPU einfacher als eine Multiplikation: 0 - Wert

                    1 Reply Last reply Reply Quote 1
                    • P
                      pd_mueller @Carsten 4 last edited by

                      @carsten-4
                      Hallo Carsten,
                      das ist bei mir jetzt schon eine Weile her, aber war das nicht so, dass du bei dem SolarEdge die dynamische Skalierung bei der Berechnung berücksichtigen musstest?
                      Ich habe hier aus dem Forum vor langer Zeit mal ein JavaScript kopiert und für mich angepasst, mit dem das gemacht wird. Das Script sieht bei mir so aus:

                      function convertValue(value, factor) {
                         if (value === null) return;
                         if (factor === null) factor = 0;
                         setState('0_userdata.0.Solar.Wechselrichter.PVLeistungAktuell', value * Math.pow(10, factor), true);
                      }  
                      
                      createState('0_userdata.0.Solar.Wechselrichter.PVLeistungAktuell', {
                      	name: 'PVLeistungAktuell',
                      	unit: 'W',
                      	min:  0,
                      	type: 'number',
                      	role: 'value.energy'
                      }, function () {
                      	on('modbus.0.holdingRegisters.40083_I_AC_Leistung'/*AC-Leistungswert*/, function(obj) {
                      		var timeout = setTimeout(function () {
                      			clearTimeout(timeout);
                      			var factorState = getState('modbus.0.holdingRegisters.40084_I_AC_Leistung_SF'/*AC-Leistung Skalierungsfaktor*/);
                      			convertValue(obj.state.val, factorState ? factorState.val : 0);
                      		}, 100); 
                      	});
                      	var factorState = getState('modbus.0.holdingRegisters.40084_I_AC_Leistung_SF'/*AC-Leistung Skalierungsfaktor*/);
                      	var valueState = getState('modbus.0.holdingRegisters.40083_I_AC_Leistung'/*AC-Leistungswert*/);
                      	convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
                      });
                      

                      Kann es sein, dass du eigentlich das berücksichtigen musst?
                      Schau mal in deine Modbus-Register, die du bekommst, ob du da auch den Skalierungsfaktor hast.

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        Carsten 4 @pd_mueller last edited by

                        @pd_mueller
                        Ich habe die ganzen scripte aus dem
                        [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
                        Hier aus dem Forum.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        567
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        5
                        13
                        1805
                        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