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 last edited by

      Hallo,
      bin neu in diesem Gebiet und möchte die Werte die vom Solaredge Modbus für den Strom Bezug ändern damit der Soyoscource das auch passend verarbeiten kann.
      Jetzt speist er Strom ein wenn der Wert vom Modbus positiv ist, und bei negativen nichts.

      12.JPG

      Komme nicht mehr weiter.

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

        @carsten-4
        Einfache Mathematik Wert * -1 kehrt immer das Vorzeichen um.

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

                              751
                              Online

                              31.7k
                              Users

                              79.6k
                              Topics

                              1.3m
                              Posts

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