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. JavaScript
  5. [Gelöst] Daten für neuen Datenpunkt verarbeiten

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[Gelöst] Daten für neuen Datenpunkt verarbeiten

Geplant Angeheftet Gesperrt Verschoben JavaScript
25 Beiträge 3 Kommentatoren 1.6k Aufrufe 1 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.
  • C c1olli

    @c1olli
    Also es funktioniert nicht so wie ich will, Javascript wirft auch Fehlermeldungen.

    Es soll die zur Verfügung stehende Energie für die Ladung des E-Autos berechnet werden, da die Wallbox sonst den Speicher leert.
    Das Script für die Wallbox ist vorhanden und funktioniert.

    Berechnung:
    PV Überschuss ( energymanager.0.Standort_(Standort_1).PowerProduced)

    • Momentanverbrauch (fronius.0.powerflow.P_Load) (negativer Wert, daher Addition)
    • Speicherladung (energymanager.0.Standort_(Standort_1).PowerBuffered)
    • Speicherentladung (energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage)
    • Ladung der Wallbox (fronius-wattpilot.0.power) (Wert muss mit 1000 multipliziert werden, da kW - alle anderen Werte sind in Watt)
      Neuer Datenpunkt: PV_Ueberschuss (0_userdata.0.PVload)
      Der Wert sollte alle 10 Sekunden neu berechnet werden.
    // aktuellen PV-Ueberschuss für Wattpilot berechnen
    // PV Erzeugung - Akt Verbrauch - Speicher Entladung - Speicher Ladung + Wattpilot
    const idPVout = 'energymanager.0.Standort_(Standort_1).PowerProduced';
    const idVerb = 'fronius.0.powerflow.P_Load';
    const idBattin = 'energymanager.0.Standort_(Standort_1).PowerBuffered';
    const idBattout = 'energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage';
    const idWatt = 'fronius-wattpilot.0.power';
    const idPVload = '0_userdata.0.PVload'
    
    var pvout = getState(idPVout).val;
    var verb = getState(idVerb).val;
    var battin = getState(idBattin).val;
    var battout = getState(idBattout).val;
    var watt = getState(idWatt).val;
    var aktuell = Math.round((pvout + verb - battin - battout + (watt * 1000)) * 100) / 100;
    if(existsState(idPVload)) setState(idPVload, aktuell, true);
    else createState(idPVload, aktuell, {type: 'number', name: 'PV_Ueberschuss', unit: 'W', role: 'value'});
     
    on(idPVout, function(dp) {
    pvout = dp.state.val;
    aktuell = Math.round((pvout + verb - battin - battout + (watt * 1000)) * 100) / 100;
    setState(idPVload, aktuell, true);
    });
    

    Fehlermeldung von Javascript:

    11:48:16.311	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:10:13
    11:48:16.311	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
    11:48:16.314	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:12:14
    11:48:16.314	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
    11:48:16.317	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:13:15
    11:48:16.317	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
    

    Die Werte beim jetzigem Script sind teilweise unplausibel.
    Ich habs auch schon mit Blockly versucht, aber das krieg ich auch nicht hin.

    Für Hilfe wäre ich sehr dankbar.
    Gruß Olli

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #4

    @c1olli hast du globale Skripte?

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    C 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @c1olli hast du globale Skripte?

      C Offline
      C Offline
      c1olli
      schrieb am zuletzt editiert von c1olli
      #5

      @homoran

      Was sind globale Scripte?

      • Ich habs gerade mal nachgelesen, aber ich weiß nicht ob ich solche Skripte habe. Wie erkenne ich die?

      Gruß
      Olli

      HomoranH 1 Antwort Letzte Antwort
      0
      • C c1olli

        @homoran

        Was sind globale Scripte?

        • Ich habs gerade mal nachgelesen, aber ich weiß nicht ob ich solche Skripte habe. Wie erkenne ich die?
        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #6

        @c1olli sagte in Daten für neuen Datenpunkt verarbeiten:

        @homoran

        Was sind globale Scripte?

        Skripte im Verzeichnis global
        Aus Sicherheitsgründen nur für EXPERTEN zu sehen.

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        C 1 Antwort Letzte Antwort
        0
        • C c1olli

          @c1olli
          Also es funktioniert nicht so wie ich will, Javascript wirft auch Fehlermeldungen.

          Es soll die zur Verfügung stehende Energie für die Ladung des E-Autos berechnet werden, da die Wallbox sonst den Speicher leert.
          Das Script für die Wallbox ist vorhanden und funktioniert.

          Berechnung:
          PV Überschuss ( energymanager.0.Standort_(Standort_1).PowerProduced)

          • Momentanverbrauch (fronius.0.powerflow.P_Load) (negativer Wert, daher Addition)
          • Speicherladung (energymanager.0.Standort_(Standort_1).PowerBuffered)
          • Speicherentladung (energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage)
          • Ladung der Wallbox (fronius-wattpilot.0.power) (Wert muss mit 1000 multipliziert werden, da kW - alle anderen Werte sind in Watt)
            Neuer Datenpunkt: PV_Ueberschuss (0_userdata.0.PVload)
            Der Wert sollte alle 10 Sekunden neu berechnet werden.
          // aktuellen PV-Ueberschuss für Wattpilot berechnen
          // PV Erzeugung - Akt Verbrauch - Speicher Entladung - Speicher Ladung + Wattpilot
          const idPVout = 'energymanager.0.Standort_(Standort_1).PowerProduced';
          const idVerb = 'fronius.0.powerflow.P_Load';
          const idBattin = 'energymanager.0.Standort_(Standort_1).PowerBuffered';
          const idBattout = 'energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage';
          const idWatt = 'fronius-wattpilot.0.power';
          const idPVload = '0_userdata.0.PVload'
          
          var pvout = getState(idPVout).val;
          var verb = getState(idVerb).val;
          var battin = getState(idBattin).val;
          var battout = getState(idBattout).val;
          var watt = getState(idWatt).val;
          var aktuell = Math.round((pvout + verb - battin - battout + (watt * 1000)) * 100) / 100;
          if(existsState(idPVload)) setState(idPVload, aktuell, true);
          else createState(idPVload, aktuell, {type: 'number', name: 'PV_Ueberschuss', unit: 'W', role: 'value'});
           
          on(idPVout, function(dp) {
          pvout = dp.state.val;
          aktuell = Math.round((pvout + verb - battin - battout + (watt * 1000)) * 100) / 100;
          setState(idPVload, aktuell, true);
          });
          

          Fehlermeldung von Javascript:

          11:48:16.311	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:10:13
          11:48:16.311	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
          11:48:16.314	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:12:14
          11:48:16.314	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
          11:48:16.317	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:13:15
          11:48:16.317	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
          

          Die Werte beim jetzigem Script sind teilweise unplausibel.
          Ich habs auch schon mit Blockly versucht, aber das krieg ich auch nicht hin.

          Für Hilfe wäre ich sehr dankbar.
          Gruß Olli

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #7

          @c1olli sagte: Fehlermeldung von Javascript:

          Im Tab "Protokolle" finden sich weitere Informationen zu den Warnungen.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @c1olli sagte in Daten für neuen Datenpunkt verarbeiten:

            @homoran

            Was sind globale Scripte?

            Skripte im Verzeichnis global
            Aus Sicherheitsgründen nur für EXPERTEN zu sehen.

            C Offline
            C Offline
            c1olli
            schrieb am zuletzt editiert von
            #8

            @homoran java.jpg

            Gruß
            Olli

            C 1 Antwort Letzte Antwort
            0
            • C c1olli

              @homoran java.jpg

              C Offline
              C Offline
              c1olli
              schrieb am zuletzt editiert von
              #9

              so jetzt im Experten Modus
              java1.png

              Im Tab Fehlermeldungen steht nichts.

              Gruß
              Olli

              HomoranH 1 Antwort Letzte Antwort
              0
              • C c1olli

                @c1olli
                Also es funktioniert nicht so wie ich will, Javascript wirft auch Fehlermeldungen.

                Es soll die zur Verfügung stehende Energie für die Ladung des E-Autos berechnet werden, da die Wallbox sonst den Speicher leert.
                Das Script für die Wallbox ist vorhanden und funktioniert.

                Berechnung:
                PV Überschuss ( energymanager.0.Standort_(Standort_1).PowerProduced)

                • Momentanverbrauch (fronius.0.powerflow.P_Load) (negativer Wert, daher Addition)
                • Speicherladung (energymanager.0.Standort_(Standort_1).PowerBuffered)
                • Speicherentladung (energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage)
                • Ladung der Wallbox (fronius-wattpilot.0.power) (Wert muss mit 1000 multipliziert werden, da kW - alle anderen Werte sind in Watt)
                  Neuer Datenpunkt: PV_Ueberschuss (0_userdata.0.PVload)
                  Der Wert sollte alle 10 Sekunden neu berechnet werden.
                // aktuellen PV-Ueberschuss für Wattpilot berechnen
                // PV Erzeugung - Akt Verbrauch - Speicher Entladung - Speicher Ladung + Wattpilot
                const idPVout = 'energymanager.0.Standort_(Standort_1).PowerProduced';
                const idVerb = 'fronius.0.powerflow.P_Load';
                const idBattin = 'energymanager.0.Standort_(Standort_1).PowerBuffered';
                const idBattout = 'energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage';
                const idWatt = 'fronius-wattpilot.0.power';
                const idPVload = '0_userdata.0.PVload'
                
                var pvout = getState(idPVout).val;
                var verb = getState(idVerb).val;
                var battin = getState(idBattin).val;
                var battout = getState(idBattout).val;
                var watt = getState(idWatt).val;
                var aktuell = Math.round((pvout + verb - battin - battout + (watt * 1000)) * 100) / 100;
                if(existsState(idPVload)) setState(idPVload, aktuell, true);
                else createState(idPVload, aktuell, {type: 'number', name: 'PV_Ueberschuss', unit: 'W', role: 'value'});
                 
                on(idPVout, function(dp) {
                pvout = dp.state.val;
                aktuell = Math.round((pvout + verb - battin - battout + (watt * 1000)) * 100) / 100;
                setState(idPVload, aktuell, true);
                });
                

                Fehlermeldung von Javascript:

                11:48:16.311	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:10:13
                11:48:16.311	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
                11:48:16.314	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:12:14
                11:48:16.314	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
                11:48:16.317	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:13:15
                11:48:16.317	warn	javascript.0 (22409) at script.js.common.Wattpilot_steuern.PV-Ueberschuss:24:3
                

                Die Werte beim jetzigem Script sind teilweise unplausibel.
                Ich habs auch schon mit Blockly versucht, aber das krieg ich auch nicht hin.

                Für Hilfe wäre ich sehr dankbar.
                Gruß Olli

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #10

                @c1olli sagte: Standort_(Standort_1)

                Ein solches Konstrukt in der ID kann Probleme bereiten, denn genau zu diesen IDs gibt es die Warnungen.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                C 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @c1olli sagte: Standort_(Standort_1)

                  Ein solches Konstrukt in der ID kann Probleme bereiten, denn genau zu diesen IDs gibt es die Warnungen.

                  C Offline
                  C Offline
                  c1olli
                  schrieb am zuletzt editiert von
                  #11

                  @paul53
                  Die Werte kommen vom Kiwigrid Adapter. Was kann ich da tun?

                  Ist das Script denn sonst ok?

                  Gruß
                  Olli

                  1 Antwort Letzte Antwort
                  0
                  • C c1olli

                    so jetzt im Experten Modus
                    java1.png

                    Im Tab Fehlermeldungen steht nichts.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von Homoran
                    #12

                    @c1olli sagte in Daten für neuen Datenpunkt verarbeiten:

                    so jetzt im Experten Modus

                    du weisst, dass alle globalen Skripte vor jedem anderen Skript ausgeführt werden?
                    die angemeckerte Zeile 24 existiert nämlich gar nicht in deinem Skript!

                    warum hast du überhaupt globale Skripte wenn du fragen musst, was das ist?

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    C paul53P 2 Antworten Letzte Antwort
                    0
                    • HomoranH Homoran

                      @c1olli sagte in Daten für neuen Datenpunkt verarbeiten:

                      so jetzt im Experten Modus

                      du weisst, dass alle globalen Skripte vor jedem anderen Skript ausgeführt werden?
                      die angemeckerte Zeile 24 existiert nämlich gar nicht in deinem Skript!

                      warum hast du überhaupt globale Skripte wenn du fragen musst, was das ist?

                      C Offline
                      C Offline
                      c1olli
                      schrieb am zuletzt editiert von
                      #13

                      @homoran
                      Wahrscheinlich weil ich die einfach so eingetragen habe, da ich mich nicht so gut mit der Materie auskenne.
                      Aber ich habe das Ganze jetzt umstrukturiert. Ich hoffe so ist es ok.
                      java1.jpg

                      Gruß
                      Olli

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • C c1olli

                        @homoran
                        Wahrscheinlich weil ich die einfach so eingetragen habe, da ich mich nicht so gut mit der Materie auskenne.
                        Aber ich habe das Ganze jetzt umstrukturiert. Ich hoffe so ist es ok.
                        java1.jpg

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von Homoran
                        #14

                        @c1olli sagte in Daten für neuen Datenpunkt verarbeiten:

                        da ich mich nicht so gut mit der Materie auskenne.

                        und für solche User ist der global Ordner extra versteckt!

                        ist der jetzt leer?

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        C 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @c1olli sagte in Daten für neuen Datenpunkt verarbeiten:

                          da ich mich nicht so gut mit der Materie auskenne.

                          und für solche User ist der global Ordner extra versteckt!

                          ist der jetzt leer?

                          C Offline
                          C Offline
                          c1olli
                          schrieb am zuletzt editiert von
                          #15

                          @homoran

                          Jepp, nun ist er leer.

                          Ich hatte den Experten Modus an um einen Test Adapter zu installieren, danach hatte ich mich an das Script gemacht, so ist da wahrscheinlich was im falschen Ordner gelandet.

                          Gruß
                          Olli

                          C 1 Antwort Letzte Antwort
                          0
                          • C c1olli

                            @homoran

                            Jepp, nun ist er leer.

                            Ich hatte den Experten Modus an um einen Test Adapter zu installieren, danach hatte ich mich an das Script gemacht, so ist da wahrscheinlich was im falschen Ordner gelandet.

                            C Offline
                            C Offline
                            c1olli
                            schrieb am zuletzt editiert von
                            #16

                            Also eine Fehlermeldung kommt nicht mehr, nur die Berechnung passt noch nicht ganz.
                            Kann das eventuell durch die Addition eines negativen Wertes kommen?

                            Gruß
                            Olli

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @c1olli sagte in Daten für neuen Datenpunkt verarbeiten:

                              so jetzt im Experten Modus

                              du weisst, dass alle globalen Skripte vor jedem anderen Skript ausgeführt werden?
                              die angemeckerte Zeile 24 existiert nämlich gar nicht in deinem Skript!

                              warum hast du überhaupt globale Skripte wenn du fragen musst, was das ist?

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #17

                              @homoran sagte: warum hast du überhaupt globale Skripte wenn du fragen musst, was das ist?

                              Ich sehe im offenen Ordner "global" keine Skripte. Die Skripte darunter sind in der Wurzel angesiedelt.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              HomoranH 1 Antwort Letzte Antwort
                              1
                              • C c1olli

                                Also eine Fehlermeldung kommt nicht mehr, nur die Berechnung passt noch nicht ganz.
                                Kann das eventuell durch die Addition eines negativen Wertes kommen?

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #18

                                @c1olli sagte: die Berechnung passt noch nicht ganz.

                                Bis auf pvout ändern sich die Variablen nach dem Skriptstart nicht mehr, sondern bleiben konstant. Dann kann die Berechnung natürlich nicht stimmen.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                C 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @homoran sagte: warum hast du überhaupt globale Skripte wenn du fragen musst, was das ist?

                                  Ich sehe im offenen Ordner "global" keine Skripte. Die Skripte darunter sind in der Wurzel angesiedelt.

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von Homoran
                                  #19

                                  @paul53 Danke! Da hab ich schief geguckt :eyeglasses:

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  C 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @c1olli sagte: die Berechnung passt noch nicht ganz.

                                    Bis auf pvout ändern sich die Variablen nach dem Skriptstart nicht mehr, sondern bleiben konstant. Dann kann die Berechnung natürlich nicht stimmen.

                                    C Offline
                                    C Offline
                                    c1olli
                                    schrieb am zuletzt editiert von
                                    #20

                                    @paul53
                                    Ob sich die Variablen ändern kommt ja darauf an, wie die Umstände gerade sind.
                                    Wie kann man es den besser machen?

                                    Gruß
                                    Olli

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Homoran

                                      @paul53 Danke! Da hab ich schief geguckt :eyeglasses:

                                      C Offline
                                      C Offline
                                      c1olli
                                      schrieb am zuletzt editiert von
                                      #21

                                      @homoran
                                      Macht ja nichts, nachdem ich jetzt die Scripte neu eingeordnet habe gibt es keine Fehlermeldung mehr. :man-shrugging:

                                      Gruß
                                      Olli

                                      1 Antwort Letzte Antwort
                                      0
                                      • C c1olli

                                        @paul53
                                        Ob sich die Variablen ändern kommt ja darauf an, wie die Umstände gerade sind.
                                        Wie kann man es den besser machen?

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #22

                                        @c1olli sagte Wie kann man es den besser machen?

                                        4 weitere Trigger, in denen die jeweils zugeordnete Variable aktualisiert wird. Beispiel:

                                        on(idVerb, function(dp) {
                                            verb = dp.state.val;
                                        });
                                        

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        C 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @c1olli sagte Wie kann man es den besser machen?

                                          4 weitere Trigger, in denen die jeweils zugeordnete Variable aktualisiert wird. Beispiel:

                                          on(idVerb, function(dp) {
                                              verb = dp.state.val;
                                          });
                                          
                                          C Offline
                                          C Offline
                                          c1olli
                                          schrieb am zuletzt editiert von
                                          #23

                                          @paul53
                                          also so?

                                          // aktuellen PV-Ueberschuss für Wattpilot berechnen
                                          // PV Erzeugung - Akt Verbrauch - Speicher Entladung - Speicher Ladung + Wattpilot
                                          const idPVout = 'energymanager.0.Standort_(Standort_1).PowerProduced';
                                          const idVerb = 'fronius.0.powerflow.P_Load';
                                          const idBattin = 'energymanager.0.Standort_(Standort_1).PowerBuffered';
                                          const idBattout = 'energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage';
                                          const idWatt = 'fronius-wattpilot.0.power';
                                          const idPVload = '0_userdata.0.PVload'
                                          
                                          var pvout = getState(idPVout).val;
                                          var verb = getState(idVerb).val;
                                          var battin = getState(idBattin).val;
                                          var battout = getState(idBattout).val;
                                          var watt = getState(idWatt).val;
                                          var aktuell = Math.round((pvout - (verb * -1) - battin - battout + (watt * 1000)) * 100) / 100;
                                          if(existsState(idPVload)) setState(idPVload, aktuell, true);
                                          else createState(idPVload, aktuell, {type: 'number', name: 'PV_Ueberschuss', unit: 'W', role: 'value'});
                                          
                                          on(idVerb, function(dp) {
                                              verb = dp.state.val;
                                          }); 
                                          on(idBattin, function(dp) {
                                              battin = dp.state.val;
                                          });
                                          on(idBattout, function(dp) {
                                              battout = dp.state.val;
                                          });
                                          on(idWatt, function(dp) {
                                              watt = dp.state.val;
                                          });
                                          on(idPVout, function(dp) {
                                          pvout = dp.state.val;
                                          aktuell = Math.round((pvout - (verb * -1) - battin - battout + (watt * 1000)) * 100) / 100;
                                          setState(idPVload, aktuell, true);
                                          });
                                          

                                          Gruß
                                          Olli

                                          paul53P 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

                                          474

                                          Online

                                          32.6k

                                          Benutzer

                                          82.3k

                                          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