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. Hausspeicher laden, dynamisch, tibberlink, Scripte

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

Hausspeicher laden, dynamisch, tibberlink, Scripte

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
187 Beiträge 28 Kommentatoren 48.8k Aufrufe 41 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.
  • T TorbenNW

    Ich habe dein Script nun mangels Zeit und Speicher noch nicht ausprobiert. Liebäugle damit allerdings auch schon länger.

    Das Problem was ich sehe wäre, dass der Wandlerverlust, egal wie hoch er be- oder errechnet wird immer den Maximalpreis voraussetzt.
    Wie du schon schreibst wird X % vom Tageshöchstpreis genommen. Das Problem am Tageshöchstpreis ist aber, dass er in der Regel nur eine Stunde am Tag vorhanden ist.
    Was passiert in den übrigen Stunden?

    Nehmen wir jetzt das Beispiel von morgen in ohne Gebühren, Netto Preise:
    Ab 1 Uhr kostet die Kwh 0 ct -> Speicher läd.
    Nach angenommenen 4 Stunden ist der Speicher voll.
    Um 5 Uhr kommt noch nichts vom Dach und der Speicher fängt an zu entladen, ebenfalls noch beim Einkaufspreis von Tibber für 0 ct. Es erfolgt also ein Verlust in höhe des Ladeverlustes (nur auf den kwh Preis gemünzt).
    Dieses Beispiel würde morgen bis 15 Uhr so gehen bis der Preis wieder steigt und der Verlust geringer wird.
    Theoretisch müsste man hier nun den Ansatz angehen, dass der Speicher tatsächlich nur entladen wird sofern der Einkaufspreis den tatsächlichen Ladeverlust übersteigt.

    Sagt man dem Speicher jetzt er darf erst ab 16 Uhr entladen ist er ggf. voll und wird nicht "umsonst" mit Sonnenenergie getankt. (Edit: sehe gerade das du es versuchst mit Forecast zu lösen)

    Diese Variable macht die Speicherung mit AC Strom zumindest nach meiner Denkweise meist nur Unrentabel oder habe ich etwas übersehen?

    R Offline
    R Offline
    ReblausGT
    Developer
    schrieb am zuletzt editiert von
    #12

    @torbennw said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

    Was passiert in den übrigen Stunden?

    Nehmen wir jetzt das Beispiel von morgen in ohne Gebühren, Netto Preise:
    Ab 1 Uhr kostet die Kwh 0 ct -> Speicher läd.
    Nach angenommenen 4 Stunden ist der Speicher voll.
    Um 5 Uhr kommt noch nichts vom Dach und der Speicher fängt an zu entladen, ebenfalls noch beim Einkaufspreis von Tibber für 0 ct. Es erfolgt also ein Verlust in höhe des Ladeverlustes (nur auf den kwh Preis gemünzt).
    Dieses Beispiel würde morgen bis 15 Uhr so gehen bis der Preis wieder steigt und der Verlust geringer wird.

    Brainstorming:

    Mir schwebt an der Stelle vor, dass ich seitens TibberLink einen Ausgang habe der auf "beste Einzelstunden" basiert und die konfigurierte Anzahl Stunden selbstständig vergrößert, sofern weitere Stunden die gleichen Kosten wie die schlechteste innerhalb der konfigurierten aufweist... -> Modus "beste Einzelstunden smart" .... diesen Ausgang würde ich dann meiner Batteriesteuerung zusätzlich geben als "Blockiere Entladen". Sollte obiges Probleme am Beispiel 29.10.2023 lösen.

    Oder - speziell für den Winterbetrieb - ein Ausgang "beste Kosten smart" hier würde dann kein Trigger-Preis genommen werden der absolut zu sehen ist, sondern ein Verhältnis - in der Form, dass man z.B. 5ct angibt und der Ausgang schaltet immer wenn momentaner Preis kleiner wie (Tagesdurchschnitt - 5ct) ist. Damit könnte man wiederum ein Entladen der Batterie verhindern. (statt "5ct" könnte das auch ein %-Wert sein)

    N 1 Antwort Letzte Antwort
    0
    • R ReblausGT

      @torbennw said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

      Was passiert in den übrigen Stunden?

      Nehmen wir jetzt das Beispiel von morgen in ohne Gebühren, Netto Preise:
      Ab 1 Uhr kostet die Kwh 0 ct -> Speicher läd.
      Nach angenommenen 4 Stunden ist der Speicher voll.
      Um 5 Uhr kommt noch nichts vom Dach und der Speicher fängt an zu entladen, ebenfalls noch beim Einkaufspreis von Tibber für 0 ct. Es erfolgt also ein Verlust in höhe des Ladeverlustes (nur auf den kwh Preis gemünzt).
      Dieses Beispiel würde morgen bis 15 Uhr so gehen bis der Preis wieder steigt und der Verlust geringer wird.

      Brainstorming:

      Mir schwebt an der Stelle vor, dass ich seitens TibberLink einen Ausgang habe der auf "beste Einzelstunden" basiert und die konfigurierte Anzahl Stunden selbstständig vergrößert, sofern weitere Stunden die gleichen Kosten wie die schlechteste innerhalb der konfigurierten aufweist... -> Modus "beste Einzelstunden smart" .... diesen Ausgang würde ich dann meiner Batteriesteuerung zusätzlich geben als "Blockiere Entladen". Sollte obiges Probleme am Beispiel 29.10.2023 lösen.

      Oder - speziell für den Winterbetrieb - ein Ausgang "beste Kosten smart" hier würde dann kein Trigger-Preis genommen werden der absolut zu sehen ist, sondern ein Verhältnis - in der Form, dass man z.B. 5ct angibt und der Ausgang schaltet immer wenn momentaner Preis kleiner wie (Tagesdurchschnitt - 5ct) ist. Damit könnte man wiederum ein Entladen der Batterie verhindern. (statt "5ct" könnte das auch ein %-Wert sein)

      N Offline
      N Offline
      nouse82
      schrieb am zuletzt editiert von
      #13

      Hey, super cool! Macht ruhig weiter, ich denke das wird richtig gut! Ich beschäftige mich schon eine Weile mit dem Thema und bekomme bald einen IMS vom Netzprovider installiert. Das sollte die Pulse-Thematik umschiffen. Ab 01.01.2024 sind die ja auf 20 Euro pro Jahr gedeckelt. Es gibt einen „kollegen“ der das Thema vor einiger Zeit beschrieben hat und seine Automatisierung anders gelöst hat:

      https://www.techtalk.de/tibber-erfahrungsbericht/

      Aber das Prinzip, das er beschreibt, deckt sich in etwa mit dem vorab beschriebenen „Problem“. Und in der Lösung ist das ohne Forecast umgesetzt.

      IMG_0999.jpeg

      Wie seht Ihr das?

      1 Antwort Letzte Antwort
      0
      • icebearI Online
        icebearI Online
        icebear
        schrieb am zuletzt editiert von
        #14

        @babl Ich hab mir mal deine Scripte angeschaut und hätt da mal eine Frage:

        Wo kommen denn im Hauptscript die tibberlink DP her? (siehe SCreenShot)

        hauptscript.png

        Wenn ich gemäß deiner Anleitung vorgehe, dann sieht das bei mir unterhalb vom tibberlink-adapter bei calculations so aus :

        tibberlink.png

        das sind doch aber nicht die DP die oben im Hauptscript gebraucht werden, oder?

        icebearI 1 Antwort Letzte Antwort
        0
        • icebearI icebear

          @babl Ich hab mir mal deine Scripte angeschaut und hätt da mal eine Frage:

          Wo kommen denn im Hauptscript die tibberlink DP her? (siehe SCreenShot)

          hauptscript.png

          Wenn ich gemäß deiner Anleitung vorgehe, dann sieht das bei mir unterhalb vom tibberlink-adapter bei calculations so aus :

          tibberlink.png

          das sind doch aber nicht die DP die oben im Hauptscript gebraucht werden, oder?

          icebearI Online
          icebearI Online
          icebear
          schrieb am zuletzt editiert von
          #15

          @icebear said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

          Wo kommen denn im Hauptscript die tibberlink DP her? (siehe SCreenShot)

          Hat sich erledigt, nach update des Tibberlink Adapters heute, sind die DP da.

          Trotzdem hab ich noch eine Frage, wie genau und mit welchen Werten müssen die Aliase angelegt werden?

          Ich habs mal so gemacht wie ich dachte aber da meckert das Fehlerprotokoll immer rum.

          Welche Werte müssen denn genau als Alias genommen werden und warum Alias?

          B 1 Antwort Letzte Antwort
          0
          • icebearI icebear

            @icebear said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

            Wo kommen denn im Hauptscript die tibberlink DP her? (siehe SCreenShot)

            Hat sich erledigt, nach update des Tibberlink Adapters heute, sind die DP da.

            Trotzdem hab ich noch eine Frage, wie genau und mit welchen Werten müssen die Aliase angelegt werden?

            Ich habs mal so gemacht wie ich dachte aber da meckert das Fehlerprotokoll immer rum.

            Welche Werte müssen denn genau als Alias genommen werden und warum Alias?

            B Offline
            B Offline
            babl
            schrieb am zuletzt editiert von
            #16

            @icebear hi, schön dass es schon mal soweit funktioniert, die alias brauchst du um 1. Den Batterieladestand in % zu haben, 2. Um den Befehl für das laden zu senden.

            Ich weiss es gibt 100erte verschiedene Hausspeicher, darum kann man das nicht als feste variable abbilden, darum habe ich versucht dies als alias zu machen, so kannst du deinen User soc mit dem alias User soc immer in Verbindung halten und brauchst an den Scripten nix ändern, denn diese Punkte kommen häufig vor. Wenn du deinen alias genau so benennst wie oben unter Punkt A, dann sollte er eigentlich nicht meckern.

            Es geht leider aktuell nicht anders, zumindestens wüsste ich nicht wie.

            Ob du nun einen Sonnenspeicher hast oder nicht ist ja eigentlich egal, nur der alias sollte so heißen.

            1 Antwort Letzte Antwort
            0
            • icebearI Online
              icebearI Online
              icebear
              schrieb am zuletzt editiert von
              #17

              So jetzt hab ich noch eine Frage, bzw. Verständnisproblem:

              Ich verstehe das Laden Blockly nicht so ganz, siehe ScreenShotuser_soc.png

              Du setzt oben die Variable 'User_Soc' auf den Wert vom 'alias.......userSoc'

              wie kann dann unten bei falls [Wert vom Objekt ID] alias......userSOC der Wert 'Kleiner' als die Variable 'User_Soc' sein?

              HomoranH 1 Antwort Letzte Antwort
              0
              • icebearI icebear

                So jetzt hab ich noch eine Frage, bzw. Verständnisproblem:

                Ich verstehe das Laden Blockly nicht so ganz, siehe ScreenShotuser_soc.png

                Du setzt oben die Variable 'User_Soc' auf den Wert vom 'alias.......userSoc'

                wie kann dann unten bei falls [Wert vom Objekt ID] alias......userSOC der Wert 'Kleiner' als die Variable 'User_Soc' sein?

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

                @icebear sagte in Hausspeicher laden, dynamisch, tibberlink, Scripte:

                wie kann dann unten bei falls [Wert vom Objekt ID] alias......userSOC der Wert 'Kleiner' als die Variable 'User_Soc' sein?

                weil

                @icebear sagte in Hausspeicher laden, dynamisch, tibberlink, Scripte:

                setzt oben die Variable 'User_Soc' auf den Wert vom 'alias.......userSoc'

                nur beim Scriptstart gesetzt wird.

                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 -

                icebearI 1 Antwort Letzte Antwort
                1
                • HomoranH Homoran

                  @icebear sagte in Hausspeicher laden, dynamisch, tibberlink, Scripte:

                  wie kann dann unten bei falls [Wert vom Objekt ID] alias......userSOC der Wert 'Kleiner' als die Variable 'User_Soc' sein?

                  weil

                  @icebear sagte in Hausspeicher laden, dynamisch, tibberlink, Scripte:

                  setzt oben die Variable 'User_Soc' auf den Wert vom 'alias.......userSoc'

                  nur beim Scriptstart gesetzt wird.

                  icebearI Online
                  icebearI Online
                  icebear
                  schrieb am zuletzt editiert von
                  #19

                  @homoran

                  Ok. Danke.

                  Ich probier es dann mal aus ob es so funktioniert, das Problem ist das mein Speicher zum Beladen nur 'true' und 'false' kennt und die Beladeleistung selber regelt.
                  Deshalb muß ich das ein bischen umbauen.

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    timbo
                    schrieb am zuletzt editiert von timbo
                    #20

                    Hi babl,

                    danke für deine ganze Arbeit, wir haben auch einen Sonnenspeicher und sind bei Tibber, daher habe ich fast die gleichen Voraussetzungen wie bei dir. Deine Anleitung habe ich soweit befolgt, bekomme aber folgende Meldungen im Log:

                    2023-11-04 16:04:38.645 - info: javascript.0 (419377) Start javascript script.js.common.Bat_laden_skript
                    2023-11-04 16:04:38.671 - info: javascript.0 (419377) script.js.common.Bat_laden_skript: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                    2023-11-04 16:04:38.721 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Batteriespeicher_Kapazität changed to 0_userdata.0.Test.Batteriespeicher_KapazitÃ_t
                    2023-11-04 16:04:38.723 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Tibber.Beste_Stundenblöcke changed to 0_userdata.0.Tibber.Beste_StundenblÃ_cke
                    2023-11-04 16:04:38.723 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstpreis.AVG changed to 0_userdata.0.Test.HÃ_chstpreis.AVG
                    2023-11-04 16:04:38.723 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.0 changed to 0_userdata.0.Test.HÃ_chstzeit.0
                    2023-11-04 16:04:38.724 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.1 changed to 0_userdata.0.Test.HÃ_chstzeit.1
                    2023-11-04 16:04:38.726 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.2 changed to 0_userdata.0.Test.HÃ_chstzeit.2
                    2023-11-04 16:04:38.784 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Batteriespeicher_Kapazität changed to 0_userdata.0.Test.Batteriespeicher_KapazitÃ_t
                    2023-11-04 16:04:38.790 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Tibber.Beste_Stundenblöcke changed to 0_userdata.0.Tibber.Beste_StundenblÃ_cke
                    2023-11-04 16:04:38.794 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstpreis.AVG changed to 0_userdata.0.Test.HÃ_chstpreis.AVG
                    2023-11-04 16:04:38.797 - warn: javascript.0 (419377) You are assigning a number to the state "0_userdata.0.Test.Höchstzeit.0" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                    2023-11-04 16:04:38.798 - warn: javascript.0 (419377) at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2589:25)
                    2023-11-04 16:04:38.798 - warn: javascript.0 (419377) at runNextTicks (node:internal/process/task_queues:60:5)
                    2023-11-04 16:04:38.798 - warn: javascript.0 (419377) at processImmediate (node:internal/timers:442:9)
                    2023-11-04 16:04:38.798 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.0 changed to 0_userdata.0.Test.HÃ_chstzeit.0
                    2023-11-04 16:04:38.802 - warn: javascript.0 (419377) You are assigning a number to the state "0_userdata.0.Test.Höchstzeit.1" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                    2023-11-04 16:04:38.802 - warn: javascript.0 (419377) at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2589:25)
                    2023-11-04 16:04:38.802 - warn: javascript.0 (419377) at runNextTicks (node:internal/process/task_queues:60:5)
                    2023-11-04 16:04:38.802 - warn: javascript.0 (419377) at processImmediate (node:internal/timers:442:9)
                    2023-11-04 16:04:38.803 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.1 changed to 0_userdata.0.Test.HÃ_chstzeit.1
                    2023-11-04 16:04:38.806 - warn: javascript.0 (419377) You are assigning a number to the state "0_userdata.0.Test.Höchstzeit.2" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                    2023-11-04 16:04:38.806 - warn: javascript.0 (419377) at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2589:25)
                    2023-11-04 16:04:38.806 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.2 changed to 0_userdata.0.Test.HÃ_chstzeit.2
                    2023-11-04 16:04:38.817 - info: javascript.0 (419377) State value to set for "0_userdata.0.Test.HÃ_chstzeit.0" has to be type "string" but received type "number"
                    2023-11-04 16:04:38.860 - info: javascript.0 (419377) State value to set for "0_userdata.0.Test.HÃ_chstzeit.1" has to be type "string" but received type "number"
                    2023-11-04 16:04:38.861 - info: javascript.0 (419377) State value to set for "0_userdata.0.Test.HÃ_chstzeit.2" has to be type "string" but received type "number"
                    2023-11-04 16:04:39.357 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Hausspeicher_laden
                    2023-11-04 16:04:39.364 - warn: javascript.0 (419377) getState "alias.0.Sonnen.Status.userSoc" not found (3)
                    2023-11-04 16:04:39.365 - warn: javascript.0 (419377) at script.js.common.Bat_Hausspeicher_laden:4:12
                    2023-11-04 16:04:39.365 - warn: javascript.0 (419377) at script.js.common.Bat_Hausspeicher_laden:47:3
                    2023-11-04 16:04:39.367 - info: javascript.0 (419377) script.js.common.Bat_Hausspeicher_laden: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                    2023-11-04 16:04:40.829 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Hauptskript
                    2023-11-04 16:04:40.834 - warn: javascript.0 (419377) getState "alias.0.Sonnen.Status.userSoc" not found (3)
                    2023-11-04 16:04:40.835 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:4:12
                    2023-11-04 16:04:40.835 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:90:3
                    2023-11-04 16:04:40.835 - warn: javascript.0 (419377) getState "0_userdata.0.Test.Batteriespeicher_Kapazität" not found (3)
                    2023-11-04 16:04:40.836 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:5:44
                    2023-11-04 16:04:40.836 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:90:3
                    2023-11-04 16:04:40.836 - info: javascript.0 (419377) script.js.common.Bat_Hauptskript: registered 4 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                    2023-11-04 16:04:41.621 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Grundlastberechnung
                    2023-11-04 16:04:41.626 - info: javascript.0 (419377) script.js.common.Bat_Grundlastberechnung: registered 3 subscriptions, 2 schedules, 0 messages, 0 logs and 0 file subscriptions
                    2023-11-04 16:04:42.753 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Beladedauer
                    2023-11-04 16:04:42.760 - info: javascript.0 (419377) script.js.common.Bat_Beladedauer: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                    

                    Wenn ich das richtig lese, findet era auch die Aliase nicht, sind aber im Alias Ordner angelegt:
                    Bildschirmfoto 2023-11-04 um 16.10.49.png

                    Ich werde noch weiter probieren.

                    Gruß Timo

                    B 1 Antwort Letzte Antwort
                    0
                    • T timbo

                      Hi babl,

                      danke für deine ganze Arbeit, wir haben auch einen Sonnenspeicher und sind bei Tibber, daher habe ich fast die gleichen Voraussetzungen wie bei dir. Deine Anleitung habe ich soweit befolgt, bekomme aber folgende Meldungen im Log:

                      2023-11-04 16:04:38.645 - info: javascript.0 (419377) Start javascript script.js.common.Bat_laden_skript
                      2023-11-04 16:04:38.671 - info: javascript.0 (419377) script.js.common.Bat_laden_skript: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      2023-11-04 16:04:38.721 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Batteriespeicher_Kapazität changed to 0_userdata.0.Test.Batteriespeicher_KapazitÃ_t
                      2023-11-04 16:04:38.723 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Tibber.Beste_Stundenblöcke changed to 0_userdata.0.Tibber.Beste_StundenblÃ_cke
                      2023-11-04 16:04:38.723 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstpreis.AVG changed to 0_userdata.0.Test.HÃ_chstpreis.AVG
                      2023-11-04 16:04:38.723 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.0 changed to 0_userdata.0.Test.HÃ_chstzeit.0
                      2023-11-04 16:04:38.724 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.1 changed to 0_userdata.0.Test.HÃ_chstzeit.1
                      2023-11-04 16:04:38.726 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.2 changed to 0_userdata.0.Test.HÃ_chstzeit.2
                      2023-11-04 16:04:38.784 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Batteriespeicher_Kapazität changed to 0_userdata.0.Test.Batteriespeicher_KapazitÃ_t
                      2023-11-04 16:04:38.790 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Tibber.Beste_Stundenblöcke changed to 0_userdata.0.Tibber.Beste_StundenblÃ_cke
                      2023-11-04 16:04:38.794 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstpreis.AVG changed to 0_userdata.0.Test.HÃ_chstpreis.AVG
                      2023-11-04 16:04:38.797 - warn: javascript.0 (419377) You are assigning a number to the state "0_userdata.0.Test.Höchstzeit.0" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                      2023-11-04 16:04:38.798 - warn: javascript.0 (419377) at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2589:25)
                      2023-11-04 16:04:38.798 - warn: javascript.0 (419377) at runNextTicks (node:internal/process/task_queues:60:5)
                      2023-11-04 16:04:38.798 - warn: javascript.0 (419377) at processImmediate (node:internal/timers:442:9)
                      2023-11-04 16:04:38.798 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.0 changed to 0_userdata.0.Test.HÃ_chstzeit.0
                      2023-11-04 16:04:38.802 - warn: javascript.0 (419377) You are assigning a number to the state "0_userdata.0.Test.Höchstzeit.1" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                      2023-11-04 16:04:38.802 - warn: javascript.0 (419377) at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2589:25)
                      2023-11-04 16:04:38.802 - warn: javascript.0 (419377) at runNextTicks (node:internal/process/task_queues:60:5)
                      2023-11-04 16:04:38.802 - warn: javascript.0 (419377) at processImmediate (node:internal/timers:442:9)
                      2023-11-04 16:04:38.803 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.1 changed to 0_userdata.0.Test.HÃ_chstzeit.1
                      2023-11-04 16:04:38.806 - warn: javascript.0 (419377) You are assigning a number to the state "0_userdata.0.Test.Höchstzeit.2" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                      2023-11-04 16:04:38.806 - warn: javascript.0 (419377) at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2589:25)
                      2023-11-04 16:04:38.806 - warn: javascript.0 (419377) Used invalid characters: 0_userdata.0.Test.Höchstzeit.2 changed to 0_userdata.0.Test.HÃ_chstzeit.2
                      2023-11-04 16:04:38.817 - info: javascript.0 (419377) State value to set for "0_userdata.0.Test.HÃ_chstzeit.0" has to be type "string" but received type "number"
                      2023-11-04 16:04:38.860 - info: javascript.0 (419377) State value to set for "0_userdata.0.Test.HÃ_chstzeit.1" has to be type "string" but received type "number"
                      2023-11-04 16:04:38.861 - info: javascript.0 (419377) State value to set for "0_userdata.0.Test.HÃ_chstzeit.2" has to be type "string" but received type "number"
                      2023-11-04 16:04:39.357 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Hausspeicher_laden
                      2023-11-04 16:04:39.364 - warn: javascript.0 (419377) getState "alias.0.Sonnen.Status.userSoc" not found (3)
                      2023-11-04 16:04:39.365 - warn: javascript.0 (419377) at script.js.common.Bat_Hausspeicher_laden:4:12
                      2023-11-04 16:04:39.365 - warn: javascript.0 (419377) at script.js.common.Bat_Hausspeicher_laden:47:3
                      2023-11-04 16:04:39.367 - info: javascript.0 (419377) script.js.common.Bat_Hausspeicher_laden: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                      2023-11-04 16:04:40.829 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Hauptskript
                      2023-11-04 16:04:40.834 - warn: javascript.0 (419377) getState "alias.0.Sonnen.Status.userSoc" not found (3)
                      2023-11-04 16:04:40.835 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:4:12
                      2023-11-04 16:04:40.835 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:90:3
                      2023-11-04 16:04:40.835 - warn: javascript.0 (419377) getState "0_userdata.0.Test.Batteriespeicher_Kapazität" not found (3)
                      2023-11-04 16:04:40.836 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:5:44
                      2023-11-04 16:04:40.836 - warn: javascript.0 (419377) at script.js.common.Bat_Hauptskript:90:3
                      2023-11-04 16:04:40.836 - info: javascript.0 (419377) script.js.common.Bat_Hauptskript: registered 4 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      2023-11-04 16:04:41.621 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Grundlastberechnung
                      2023-11-04 16:04:41.626 - info: javascript.0 (419377) script.js.common.Bat_Grundlastberechnung: registered 3 subscriptions, 2 schedules, 0 messages, 0 logs and 0 file subscriptions
                      2023-11-04 16:04:42.753 - info: javascript.0 (419377) Start javascript script.js.common.Bat_Beladedauer
                      2023-11-04 16:04:42.760 - info: javascript.0 (419377) script.js.common.Bat_Beladedauer: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      

                      Wenn ich das richtig lese, findet era auch die Aliase nicht, sind aber im Alias Ordner angelegt:
                      Bildschirmfoto 2023-11-04 um 16.10.49.png

                      Ich werde noch weiter probieren.

                      Gruß Timo

                      B Offline
                      B Offline
                      babl
                      schrieb am zuletzt editiert von babl
                      #21

                      @timbo hi, schau mal deine alias datenpunkte genau an, die stimmen nciht mit meinen überein.

                      alias.0.Sonnen.Status.userSoc

                      und bei dir müßte es sein

                      alias.0.sonnen.status.usersoc.usersoc

                      kann das sein?

                      alias datenpunkte.jpg

                      Ebenso stimmt mit deinen angelegten Datenpunkten was nicht, da eine fehlermeldung als string kommt und bei mir werden die datenpunkte definitv als number erzeugt, also muß das passen.

                      Tipp: Lösche unter UserData den kompletten Test Ordner und lasse die Datenpunkte anhand des Scripts "Datenpunkte erzeugen" auch die Datenpunkte erzeugen.

                      T 1 Antwort Letzte Antwort
                      0
                      • B babl

                        @timbo hi, schau mal deine alias datenpunkte genau an, die stimmen nciht mit meinen überein.

                        alias.0.Sonnen.Status.userSoc

                        und bei dir müßte es sein

                        alias.0.sonnen.status.usersoc.usersoc

                        kann das sein?

                        alias datenpunkte.jpg

                        Ebenso stimmt mit deinen angelegten Datenpunkten was nicht, da eine fehlermeldung als string kommt und bei mir werden die datenpunkte definitv als number erzeugt, also muß das passen.

                        Tipp: Lösche unter UserData den kompletten Test Ordner und lasse die Datenpunkte anhand des Scripts "Datenpunkte erzeugen" auch die Datenpunkte erzeugen.

                        T Offline
                        T Offline
                        timbo
                        schrieb am zuletzt editiert von
                        #22

                        @babl ich habe alle Datenpunkte gelöscht und mit deinem Skript die DP neu anlegen lassen.
                        In deinem Skript gibst du zu den Tiefstzeit/ Höchstzeit... folgendes an:

                        Bildschirmfoto 2023-11-04 um 17.31.58.png

                        Habe eben mal probiert, die 0 statt im Zahlenformat im Textformat anlegen zu lassen, bekomme aber die gleiche Meldung.

                        	2023-11-04 17:29:40.840	info	State value to set for "0_userdata.0.Test.Tiefstzeit.2" has to be type "string" but received type "number"
                        
                        javascript.0
                        2023-11-04 17:29:40.840	info	State value to set for "0_userdata.0.Test.Tiefstzeit.1" has to be type "string" but received type "number"
                        
                        javascript.0
                        2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.Tiefstzeit.0" has to be type "string" but received type "number"
                        
                        javascript.0
                        2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.HÃ_chstzeit.2" has to be type "string" but received type "number"
                        
                        javascript.0
                        2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.HÃ_chstzeit.1" has to be type "string" but received type "number"
                        
                        javascript.0
                        2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.HÃ_chstzeit.0" has to be type "string" but received type "number"
                        
                        B 1 Antwort Letzte Antwort
                        0
                        • T timbo

                          @babl ich habe alle Datenpunkte gelöscht und mit deinem Skript die DP neu anlegen lassen.
                          In deinem Skript gibst du zu den Tiefstzeit/ Höchstzeit... folgendes an:

                          Bildschirmfoto 2023-11-04 um 17.31.58.png

                          Habe eben mal probiert, die 0 statt im Zahlenformat im Textformat anlegen zu lassen, bekomme aber die gleiche Meldung.

                          	2023-11-04 17:29:40.840	info	State value to set for "0_userdata.0.Test.Tiefstzeit.2" has to be type "string" but received type "number"
                          
                          javascript.0
                          2023-11-04 17:29:40.840	info	State value to set for "0_userdata.0.Test.Tiefstzeit.1" has to be type "string" but received type "number"
                          
                          javascript.0
                          2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.Tiefstzeit.0" has to be type "string" but received type "number"
                          
                          javascript.0
                          2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.HÃ_chstzeit.2" has to be type "string" but received type "number"
                          
                          javascript.0
                          2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.HÃ_chstzeit.1" has to be type "string" but received type "number"
                          
                          javascript.0
                          2023-11-04 17:29:40.837	info	State value to set for "0_userdata.0.Test.HÃ_chstzeit.0" has to be type "string" but received type "number"
                          
                          B Offline
                          B Offline
                          babl
                          schrieb am zuletzt editiert von
                          #23

                          @timbo OK mein Fehler sorry, werde ich morgen gleich ändern, nimm für den number Block 0 einen Textbaustein und schreib 00:00 rein, oder du änderst sie per Hand in den Objekten auf 00:00

                          T 1 Antwort Letzte Antwort
                          0
                          • B babl

                            @timbo OK mein Fehler sorry, werde ich morgen gleich ändern, nimm für den number Block 0 einen Textbaustein und schreib 00:00 rein, oder du änderst sie per Hand in den Objekten auf 00:00

                            T Offline
                            T Offline
                            timbo
                            schrieb am zuletzt editiert von
                            #24

                            @babl deshalb testen wir das ja :)
                            Ich werde noch schauen, warum meine Aliase anders definiert sind.

                            Gruß Timo

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              mtbsteve
                              schrieb am zuletzt editiert von mtbsteve
                              #25

                              Also ich bekomme das nicht ans laufen.
                              Den Alias alias.0.Sonnen.Status.userSoc habe ich korrekt definiert.
                              Was bedeutet "timerID" undefined?
                              Wo definiere ich die Variable 0_userdata.0.Solar.Energie.heute_09:00?
                              Danke!

                              17:31:55.519	info	javascript.0 (1929) Stop script script.js.Tibber-SE-Hauptscript
                              17:31:55.575	info	javascript.0 (1929) Start javascript script.js.Tibber-SE-Hauptscript
                              17:31:55.582	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=alias.0.Sonnen.Status.userSoc, timerId=undefined) => not found
                              17:31:55.583	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:4:12
                              17:31:55.584	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:90:3
                              17:31:55.584	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Batteriespeicher_Kapazitaet, timerId=undefined) => {"val":9200,"ack":true,"ts":1699201799429,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799429}
                              17:31:55.584	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Solar.Energie.heute_09:00, timerId=undefined) => not found
                              17:31:55.585	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:6:26
                              17:31:55.585	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:90:3
                              17:31:55.586	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Wirkungsgrad, timerId=undefined) => {"val":85,"ack":true,"ts":1699201799441,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799441}
                              17:31:55.586	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Batterie_laden, timerId=undefined) => {"val":false,"ack":true,"ts":1699201799461,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799461}
                              17:31:55.586	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge","change":"lt","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                              17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Beste_Einzelstunden","change":"any","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                              17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Beste_Kosten","change":"any","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                              17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Beste_Stundenbloecke","change":"any","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                              17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: registered 4 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              17:34:11.516	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Hoechstpreis.AVG, timerId=undefined) => {"val":0,"ack":true,"ts":1699201799462,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799462}
                              17:34:11.516	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Mindestpreis.AVG, timerId=undefined) => {"val":0,"ack":true,"ts":1699201799462,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799462}
                              
                              B 1 Antwort Letzte Antwort
                              0
                              • M mtbsteve

                                Also ich bekomme das nicht ans laufen.
                                Den Alias alias.0.Sonnen.Status.userSoc habe ich korrekt definiert.
                                Was bedeutet "timerID" undefined?
                                Wo definiere ich die Variable 0_userdata.0.Solar.Energie.heute_09:00?
                                Danke!

                                17:31:55.519	info	javascript.0 (1929) Stop script script.js.Tibber-SE-Hauptscript
                                17:31:55.575	info	javascript.0 (1929) Start javascript script.js.Tibber-SE-Hauptscript
                                17:31:55.582	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=alias.0.Sonnen.Status.userSoc, timerId=undefined) => not found
                                17:31:55.583	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:4:12
                                17:31:55.584	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:90:3
                                17:31:55.584	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Batteriespeicher_Kapazitaet, timerId=undefined) => {"val":9200,"ack":true,"ts":1699201799429,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799429}
                                17:31:55.584	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Solar.Energie.heute_09:00, timerId=undefined) => not found
                                17:31:55.585	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:6:26
                                17:31:55.585	warn	javascript.0 (1929) at script.js.Tibber-SE-Hauptscript:90:3
                                17:31:55.586	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Wirkungsgrad, timerId=undefined) => {"val":85,"ack":true,"ts":1699201799441,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799441}
                                17:31:55.586	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Batterie_laden, timerId=undefined) => {"val":false,"ack":true,"ts":1699201799461,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799461}
                                17:31:55.586	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge","change":"lt","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                                17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Beste_Einzelstunden","change":"any","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                                17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Beste_Kosten","change":"any","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                                17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Beste_Stundenbloecke","change":"any","q":0},"name":"script.js.Tibber-SE-Hauptscript"}
                                17:31:55.587	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: registered 4 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                17:34:11.516	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Hoechstpreis.AVG, timerId=undefined) => {"val":0,"ack":true,"ts":1699201799462,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799462}
                                17:34:11.516	info	javascript.0 (1929) script.js.Tibber-SE-Hauptscript: getState(id=0_userdata.0.Test.Mindestpreis.AVG, timerId=undefined) => {"val":0,"ack":true,"ts":1699201799462,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799462}
                                
                                B Offline
                                B Offline
                                babl
                                schrieb am zuletzt editiert von
                                #26

                                @mtbsteve die 0_userdata.0.Solar.Energie.heute_09:00

                                Ist der Punkt der von deinem PV forecast Adapter kommt ist unter dem Bereich Hauptscript beschrieben,

                                Die Timer Id das kann eventuell sein durch das dass er noch keinen vollständigen Sonnenuntergang und sonnenaufgang berechnen konnte, fülle einfach Mal die Werte unter den Objekten

                                Als Beispiel Sonnenuntergangswert mit 5000watt und Sonnenaufgang mit 2500 watt

                                M 1 Antwort Letzte Antwort
                                0
                                • B babl

                                  @mtbsteve die 0_userdata.0.Solar.Energie.heute_09:00

                                  Ist der Punkt der von deinem PV forecast Adapter kommt ist unter dem Bereich Hauptscript beschrieben,

                                  Die Timer Id das kann eventuell sein durch das dass er noch keinen vollständigen Sonnenuntergang und sonnenaufgang berechnen konnte, fülle einfach Mal die Werte unter den Objekten

                                  Als Beispiel Sonnenuntergangswert mit 5000watt und Sonnenaufgang mit 2500 watt

                                  M Offline
                                  M Offline
                                  mtbsteve
                                  schrieb am zuletzt editiert von mtbsteve
                                  #27

                                  @babl danke für Deine Rückmeldung. Irgendwo ist bei mir der Wurm drin.

                                  1. Den Wert für die Variable 0_userdata.0.Solar.Energie.heute_09:00 extrahiere ich nun über ein eigenes Skript aus dem Json Objekt des pvforecast Adapters.
                                    Was ich überhaupt nicht verstehe: Warum wird der Wert 0_userdata.0.Solar.Energie.heute_09:00 nur einmal beim initialen Aufruf des Hauptscripts abgefragt? Da fehlt doch ein täglicher Update dieses Wertes?

                                  2. Den Sonnenuntergangswert habe ich mal mit 5000watt und Sonnenaufgang mit 2500 watt belegt. Die TimerID ist aber immer noch "unknown". Warum?

                                  3. Wo werden die Werte für Hoechstpreis.AVG und Mindespreis.AVG berechnet?
                                    Was bedeuten die Sonderzeichen unter der Unit Definition?
                                    scriptfehler.JPG

                                  4. Das script Beladedauer liefert den folgenden Fehler:

                                  12:42:51.520	info	javascript.0 (1929) Start javascript script.js.Tibber-SW-Beladedauer
                                  12:42:51.530	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: subscribe: {"pattern":{"id":"modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge","change":"ne","q":0},"name":"script.js.Tibber-SW-Beladedauer"}
                                  12:42:51.531	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: subscribe: {"pattern":{"id":"0_userdata.0.Test.Ladeprozente_Hausspeicher","change":"ne","q":0},"name":"script.js.Tibber-SW-Beladedauer"}
                                  12:42:51.531	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                  12:45:55.804	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge, timerId=undefined) => {"val":56.67,"ack":true,"ts":1699271155797,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1699271155797}
                                  12:45:55.805	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Batteriespeicher_Kapazitaet, timerId=undefined) => {"val":9200,"ack":true,"ts":1699201799429,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799429}
                                  12:45:55.805	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Beladeleistung, timerId=undefined) => {"val":3000,"ack":true,"ts":1699201799430,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799430}
                                  12:45:55.805	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Beladeleistung_95_100, timerId=undefined) => {"val":4,"ack":true,"ts":1699201799431,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799431}
                                  12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Beladeleistung_0_5_90_95, timerId=undefined) => {"val":2,"ack":true,"ts":1699201799432,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799432}
                                  12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Ladeprozente_Hausspeicher, timerId=undefined) => {"val":100,"ack":true,"ts":1699201799458,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799458}
                                  12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge, timerId=undefined) => {"val":56.67,"ack":true,"ts":1699271155797,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1699271155797}
                                  12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: setForeignState(id=0_userdata.0.Test.Beladedauer_Hausspeicher, state={"val":116.5272,"ack":true,"ts":1699271155806,"q":0,"from":"system.adapter.javascript.0","lc":1699271155806,"c":"script.js.Tibber-SW-Beladedauer"})
                                  12:45:55.807	warn	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: setForeignState(id=0_userdata.0.Test.Beladedauer_Hausspeicher, state={"val":116.5272,"ack":true,"ts":1699271155806,"q":0,"from":"system.adapter.javascript.0","lc":1699271155806,"c":"script.js.Tibber-SW-Beladedauer"}) - was not executed, while debug mode is active
                                  12:45:55.807	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: 116.5272
                                  

                                  Das Skript berechnet die beladedauer mit 116.5272. Kann den Wert aber aus mir nicht ersichtlichen Grund auf 0_userdata.0.Test.Beladedauer_Hausspeicher schreiben. Die Variable ist aber angelegt.
                                  scriptfehler2.JPG

                                  Danke fuer deine Hilfe.

                                  B 1 Antwort Letzte Antwort
                                  0
                                  • icebearI Online
                                    icebearI Online
                                    icebear
                                    schrieb am zuletzt editiert von
                                    #28

                                    Ich würd dann auch nochmal nachfragen, ich hab die Scripte jetzt 2 Tage laufen lassen aber irgendwie versteh ich die Geschichte nich so ganz.
                                    Hab gemäß der Anleitung alles soweit eingerichtet und es gibt auch keine Fehlermeldungen, aber an den Tibber-Datenpunkten da ändert sich irgendwie garnix.

                                    tibberlink.png

                                    tibberlink2.png

                                    B B 2 Antworten Letzte Antwort
                                    0
                                    • icebearI icebear

                                      Ich würd dann auch nochmal nachfragen, ich hab die Scripte jetzt 2 Tage laufen lassen aber irgendwie versteh ich die Geschichte nich so ganz.
                                      Hab gemäß der Anleitung alles soweit eingerichtet und es gibt auch keine Fehlermeldungen, aber an den Tibber-Datenpunkten da ändert sich irgendwie garnix.

                                      tibberlink.png

                                      tibberlink2.png

                                      B Offline
                                      B Offline
                                      babl
                                      schrieb am zuletzt editiert von babl
                                      #29

                                      @icebear ok, also geht es mit dem Einrichten der Scripte, ich weiß daß ist alles tricky, aber wie soll man das anders lösen. Das beste wäre ein Adapter, der das macht, aber ich kann das leider nicht.

                                      Aber nun zu deinem Problem, daß kann viele Gründe haben,

                                      1. Das Script denkt das die Entladedauer kleiner ist und so bis zum nächsten Sonnenaufgang mit der Batterie durchkommt, in Abhängigkeit des PV Forecast.
                                      2. Dein Wirkungsgrad von der Batterie ist so klein eingestellt, daß hier der UNterschied zwischen Höchstpreis und Mindestpreis nicht ausreicht um die Batterie rentabel zu laden.
                                      3. Wurde die Beladedauer, Entladezeit, Gesamtverbrauch usw richtig berechnet?
                                      4. Kopier mal bitte im Hauptscript die Variable PV Forecast heute 9 Uhr innerhalb des Triggers, da sich der Wert sonst nicht ändert, vielleicht liegt es an dem.
                                      icebearI 1 Antwort Letzte Antwort
                                      0
                                      • M mtbsteve

                                        @babl danke für Deine Rückmeldung. Irgendwo ist bei mir der Wurm drin.

                                        1. Den Wert für die Variable 0_userdata.0.Solar.Energie.heute_09:00 extrahiere ich nun über ein eigenes Skript aus dem Json Objekt des pvforecast Adapters.
                                          Was ich überhaupt nicht verstehe: Warum wird der Wert 0_userdata.0.Solar.Energie.heute_09:00 nur einmal beim initialen Aufruf des Hauptscripts abgefragt? Da fehlt doch ein täglicher Update dieses Wertes?

                                        2. Den Sonnenuntergangswert habe ich mal mit 5000watt und Sonnenaufgang mit 2500 watt belegt. Die TimerID ist aber immer noch "unknown". Warum?

                                        3. Wo werden die Werte für Hoechstpreis.AVG und Mindespreis.AVG berechnet?
                                          Was bedeuten die Sonderzeichen unter der Unit Definition?
                                          scriptfehler.JPG

                                        4. Das script Beladedauer liefert den folgenden Fehler:

                                        12:42:51.520	info	javascript.0 (1929) Start javascript script.js.Tibber-SW-Beladedauer
                                        12:42:51.530	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: subscribe: {"pattern":{"id":"modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge","change":"ne","q":0},"name":"script.js.Tibber-SW-Beladedauer"}
                                        12:42:51.531	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: subscribe: {"pattern":{"id":"0_userdata.0.Test.Ladeprozente_Hausspeicher","change":"ne","q":0},"name":"script.js.Tibber-SW-Beladedauer"}
                                        12:42:51.531	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        12:45:55.804	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge, timerId=undefined) => {"val":56.67,"ack":true,"ts":1699271155797,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1699271155797}
                                        12:45:55.805	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Batteriespeicher_Kapazitaet, timerId=undefined) => {"val":9200,"ack":true,"ts":1699201799429,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799429}
                                        12:45:55.805	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Beladeleistung, timerId=undefined) => {"val":3000,"ack":true,"ts":1699201799430,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799430}
                                        12:45:55.805	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Beladeleistung_95_100, timerId=undefined) => {"val":4,"ack":true,"ts":1699201799431,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799431}
                                        12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Beladeleistung_0_5_90_95, timerId=undefined) => {"val":2,"ack":true,"ts":1699201799432,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799432}
                                        12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=0_userdata.0.Test.Ladeprozente_Hausspeicher, timerId=undefined) => {"val":100,"ack":true,"ts":1699201799458,"q":0,"c":"script.js.Tibber-SE-DatenpunkteErstellen","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1699201799458}
                                        12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: getState(id=modbus.0.holdingRegisters.1.97733_Batt1_StateOfCharge, timerId=undefined) => {"val":56.67,"ack":true,"ts":1699271155797,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1699271155797}
                                        12:45:55.806	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: setForeignState(id=0_userdata.0.Test.Beladedauer_Hausspeicher, state={"val":116.5272,"ack":true,"ts":1699271155806,"q":0,"from":"system.adapter.javascript.0","lc":1699271155806,"c":"script.js.Tibber-SW-Beladedauer"})
                                        12:45:55.807	warn	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: setForeignState(id=0_userdata.0.Test.Beladedauer_Hausspeicher, state={"val":116.5272,"ack":true,"ts":1699271155806,"q":0,"from":"system.adapter.javascript.0","lc":1699271155806,"c":"script.js.Tibber-SW-Beladedauer"}) - was not executed, while debug mode is active
                                        12:45:55.807	info	javascript.0 (1929) script.js.Tibber-SW-Beladedauer: 116.5272
                                        

                                        Das Skript berechnet die beladedauer mit 116.5272. Kann den Wert aber aus mir nicht ersichtlichen Grund auf 0_userdata.0.Test.Beladedauer_Hausspeicher schreiben. Die Variable ist aber angelegt.
                                        scriptfehler2.JPG

                                        Danke fuer deine Hilfe.

                                        B Offline
                                        B Offline
                                        babl
                                        schrieb am zuletzt editiert von babl
                                        #30

                                        @mtbsteve ich weiß auch ehrlich gesagt nicht wo die Timer ID herkommt, das ist mir ein Rätsel.

                                        Mit dem Pv-Forecast heute 9 Uhr, da hast du recht, daß gehört sich gleich unterhalb des Triggers. Da habe ich vorher innerhalb des Triggers den originalen Datenpunkt gehabt, damit es aber dann leichter wird und man nicht innerhalb des Triggers was ändern muß, habe ich eine Variable draus gemacht, die nur beim Start des Scripts abgefragt wird, das gleiche ist es bei der Variable mit dem Wirkungsgrad (wenn es jemand täglich ausrechnen lässt), deshalb müßte man diese 2 Variablen auch innerhalb des Triggers kopieren, man kann sie dann oberhalb löschen.
                                        Sorry.

                                        Aber trotzdem habe ich das mit der Timer ID noch nie gehört, da bin ich total überfragt.

                                        Hauptscript wurde auf Version 1 aktualisiert, die aktualisierten Versionen findet ihr immer in den 1. Posts.

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • B babl

                                          @icebear ok, also geht es mit dem Einrichten der Scripte, ich weiß daß ist alles tricky, aber wie soll man das anders lösen. Das beste wäre ein Adapter, der das macht, aber ich kann das leider nicht.

                                          Aber nun zu deinem Problem, daß kann viele Gründe haben,

                                          1. Das Script denkt das die Entladedauer kleiner ist und so bis zum nächsten Sonnenaufgang mit der Batterie durchkommt, in Abhängigkeit des PV Forecast.
                                          2. Dein Wirkungsgrad von der Batterie ist so klein eingestellt, daß hier der UNterschied zwischen Höchstpreis und Mindestpreis nicht ausreicht um die Batterie rentabel zu laden.
                                          3. Wurde die Beladedauer, Entladezeit, Gesamtverbrauch usw richtig berechnet?
                                          4. Kopier mal bitte im Hauptscript die Variable PV Forecast heute 9 Uhr innerhalb des Triggers, da sich der Wert sonst nicht ändert, vielleicht liegt es an dem.
                                          icebearI Online
                                          icebearI Online
                                          icebear
                                          schrieb am zuletzt editiert von
                                          #31

                                          @babl said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

                                          Dein Wirkungsgrad von der Batterie ist so klein eingestellt, daß

                                          Also der Wirkungsgrad ist mit 95% angegeben,

                                          Den Rest muß ich noch testen, meld mich wieder

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          838

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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