Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. SG Ready bei Stromeinspeisung aktivieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    900

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

SG Ready bei Stromeinspeisung aktivieren

Geplant Angeheftet Gesperrt Verschoben Node-Red
10 Beiträge 3 Kommentatoren 1.5k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    Dancekid
    schrieb am zuletzt editiert von Dancekid
    #1

    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 Antwort Letzte Antwort
    0
    • wendy2702W Online
      wendy2702W Online
      wendy2702
      schrieb am zuletzt editiert von
      #2

      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 ?

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • D 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 Offline
        F Offline
        frankyboy73
        schrieb am zuletzt editiert von frankyboy73
        #3

        @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.

        Schöne Grüße Frank

        wendy2702W 1 Antwort Letzte Antwort
        0
        • F 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.

          wendy2702W Online
          wendy2702W Online
          wendy2702
          schrieb am zuletzt editiert von
          #4

          @frankyboy73 oh,

          Sorry das Node-Red hatte ich übersehen.

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          F 1 Antwort Letzte Antwort
          0
          • wendy2702W wendy2702

            @frankyboy73 oh,

            Sorry das Node-Red hatte ich übersehen.

            F Offline
            F Offline
            frankyboy73
            schrieb am zuletzt editiert von frankyboy73
            #5

            @wendy2702
            Kein Thema :grinning:
            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

            Schöne Grüße Frank

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              Dancekid
              schrieb am zuletzt editiert von Dancekid
              #6

              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 Antwort Letzte Antwort
              0
              • D 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 Offline
                F Offline
                frankyboy73
                schrieb am zuletzt editiert von
                #7

                @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.

                Schöne Grüße Frank

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  Dancekid
                  schrieb am zuletzt editiert von Dancekid
                  #8

                  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 Antwort Letzte Antwort
                  0
                  • wendy2702W Online
                    wendy2702W Online
                    wendy2702
                    schrieb am zuletzt editiert von
                    #9

                    Off Topic:

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

                    Bitte keine Fragen per PN, die gehören ins Forum!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1 Antwort Letzte Antwort
                    0
                    • D 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 Offline
                      F Offline
                      frankyboy73
                      schrieb am zuletzt editiert von
                      #10

                      @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

                      Schöne Grüße Frank

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      734

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe