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 @TT-Tom last edited by

      @tt-tom und wie binde ich das in node red ein?
      wie gesagt bin neu dabei

      C T 2 Replies Last reply Reply Quote 0
      • 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

                          937
                          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