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. SG Ready bei Stromeinspeisung aktivieren

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SG Ready bei Stromeinspeisung aktivieren

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

      Hallo liebe Community,

      ab einer Einspeisung von 2.000 Watt ins Netz und einer WW-Temperatur < 45 Grad möchte ich bei meiner Wärmepumpe SG Ready aktivieren.
      Leider erkennt er die Temperatur scheinbar nicht richtig in der Function Node.
      Den negativen Wert bei der Einspeisung erkennt er auch nicht richtig 😞
      Hat jemand einen Tip ?

      Gruß Michael

      [
          {
              "id": "edfdd07.226efb",
              "type": "function",
              "z": "c6aa354c.9da348",
              "name": "Einspeisung > 2.000 Watt ?",
              "func": "if(msg.netz < '-2000' & msg.wwtemp < '45') {\n    msg.payload = true;\n }\nelse{\n    msg.payload = false;\n}\n\nreturn msg;",
              "outputs": 1,
              "noerr": 0,
              "x": 940,
              "y": 560,
              "wires": [
                  [
                      "60307c86.1cb4bc",
                      "4ffd7610.d4ed4"
                  ]
              ]
          }
      ]
      
      F 1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 last edited by

        Was ist das was du gepostet hast? Sieht bisschen aus wie die RAW Daten eines Objektes

        Woher bekommt iobroker die infos über Einspeisung und die Daten der WP ?

        1 Reply Last reply Reply Quote 0
        • F
          frankyboy73 @Dancekid last edited by frankyboy73

          @Dancekid
          Hi, das könnte daran liegen das du mit Strings arbeitest. Da ist 4.61 dann größer als 45, nur mal so als Beispiel. Du könntest versuchen den String in der Funktion Node als Number zu verwenden und dann bei den Bedingungen auch mit Nummer arbeiten.

          [
              {
                  "id": "a220602c.31397",
                  "type": "function",
                  "z": "523fbe1.477244",
                  "name": "Einspeisung > 2.000 Watt ?",
                  "func": "if (Number (msg.netz) < -2000 & Number (msg.wwtemp) < 45) {\n    msg.payload = true;\n }\nelse{\n    msg.payload = false;\n}\n\nreturn msg;",
                  "outputs": 1,
                  "noerr": 0,
                  "x": 580,
                  "y": 280,
                  "wires": [
                      []
                  ]
              }
          ]
          

          @wendy2702
          Das ist ne Funktion Node in Node Red in der Java Script Funktionen ausgeführt werden.

          wendy2702 1 Reply Last reply Reply Quote 0
          • wendy2702
            wendy2702 @frankyboy73 last edited by

            @frankyboy73 oh,

            Sorry das Node-Red hatte ich übersehen.

            F 1 Reply Last reply Reply Quote 0
            • F
              frankyboy73 @wendy2702 last edited by frankyboy73

              @wendy2702
              Kein Thema 😀
              Zur Info:
              Das sieht dann so ähnlich aus.
              Beispiel.JPG
              Und in der Funktion Node (Einspeisung > 2000 Watt) steht dann so was ähnliches drin.
              Beispiel2.JPG

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

                Guten Abend Frankyboy,

                danke für den Hinweis mit dem String.

                Habe vor 27 Jahren mal Turbo Pascal in der Schule gehabt und seitdem nichts mehr.
                "Habe versucht im Netz ein wenig was zu finden, aber da fehlen mir die Suchbegriffe für die Fehlerbehebung.

                Wenn ich das ganze als Number definiere, dann brauche ich noch was für die negativen Werte.

                Meine PV-Anlage liefert bei Einspeisung einen negativen Wert und daher muss ich prüfen, ob die Zahl kleiner als -2.000 Watt ist.
                Bei -3.000 Watt werden also 3.000 Watt in das Netz eingespeist.

                Ich könnte auch nutzen: (PV-Leistung - Hausverbrauch) > 2.000 Watt wenn das einfacher in der Function funktioniert.

                if(Number (msg.netz) < 2000 & Number (msg.wwtemp) < 45) {
                    msg.payload = true;
                 }
                else{
                    msg.payload = false;
                }
                
                return msg;
                

                Syntax muss bestimmt anders lauten ?

                if (msg.hasOwnProperty("pvleistung")) {
                flow.set('pvleistung', msg.pvleistung);
                } else if (msg.hasOwnProperty("hausverbrauch")) {
                flow.set('hausverbrauch', msg.hausverbrauch);
                }
                
                var pvleistung = flow.get('pvleistung') || 0;
                var hausverbrauch = flow.get('hausverbrauch') || 0;
                msg.einspeisung = pvleistung-hausverbrauch;
                return Number (msg.einspeisung)
                

                Gruß Michael

                F 1 Reply Last reply Reply Quote 0
                • F
                  frankyboy73 @Dancekid last edited by

                  @Dancekid Hi, klappt das bei Nummer nicht wenn du in der Funktion schreibst, < -2000 ? Hatte das eigentlich gestestet und dachte das würde so gehen. Da müsste ich mich sonst auch erst mal schlau machen. Werde da morgen mal ein bisschen rumspielen und versuchen das zu lösen.

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

                    Guten Morgen Frankyboy,

                    6296c092-e23f-4eea-8103-0890ae52c661-grafik.png gestern war es wohl zuspät. Heute funktioniert es.

                    Teste gerade die Einstellungen; bekomme zumindest keinen Fehler mehr. Mal sehen, ob es so richtig läuft.

                    Danke für die Tips.

                    Gruß Michael

                    F 1 Reply Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 last edited by

                      Off Topic:

                      darf ich mal Fragen was für eine WP du hast und was das SG Ready bedeutet?

                      1 Reply Last reply Reply Quote 0
                      • F
                        frankyboy73 @Dancekid last edited by

                        @Dancekid
                        Hi, das freut mich.
                        Nur so als Tipp noch, da du ja eh ne Funktion Node verwendest, brauchst du eigentlich nicht mehr ne Umwandlung. Anstatt msg.payload = true schreibst du msg.payload = 1 und anstatt false 0. Dann kommt 1 und 0 aus der Funktion, als Nummer, brauchst du nen String, dann '1' und '0'
                        PV1.JPG

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.1k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        3
                        10
                        1165
                        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