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

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

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

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.
  • 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 Online
      B Online
      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 Online
            B Online
            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 Offline
                icebearI Offline
                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 Online
                  B Online
                  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 Online
                    B Online
                    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 Offline
                      icebearI Offline
                      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
                      • B babl

                        @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 Offline
                        M Offline
                        mtbsteve
                        schrieb am zuletzt editiert von
                        #32

                        @babl danke- und wo werden die Werte für Hoechstpreis.AVG und Mindespreis.AVG berechnet?

                        B 1 Antwort Letzte Antwort
                        0
                        • M mtbsteve

                          @babl danke- und wo werden die Werte für Hoechstpreis.AVG und Mindespreis.AVG berechnet?

                          B Online
                          B Online
                          babl
                          schrieb am zuletzt editiert von
                          #33

                          @mtbsteve im Script tibberjson

                          icebearI 1 Antwort Letzte Antwort
                          0
                          • B Offline
                            B Offline
                            blacksheep587
                            schrieb am zuletzt editiert von
                            #34

                            Hi, ich bin auch gerade dabei dein Skript zu implementieren.
                            Habe noch Verständnisfragen:
                            Der PV-Forecast 9:00 gibt mir an, welche PV-Leistung von 9-9:30 zu erwarten ist, z.B. heute 1,4kWh.
                            715e89f1-a7e6-4e99-984c-be35183c7bc2-image.png

                            1. Wieso wird nicht die erwartete Tagesproduktion angeschaut? Im Winter macht es doch durchaus Sinn, da es ja auch Tage gibt, an denen garnichts runter kommt, oder hald vielleicht nur am Vormittag mal ein Stündchen und dann regnets den Rest des Tages.
                            2. Warum nimmst du nicht den Wert direkt aus dem Adapter?

                            Danke schon mal und vielen Dank für deine Arbeit!!

                            B 1 Antwort Letzte Antwort
                            0
                            • B babl

                              @mtbsteve im Script tibberjson

                              icebearI Offline
                              icebearI Offline
                              icebear
                              schrieb am zuletzt editiert von
                              #35

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

                              im Script tibberjson

                              Äh, hab ich was verpasst? Wo ist das Script tibberjson?

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

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

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

                                Danke. Habe die Änderungen von Dir eingebaut. Die TimerID scheint wohl was mit dem Debug Setting zu tun zu haben, seitdem ich das ausgeschaltet habe, isses weg.

                                @mtbsteve im Script tibberjson

                                bitte poste noch das tibberjson script - das fehlt (oder habe ich nicht gefunden)

                                B 1 Antwort Letzte Antwort
                                0
                                • M mtbsteve

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

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

                                  Danke. Habe die Änderungen von Dir eingebaut. Die TimerID scheint wohl was mit dem Debug Setting zu tun zu haben, seitdem ich das ausgeschaltet habe, isses weg.

                                  @mtbsteve im Script tibberjson

                                  bitte poste noch das tibberjson script - das fehlt (oder habe ich nicht gefunden)

                                  B Online
                                  B Online
                                  babl
                                  schrieb am zuletzt editiert von babl
                                  #37

                                  @mtbsteve das muss normal immer Tibber Hauptscript mit dabei sein,

                                  habe aber festgestellt, als ich das als Test importiert habe, daß der Block nicht mit dabei ist, also bitte aktuellste Version des Hauptscripts laden, oben im 3. Beitrag.

                                  Aktuellste Version ist die Version 1.

                                  Das mit der Timer ID wußte ich gar nicht, auch wieder was gelernt, danke dir.

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • B blacksheep587

                                    Hi, ich bin auch gerade dabei dein Skript zu implementieren.
                                    Habe noch Verständnisfragen:
                                    Der PV-Forecast 9:00 gibt mir an, welche PV-Leistung von 9-9:30 zu erwarten ist, z.B. heute 1,4kWh.
                                    715e89f1-a7e6-4e99-984c-be35183c7bc2-image.png

                                    1. Wieso wird nicht die erwartete Tagesproduktion angeschaut? Im Winter macht es doch durchaus Sinn, da es ja auch Tage gibt, an denen garnichts runter kommt, oder hald vielleicht nur am Vormittag mal ein Stündchen und dann regnets den Rest des Tages.
                                    2. Warum nimmst du nicht den Wert direkt aus dem Adapter?

                                    Danke schon mal und vielen Dank für deine Arbeit!!

                                    B Online
                                    B Online
                                    babl
                                    schrieb am zuletzt editiert von
                                    #38

                                    @blacksheep587

                                    zu 1. Weil bis 9 Uhr das Script läuft, ab dann gehe ich davon aus, daß die Sonne ihr weiteres macht, jeder kann hier seine besten Punkte hernehmen, wie er meint.

                                    Das Script rechnet bis 9 Uhr die Entladezeit hoch, sagen wir mal es ist 3 Uhr Früh, die Batterie hat eine Kapazität von 10000Watt, von 3 uhr bis 9 uhr sind 6 stunden mal 60 minuten sind 360 minuten, ist die entladezeit z.B. (200 Minuten) kleiner als die 360 minuten dann versucht er sowieso zwischen 0 und 9 uhr die batterie zu beladen.

                                    Ist die berechnete Beladezeit der Batterie unter 60 minuten sucht er sich den günstigsten Stundenblock, ist die Beladezeit länger als 60 bis 120 Minuten, dann setzt er die besten zusammenshängenden stundenblöcke zum laden, größer als 120 dann sucht er die besten 3 zusammenhängenden stundenblöcke.

                                    Sollte vor Mitternacht die Entladezeit bereits kleiner sein als die Zeit bis Mitternacht dann sucht er vor Mitternacht die besten Zeiten.

                                    So wäre mein Plan.

                                    Zu 2. Ich habe die Variable genommen um den User so wenig zum ändern innerhalb des Scripts zuzumuten. Ansonsten kannst du direkt den Datenpunkt auch nehmen. Kein Problem, habe ja oben geschrieben für die Cracks ist das Blockly wahrscheinlich ein Klacks, doch es gibt ja auch andere, die erst frisch mit iobroker angefangen haben.

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

                                      @babl Danke - habs übernommen. Aktuell läuft alles soweit durch. Bin mal gespannt wie er die Ladeplanung macht :-)

                                      1 Antwort Letzte Antwort
                                      0
                                      • icebearI Offline
                                        icebearI Offline
                                        icebear
                                        schrieb am zuletzt editiert von
                                        #40

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

                                        Dies siehst du wenn du den Datenpunkt 0_userdata.0.Test.Ladeprozente_Hausspeicher auf 90% änderst wie sich die Zeit in Minuten unter dem Datenpunkt 0_userdata.0.Test.Beladedauer_Hausspeicher ändert.
                                        !!!!!Achtung: aktuelle Einstellungen nur von 90 -100% möglich.

                                        Ich muß nochmal nachfragen, wie verhält sich das mit dem DP 0_userdata.0.Test.Ladeprozente_Hausspeicher

                                        Leg ich den selber fest, kommt der irgendwo her, so wie du beschrieben hast sind ja nur Werte zwischen 90-100% möglich, also leg ich das selber fest was ich da haben möchte?

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • icebearI icebear

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

                                          Dies siehst du wenn du den Datenpunkt 0_userdata.0.Test.Ladeprozente_Hausspeicher auf 90% änderst wie sich die Zeit in Minuten unter dem Datenpunkt 0_userdata.0.Test.Beladedauer_Hausspeicher ändert.
                                          !!!!!Achtung: aktuelle Einstellungen nur von 90 -100% möglich.

                                          Ich muß nochmal nachfragen, wie verhält sich das mit dem DP 0_userdata.0.Test.Ladeprozente_Hausspeicher

                                          Leg ich den selber fest, kommt der irgendwo her, so wie du beschrieben hast sind ja nur Werte zwischen 90-100% möglich, also leg ich das selber fest was ich da haben möchte?

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

                                          @icebear ja, legst du selber fest.

                                          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

                                          1.0k

                                          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