Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. ecoflow-connector-Script zur dynamischen Leistungsanpassung

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

ecoflow-connector-Script zur dynamischen Leistungsanpassung

Scheduled Pinned Locked Moved JavaScript
1.6k Posts 127 Posters 771.6k Views 127 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Waly_de

    @karo2204 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

    Kann man jetzt in das zusätzliche Script einbauen, dass wenn der SOC von 100% erreicht ist, er wieder auf Strom-Prio umschaltet? Also entweder andere Levels oder SOC, was zuerst kommt?

    OK.. Da ich auch Tibber bestellt habe und es vielleicht auch für andere Interessant ist, hab ich ein Modul-Script dafür erstellt. Das kann als eigenes, neues Script neben dem Hauptscript angelegt werden.

    Modul Quelltext ist jetzt im Eingansbeitrag

    K Offline
    K Offline
    karo2204
    wrote on last edited by
    #741

    @waly_de said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                                                                                                                //*************************************************************                                                                                                                                                                            // Tibber Modul                                                                                                                                                                            //*************************************************************                                                                                                                                                                            // Schaltet die Regelung der Powerstation ab, wenn der Strom billig ist                                                                                                                                                                             // und einen beliebigen Schalter zum Aktivieren der AC-Ladung ein, bis die Batterie                                                                                                                                                                             // den durch der "BatMax" festgelegten Ladestand in % erreicht hat                                                                                                                                                                            //                                                                                                                                                                             // Diese Parameter aus dem Hauptscript sind wichtig:                                                                                                                                                                            // RegulationOffPower: -2 // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus)                                                                                                                                                                            // RegulationState: "Regulate" // Erzeugt der State zum Ein und Aus-Schalten der Regulation.                                                                                                                                                                            //                                                                                                                                                                            // Das Script versucht selbst die ID's für den TibberStatus und den Batteriestand zu ermitteln.                                                                                                                                                                            // Wenn das nicht klappt bitte einfach die richtigen ID's hinter "batSocID" und "tibberID" angeben.                                                                                                                                                                            //                                                                                                                                                                            //*************************************************************                                                                                                                                                                                                                                                                                                                                                         //*************************************************************                                                                                                                                                                            // Konfiguration laden, wenn nicht im Originalscript eingefügt                                                                                                                                                                            //*************************************************************                                                                                                                                                                            var ConfigData = {                                                                                                                                                                                statesPrefix: '0_userdata.0.ecoflow',                                                                                                                                                                                RegulationState: "Regulate"                                                                                                                                                                            }                                                                                                                                                                            if (typeof ConfigData.email === 'undefined') {                                                                                                                                                                                if (getState("0_userdata.0.ecoflow.Settings.ConfigData").val.email !== undefined) {                                                                                                                                                                                    ConfigData = getState("0_userdata.0.ecoflow.Settings.ConfigData").val;                                                                                                                                                                                }                                                                                                                                                                            }                                                                                                                                                                                                                                                                                                                                                         /***************************************                                                                                                                                                                            **********  YOUR DATA HERE  ************                                                                                                                                                                             ****************************************/                                                                                                                                                                            var tibberConfig = {                                                                                                                                                                                BatMax: 99,                                  //Bei diesem Ladestand stoppt die AC-Ladung und das Script wird wieder eingeschaltet                                                                                                                                                                                 BatMin: 95,                                  //Der Ladestand der Batterie muss kleiner sein als BatMin , damit der Akku per AC-Ladung geladen wird                                                                                                                                                                                 SwitchID: "sonoff.0.NOUS-DVES_F0A844.POWER", //ID des Schalters, der die AC-Ladung einschaltet. "true" und "false" werden gesetzt                                                                                                                                                                                LevelToSwitch: [                             //Hier die Werte definieren, bei denen die AC-Ladung eingeschaltet werden soll                                                                                                                                                                                    //"NORMAL",                                                                                                                                                                                    "CHEAP",                                 //Einkommentieren falls gewüscht                                                                                                                                                                                     "VERY_CHEAP"                                                                                                                                                                                ],                                                                                                                                                                            }                                                                                                                                                                            //***************************************/                                                                                                                                                                            // Nur angeben, wenn automatische Ermittlung fehlschlägt                                                                                                                                                                            //***************************************/                                                                                                                                                                            let batSocID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID").val                                                                                                                                                                            let tibberID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID").val                                                                                                                                                                            //***************************************/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      var idOK = false                                                                                                                                                                            if (!batSocID || !tibberID) {                                                                                                                                                                                log("Versuche die IDs für Tibber und Batterielevel zu finden")                                                                                                                                                                                $("tibberlink.*.Homes.*.CurrentPrice.level").each(function (id, i) {                                                                                                                                                                                    tibberID = id                                                                                                                                                                                    createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID", tibberID, false)                                                                                                                                                                                    log("TibberID gefunden und gespeichert:" + id)                                                                                                                                                                                })                                                                                                                                                                                $(ConfigData.statesPrefix + ".app_device_property_*.data.InverterHeartbeat.batSoc").each(function (id, i) {                                                                                                                                                                                    if (getState(id).val > 0) {                                                                                                                                                                                        batSocID = id                                                                                                                                                                                        createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID", batSocID, false)                                                                                                                                                                                        log("batSocID gefunden und gespeichert:" + id)                                                                                                                                                                                    }                                                                                                                                                                                })                                                                                                                                                                                if (!batSocID || !tibberID) {                                                                                                                                                                                    log("Fehler bei der Ermittlung der IDs. Bitte händisch ins Script eintragen", 'error')                                                                                                                                                                                } else {                                                                                                                                                                                    idOK = true                                                                                                                                                                                }                                                                                                                                                                            } else {                                                                                                                                                                                idOK = true                                                                                                                                                                            }                                                                                                                                                                            if (idOK) {                                                                                                                                                                                checkTibber()                                                                                                                                                                                on({ id: tibberID, change: "ne" }, function (obj) {                                                                                                                                                                                    //log("Tibber Modul. tibberID Event:" + obj.state.val)                                                                                                                                                                                    checkTibber()                                                                                                                                                                                });                                                                                                                                                                                on({ id: batSocID, change: "ne" }, function (obj) {                                                                                                                                                                                    //log("Tibber Modul. batSocID Event:" + obj.state.val + "%")                                                                                                                                                                                    checkTibber()                                                                                                                                                                                });                                                                                                                                                                            }                                                                                                                                                                            function checkTibber() {                                                                                                                                                                                if (tibberID && batSocID) {                                                                                                                                                                                    const RegulateID = ConfigData.statesPrefix + "." + ConfigData.RegulationState                                                                                                                                                                                    let priceLevel = getState(tibberID).val;                                                                                                                                                                                    let batsoc = Number(getState(batSocID).val)                                                                                                                                                                                    let OldRegulate = toBoolean(getState(RegulateID).val)                                                                                                                                                                                    //log("Tibber Preislevel: " + priceLevel + " OldRegulate: " + OldRegulate + " batsoc: " + (batsoc))                                                                                                                                                                                    if ((tibberConfig.LevelToSwitch.includes(priceLevel))) {                                                                                                                                                                                        if (OldRegulate) {                                                                                                                                                                                            if (batsoc <= tibberConfig.BatMin) {                                                                                                                                                                                                setState(RegulateID, false);  // Regulierung aus                                                                                                                                                                                                setState(tibberConfig.SwitchID, true) //Schalter einschalten                                                                                                                                                                                                log("Script abgeschaltet AC-Ladung Ein, weil priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                            }                                                                                                                                                                                        } else {                                                                                                                                                                                            if (batsoc >= tibberConfig.BatMax) {                                                                                                                                                                                                setState(RegulateID, true);  // Regulierung an                                                                                                                                                                                                setState(tibberConfig.SwitchID, false) //Schalter ausschalten                                                                                                                                                                                                log(" Batterie bei BatMax. Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                            }                                                                                                                                                                                        }                                                                                                                                                                                    } else {                                                                                                                                                                                        if (!OldRegulate) {                                                                                                                                                                                            setState(RegulateID, true);  // Regulierung an                                                                                                                                                                                            setState(tibberConfig.SwitchID, false) //Schalter ausschalten                                                                                                                                                                                            log("Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                        }                                                                                                                                                                                    }                                                                                                                                                                                } else {                                                                                                                                                                                    //log("checkTibber skip. batsocID und/oder tibberID fehlen.")                                                                                                                                                                                }                                                                                                                                                                            }                                                                                                                                                                            //*************************************************************                                            
    

    Ich bekomme hier den Fehler angezeigt:

    javascript.0 (52431) script.js.Ecoflow-Tibber: TypeError: Cannot read properties of null (reading 'email')
    07:11:14.323	error	javascript.0 (52431) at script.js.Ecoflow-Tibber:25:65
    07:11:14.324	error	javascript.0 (52431) at script.js.Ecoflow-Tibber:119:3
    

    Was kann ich da machen?

    ioBroker
    Tibber
    Ecoflow Powerstream & Delta Max 2000

    W K 2 Replies Last reply
    0
    • K karo2204

      @waly_de said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                                                                                                                  //*************************************************************                                                                                                                                                                            // Tibber Modul                                                                                                                                                                            //*************************************************************                                                                                                                                                                            // Schaltet die Regelung der Powerstation ab, wenn der Strom billig ist                                                                                                                                                                             // und einen beliebigen Schalter zum Aktivieren der AC-Ladung ein, bis die Batterie                                                                                                                                                                             // den durch der "BatMax" festgelegten Ladestand in % erreicht hat                                                                                                                                                                            //                                                                                                                                                                             // Diese Parameter aus dem Hauptscript sind wichtig:                                                                                                                                                                            // RegulationOffPower: -2 // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus)                                                                                                                                                                            // RegulationState: "Regulate" // Erzeugt der State zum Ein und Aus-Schalten der Regulation.                                                                                                                                                                            //                                                                                                                                                                            // Das Script versucht selbst die ID's für den TibberStatus und den Batteriestand zu ermitteln.                                                                                                                                                                            // Wenn das nicht klappt bitte einfach die richtigen ID's hinter "batSocID" und "tibberID" angeben.                                                                                                                                                                            //                                                                                                                                                                            //*************************************************************                                                                                                                                                                                                                                                                                                                                                         //*************************************************************                                                                                                                                                                            // Konfiguration laden, wenn nicht im Originalscript eingefügt                                                                                                                                                                            //*************************************************************                                                                                                                                                                            var ConfigData = {                                                                                                                                                                                statesPrefix: '0_userdata.0.ecoflow',                                                                                                                                                                                RegulationState: "Regulate"                                                                                                                                                                            }                                                                                                                                                                            if (typeof ConfigData.email === 'undefined') {                                                                                                                                                                                if (getState("0_userdata.0.ecoflow.Settings.ConfigData").val.email !== undefined) {                                                                                                                                                                                    ConfigData = getState("0_userdata.0.ecoflow.Settings.ConfigData").val;                                                                                                                                                                                }                                                                                                                                                                            }                                                                                                                                                                                                                                                                                                                                                         /***************************************                                                                                                                                                                            **********  YOUR DATA HERE  ************                                                                                                                                                                             ****************************************/                                                                                                                                                                            var tibberConfig = {                                                                                                                                                                                BatMax: 99,                                  //Bei diesem Ladestand stoppt die AC-Ladung und das Script wird wieder eingeschaltet                                                                                                                                                                                 BatMin: 95,                                  //Der Ladestand der Batterie muss kleiner sein als BatMin , damit der Akku per AC-Ladung geladen wird                                                                                                                                                                                 SwitchID: "sonoff.0.NOUS-DVES_F0A844.POWER", //ID des Schalters, der die AC-Ladung einschaltet. "true" und "false" werden gesetzt                                                                                                                                                                                LevelToSwitch: [                             //Hier die Werte definieren, bei denen die AC-Ladung eingeschaltet werden soll                                                                                                                                                                                    //"NORMAL",                                                                                                                                                                                    "CHEAP",                                 //Einkommentieren falls gewüscht                                                                                                                                                                                     "VERY_CHEAP"                                                                                                                                                                                ],                                                                                                                                                                            }                                                                                                                                                                            //***************************************/                                                                                                                                                                            // Nur angeben, wenn automatische Ermittlung fehlschlägt                                                                                                                                                                            //***************************************/                                                                                                                                                                            let batSocID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID").val                                                                                                                                                                            let tibberID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID").val                                                                                                                                                                            //***************************************/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      var idOK = false                                                                                                                                                                            if (!batSocID || !tibberID) {                                                                                                                                                                                log("Versuche die IDs für Tibber und Batterielevel zu finden")                                                                                                                                                                                $("tibberlink.*.Homes.*.CurrentPrice.level").each(function (id, i) {                                                                                                                                                                                    tibberID = id                                                                                                                                                                                    createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID", tibberID, false)                                                                                                                                                                                    log("TibberID gefunden und gespeichert:" + id)                                                                                                                                                                                })                                                                                                                                                                                $(ConfigData.statesPrefix + ".app_device_property_*.data.InverterHeartbeat.batSoc").each(function (id, i) {                                                                                                                                                                                    if (getState(id).val > 0) {                                                                                                                                                                                        batSocID = id                                                                                                                                                                                        createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID", batSocID, false)                                                                                                                                                                                        log("batSocID gefunden und gespeichert:" + id)                                                                                                                                                                                    }                                                                                                                                                                                })                                                                                                                                                                                if (!batSocID || !tibberID) {                                                                                                                                                                                    log("Fehler bei der Ermittlung der IDs. Bitte händisch ins Script eintragen", 'error')                                                                                                                                                                                } else {                                                                                                                                                                                    idOK = true                                                                                                                                                                                }                                                                                                                                                                            } else {                                                                                                                                                                                idOK = true                                                                                                                                                                            }                                                                                                                                                                            if (idOK) {                                                                                                                                                                                checkTibber()                                                                                                                                                                                on({ id: tibberID, change: "ne" }, function (obj) {                                                                                                                                                                                    //log("Tibber Modul. tibberID Event:" + obj.state.val)                                                                                                                                                                                    checkTibber()                                                                                                                                                                                });                                                                                                                                                                                on({ id: batSocID, change: "ne" }, function (obj) {                                                                                                                                                                                    //log("Tibber Modul. batSocID Event:" + obj.state.val + "%")                                                                                                                                                                                    checkTibber()                                                                                                                                                                                });                                                                                                                                                                            }                                                                                                                                                                            function checkTibber() {                                                                                                                                                                                if (tibberID && batSocID) {                                                                                                                                                                                    const RegulateID = ConfigData.statesPrefix + "." + ConfigData.RegulationState                                                                                                                                                                                    let priceLevel = getState(tibberID).val;                                                                                                                                                                                    let batsoc = Number(getState(batSocID).val)                                                                                                                                                                                    let OldRegulate = toBoolean(getState(RegulateID).val)                                                                                                                                                                                    //log("Tibber Preislevel: " + priceLevel + " OldRegulate: " + OldRegulate + " batsoc: " + (batsoc))                                                                                                                                                                                    if ((tibberConfig.LevelToSwitch.includes(priceLevel))) {                                                                                                                                                                                        if (OldRegulate) {                                                                                                                                                                                            if (batsoc <= tibberConfig.BatMin) {                                                                                                                                                                                                setState(RegulateID, false);  // Regulierung aus                                                                                                                                                                                                setState(tibberConfig.SwitchID, true) //Schalter einschalten                                                                                                                                                                                                log("Script abgeschaltet AC-Ladung Ein, weil priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                            }                                                                                                                                                                                        } else {                                                                                                                                                                                            if (batsoc >= tibberConfig.BatMax) {                                                                                                                                                                                                setState(RegulateID, true);  // Regulierung an                                                                                                                                                                                                setState(tibberConfig.SwitchID, false) //Schalter ausschalten                                                                                                                                                                                                log(" Batterie bei BatMax. Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                            }                                                                                                                                                                                        }                                                                                                                                                                                    } else {                                                                                                                                                                                        if (!OldRegulate) {                                                                                                                                                                                            setState(RegulateID, true);  // Regulierung an                                                                                                                                                                                            setState(tibberConfig.SwitchID, false) //Schalter ausschalten                                                                                                                                                                                            log("Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                        }                                                                                                                                                                                    }                                                                                                                                                                                } else {                                                                                                                                                                                    //log("checkTibber skip. batsocID und/oder tibberID fehlen.")                                                                                                                                                                                }                                                                                                                                                                            }                                                                                                                                                                            //*************************************************************                                            
      

      Ich bekomme hier den Fehler angezeigt:

      javascript.0 (52431) script.js.Ecoflow-Tibber: TypeError: Cannot read properties of null (reading 'email')
      07:11:14.323	error	javascript.0 (52431) at script.js.Ecoflow-Tibber:25:65
      07:11:14.324	error	javascript.0 (52431) at script.js.Ecoflow-Tibber:119:3
      

      Was kann ich da machen?

      W Offline
      W Offline
      Waly_de
      wrote on last edited by Waly_de
      #742

      @karo2204

      sorry... mein Fehler. Hier der Fix:

      Modul Quelltext ist jetzt im Eingansbeitrag 
      
      K 2 Replies Last reply
      0
      • W Waly_de

        @karo2204

        sorry... mein Fehler. Hier der Fix:

        Modul Quelltext ist jetzt im Eingansbeitrag 
        
        K Offline
        K Offline
        karo2204
        wrote on last edited by
        #743

        @waly_de said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                                                                                                                    //*************************************************************                                                                                                                                                                            // Tibber Modul                                                                                                                                                                            //*************************************************************                                                                                                                                                                            // Schaltet die Regelung der Powerstation ab, wenn der Strom billig ist                                                                                                                                                                             // und einen beliebigen Schalter zum Aktivieren der AC-Ladung ein, bis die Batterie                                                                                                                                                                             // den durch der "BatMax" festgelegten Ladestand in % erreicht hat                                                                                                                                                                            //                                                                                                                                                                             // Diese Parameter aus dem Hauptscript sind wichtig:                                                                                                                                                                            // RegulationOffPower: -2 // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus)                                                                                                                                                                            // RegulationState: "Regulate" // Erzeugt der State zum Ein und Aus-Schalten der Regulation.                                                                                                                                                                            //                                                                                                                                                                            // Das Script versucht selbst die ID's für den TibberStatus und den Batteriestand zu ermitteln.                                                                                                                                                                            // Wenn das nicht klappt bitte einfach die richtigen ID's hinter "batSocID" und "tibberID" angeben.                                                                                                                                                                            //                                                                                                                                                                            //*************************************************************                                                                                                                                                                                                                                                                                                                                                         //*************************************************************                                                                                                                                                                            // Konfiguration laden, wenn nicht im Originalscript eingefügt                                                                                                                                                                            //*************************************************************                                                                                                                                                                            var ConfigData = {                                                                                                                                                                                statesPrefix: '0_userdata.0.ecoflow',                                                                                                                                                                                RegulationState: "Regulate"                                                                                                                                                                            }                                                                                                                                                                            if (typeof ConfigData.email === 'undefined') {                                                                                                                                                                                const tempConfigData = getState("0_userdata.0.ecoflow.Settings.ConfigData").val                                                                                                                                                                                if (typeof tempConfigData === 'object' && tempConfigData !== null) {                                                                                                                                                                                    if (tempConfigData.email !== undefined) {                                                                                                                                                                                        ConfigData = tempConfigData;                                                                                                                                                                                    }                                                                                                                                                                                }                                                                                                                                                                            }                                                                                                                                                                                                                                                                                                                                                         /***************************************                                                                                                                                                                            **********  YOUR DATA HERE  ************                                                                                                                                                                             ****************************************/                                                                                                                                                                            var tibberConfig = {                                                                                                                                                                                BatMax: 99,                                  //Bei diesem Ladestand stoppt die AC-Ladung und das Script wird wieder eingeschaltet                                                                                                                                                                                 BatMin: 95,                                  //Der Ladestand der Batterie muss kleiner sein als BatMin , damit der Akku per AC-Ladung geladen wird                                                                                                                                                                                 SwitchID: "sonoff.0.NOUS-DVES_F0A844.POWER", //ID des Schalters, der die AC-Ladung einschaltet. "true" und "false" werden gesetzt                                                                                                                                                                                LevelToSwitch: [                             //Hier die Werte definieren, bei denen die AC-Ladung eingeschaltet werden soll                                                                                                                                                                                    //"NORMAL",                                                                                                                                                                                    "CHEAP",                                 //Einkommentieren falls gewüscht                                                                                                                                                                                     "VERY_CHEAP"                                                                                                                                                                                ],                                                                                                                                                                            }                                                                                                                                                                            //***************************************/                                                                                                                                                                            // Nur angeben, wenn automatische Ermittlung fehlschlägt                                                                                                                                                                            //***************************************/                                                                                                                                                                            let batSocID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID").val                                                                                                                                                                            let tibberID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID").val                                                                                                                                                                            //***************************************/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      var idOK = false                                                                                                                                                                            if (!batSocID || !tibberID) {                                                                                                                                                                                log("Versuche die IDs für Tibber und Batterielevel zu finden")                                                                                                                                                                                $("tibberlink.*.Homes.*.CurrentPrice.level").each(function (id, i) {                                                                                                                                                                                    tibberID = id                                                                                                                                                                                    createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID", tibberID, false)                                                                                                                                                                                    log("TibberID gefunden und gespeichert:" + id)                                                                                                                                                                                })                                                                                                                                                                                $(ConfigData.statesPrefix + ".app_device_property_*.data.InverterHeartbeat.batSoc").each(function (id, i) {                                                                                                                                                                                    if (getState(id).val > 0) {                                                                                                                                                                                        batSocID = id                                                                                                                                                                                        createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID", batSocID, false)                                                                                                                                                                                        log("batSocID gefunden und gespeichert:" + id)                                                                                                                                                                                    }                                                                                                                                                                                })                                                                                                                                                                                if (!batSocID || !tibberID) {                                                                                                                                                                                    log("Fehler bei der Ermittlung der IDs. Bitte händisch ins Script eintragen", 'error')                                                                                                                                                                                } else {                                                                                                                                                                                    idOK = true                                                                                                                                                                                }                                                                                                                                                                            } else {                                                                                                                                                                                idOK = true                                                                                                                                                                            }                                                                                                                                                                            if (idOK) {                                                                                                                                                                                checkTibber()                                                                                                                                                                                on({ id: tibberID, change: "ne" }, function (obj) {                                                                                                                                                                                    //log("Tibber Modul. tibberID Event:" + obj.state.val)                                                                                                                                                                                    checkTibber()                                                                                                                                                                                });                                                                                                                                                                                on({ id: batSocID, change: "ne" }, function (obj) {                                                                                                                                                                                    //log("Tibber Modul. batSocID Event:" + obj.state.val + "%")                                                                                                                                                                                    checkTibber()                                                                                                                                                                                });                                                                                                                                                                            }                                                                                                                                                                            function checkTibber() {                                                                                                                                                                                if (tibberID && batSocID) {                                                                                                                                                                                    const RegulateID = ConfigData.statesPrefix + "." + ConfigData.RegulationState                                                                                                                                                                                    let priceLevel = getState(tibberID).val;                                                                                                                                                                                    let batsoc = Number(getState(batSocID).val)                                                                                                                                                                                    let OldRegulate = toBoolean(getState(RegulateID).val)                                                                                                                                                                                    //log("Tibber Preislevel: " + priceLevel + " OldRegulate: " + OldRegulate + " batsoc: " + (batsoc))                                                                                                                                                                                    if ((tibberConfig.LevelToSwitch.includes(priceLevel))) {                                                                                                                                                                                        if (OldRegulate) {                                                                                                                                                                                            if (batsoc <= tibberConfig.BatMin) {                                                                                                                                                                                                setState(RegulateID, false);  // Regulierung aus                                                                                                                                                                                                setState(tibberConfig.SwitchID, true) //Schalter einschalten                                                                                                                                                                                                log("Script abgeschaltet AC-Ladung Ein, weil priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                            }                                                                                                                                                                                        } else {                                                                                                                                                                                            if (batsoc >= tibberConfig.BatMax) {                                                                                                                                                                                                setState(RegulateID, true);  // Regulierung an                                                                                                                                                                                                setState(tibberConfig.SwitchID, false) //Schalter ausschalten                                                                                                                                                                                                log(" Batterie bei BatMax. Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                            }                                                                                                                                                                                        }                                                                                                                                                                                    } else {                                                                                                                                                                                        if (!OldRegulate) {                                                                                                                                                                                            setState(RegulateID, true);  // Regulierung an                                                                                                                                                                                            setState(tibberConfig.SwitchID, false) //Schalter ausschalten                                                                                                                                                                                            log("Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")                                                                                                                                                                                        }                                                                                                                                                                                    }                                                                                                                                                                                } else {                                                                                                                                                                                    //log("checkTibber skip. batsocID und/oder tibberID fehlen.")                                                                                                                                                                                }                                                                                                                                                                            }                                                                                                                                                                            //*************************************************************                                            
        

        Schaut gut aus. Danke Dir. Hat nicht gemeckert.

        ioBroker
        Tibber
        Ecoflow Powerstream & Delta Max 2000

        1 Reply Last reply
        0
        • S Offline
          S Offline
          sirdir
          wrote on last edited by sirdir
          #744

          Es ist schon seltsam. Die 1.1.6.1 funktioniert jeden Tag bis 1 Uhr wo ich die Batterie wieder auflade und nix einspeise, aber morgens um 7 wo wieder eingespeist werden sollte tut das script einfach nix mehr. Ein Neustart hilft nix, aber wenn ch das alte Script starte funktioniert’s und wenn ich dann zum 1.1.6.1 zurück gehe geht das auch wieder… Hab jetzt endlich gesehen was die mlog funktion tut und kann das vielleicht morgen anschauen… wobei ich keine Lust habe da wieder um 7 rumzudebuggen, vielleicht lass ich das alte Script laufen…
          Aber um noch etwas sinnvolles beizutragen, da noch niemand davon geschrieben hat und Waly das Update ja vielleicht nicht bekommen hat, wer weiss. Es gibt die neue Funktion ‘Feed-in control’, die festlegt, ob bei vollem Akku die ganze Solarleistung eingespeist werden soll (control off) oder nur was eingestellt ist (control on):

          Feed-in control off:

          - warn: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nicht definierter cmd_func-Wert. [PowerStream] cmdId:143 cmdFunc:20
          2023-11-04 11:48:31.052  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: hexString: 0a36102018352001280138034014488f01580170daaecbcf01800113880101ba0103696f73ca0110xx
          2023-11-04 11:48:31.053  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nachricht: {"header":[{"src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":143,"needAck":1,"seq":435345242,"version":19,"payloadVer":1,"from":"ios","deviceSn":"x"}]}
          

          Feed in control ein:

          2023-11-04 11:48:33.140  - warn: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nicht definierter cmd_func-Wert. [PowerStream] cmdId:143 cmdFunc:20
          2023-11-04 11:48:33.141  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: hexString: 0a3c0a020801102018352001280138034014488f015002580170afbfcbcf01800113880101ba0103696f73ca0110xx
          2023-11-04 11:48:33.142  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nachricht: {"header":[{"pdata":"0801","src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":143,"dataLen":2,"needAck":1,"seq":435347375,"version":19,"payloadVer":1,"from":"ios","deviceSn":"x"}]
          
          
          F W 2 Replies Last reply
          1
          • F Away
            F Away
            foxthefox
            Developer
            wrote on last edited by
            #745

            @sirdir
            Das scheint mit der neuen Version 1.0.3.45 gekommen zu sein.
            Jetzt müsste man nur noch herausfinden wo dieser neue Wert im protobuf steckt :-(
            Sonst weiß man ja wieder mal nicht wie der derzeitige Zustand ist.

            Adapterüberblick: Profil Github;

            Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

            Ein Aufruf: video

            1 Reply Last reply
            0
            • S sirdir

              Es ist schon seltsam. Die 1.1.6.1 funktioniert jeden Tag bis 1 Uhr wo ich die Batterie wieder auflade und nix einspeise, aber morgens um 7 wo wieder eingespeist werden sollte tut das script einfach nix mehr. Ein Neustart hilft nix, aber wenn ch das alte Script starte funktioniert’s und wenn ich dann zum 1.1.6.1 zurück gehe geht das auch wieder… Hab jetzt endlich gesehen was die mlog funktion tut und kann das vielleicht morgen anschauen… wobei ich keine Lust habe da wieder um 7 rumzudebuggen, vielleicht lass ich das alte Script laufen…
              Aber um noch etwas sinnvolles beizutragen, da noch niemand davon geschrieben hat und Waly das Update ja vielleicht nicht bekommen hat, wer weiss. Es gibt die neue Funktion ‘Feed-in control’, die festlegt, ob bei vollem Akku die ganze Solarleistung eingespeist werden soll (control off) oder nur was eingestellt ist (control on):

              Feed-in control off:

              - warn: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nicht definierter cmd_func-Wert. [PowerStream] cmdId:143 cmdFunc:20
              2023-11-04 11:48:31.052  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: hexString: 0a36102018352001280138034014488f01580170daaecbcf01800113880101ba0103696f73ca0110xx
              2023-11-04 11:48:31.053  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nachricht: {"header":[{"src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":143,"needAck":1,"seq":435345242,"version":19,"payloadVer":1,"from":"ios","deviceSn":"x"}]}
              

              Feed in control ein:

              2023-11-04 11:48:33.140  - warn: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nicht definierter cmd_func-Wert. [PowerStream] cmdId:143 cmdFunc:20
              2023-11-04 11:48:33.141  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: hexString: 0a3c0a020801102018352001280138034014488f015002580170afbfcbcf01800113880101ba0103696f73ca0110xx
              2023-11-04 11:48:33.142  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nachricht: {"header":[{"pdata":"0801","src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":143,"dataLen":2,"needAck":1,"seq":435347375,"version":19,"payloadVer":1,"from":"ios","deviceSn":"x"}]
              
              
              F Away
              F Away
              foxthefox
              Developer
              wrote on last edited by
              #746

              @sirdir
              kannst du den originalen hex string mal durch https://protobuf-decoder.netlify.app entschlüsseln.
              Was kommt dort für die erste Stelle?
              0801 ist ein komischer Wert

              Adapterüberblick: Profil Github;

              Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

              Ein Aufruf: video

              W 1 Reply Last reply
              0
              • S sirdir

                Es ist schon seltsam. Die 1.1.6.1 funktioniert jeden Tag bis 1 Uhr wo ich die Batterie wieder auflade und nix einspeise, aber morgens um 7 wo wieder eingespeist werden sollte tut das script einfach nix mehr. Ein Neustart hilft nix, aber wenn ch das alte Script starte funktioniert’s und wenn ich dann zum 1.1.6.1 zurück gehe geht das auch wieder… Hab jetzt endlich gesehen was die mlog funktion tut und kann das vielleicht morgen anschauen… wobei ich keine Lust habe da wieder um 7 rumzudebuggen, vielleicht lass ich das alte Script laufen…
                Aber um noch etwas sinnvolles beizutragen, da noch niemand davon geschrieben hat und Waly das Update ja vielleicht nicht bekommen hat, wer weiss. Es gibt die neue Funktion ‘Feed-in control’, die festlegt, ob bei vollem Akku die ganze Solarleistung eingespeist werden soll (control off) oder nur was eingestellt ist (control on):

                Feed-in control off:

                - warn: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nicht definierter cmd_func-Wert. [PowerStream] cmdId:143 cmdFunc:20
                2023-11-04 11:48:31.052  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: hexString: 0a36102018352001280138034014488f01580170daaecbcf01800113880101ba0103696f73ca0110xx
                2023-11-04 11:48:31.053  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nachricht: {"header":[{"src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":143,"needAck":1,"seq":435345242,"version":19,"payloadVer":1,"from":"ios","deviceSn":"x"}]}
                

                Feed in control ein:

                2023-11-04 11:48:33.140  - warn: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nicht definierter cmd_func-Wert. [PowerStream] cmdId:143 cmdFunc:20
                2023-11-04 11:48:33.141  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: hexString: 0a3c0a020801102018352001280138034014488f015002580170afbfcbcf01800113880101ba0103696f73ca0110xx
                2023-11-04 11:48:33.142  - info: javascript.0 (457337) script.js.Powerstream_v1_1_6_1: Nachricht: {"header":[{"pdata":"0801","src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":143,"dataLen":2,"needAck":1,"seq":435347375,"version":19,"payloadVer":1,"from":"ios","deviceSn":"x"}]
                
                
                W Offline
                W Offline
                Waly_de
                wrote on last edited by
                #747

                @sirdir sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                Es ist schon seltsam. Die 1.1.6.1 funktioniert jeden Tag bis 1 Uhr wo ich die Batterie wieder auflade und nix einspeise, aber morgens um 7 wo wieder eingespeist werden sollte tut das script einfach nix mehr. Ein Neustart hilft nix, aber wenn ch das alte Script starte funktioniert’s und wenn ich dann zum 1.1.6.1 zurück gehe geht das auch wieder… Hab jetzt endlich gesehen was die mlog funktion tut und kann das vielleicht morgen anschauen… wobei ich keine Lust habe da wieder um 7 rumzudebuggen, vielleicht lass ich das alte Script laufen…

                Das Problem hat bisher keiner reportet. Du sagst du lädst um 1. stellst du dann das script mit regulate state ab? Keine Meldungen im Log?

                @sirdir sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                Aber um noch etwas sinnvolles beizutragen, da noch niemand davon geschrieben hat und Waly das Update ja vielleicht nicht bekommen hat, wer weiss. Es gibt die neue Funktion ‘Feed-in control’, die festlegt, ob bei vollem Akku die ganze Solarleistung eingespeist werden soll (control off) oder nur was eingestellt ist (control on):

                Oh, cool. Nein, ich hab das Update nicht bekommen. 0801 als payload? Das ist wirklich schräg.... ich bau es mal in die Writeables...

                S 1 Reply Last reply
                0
                • F foxthefox

                  @sirdir
                  kannst du den originalen hex string mal durch https://protobuf-decoder.netlify.app entschlüsseln.
                  Was kommt dort für die erste Stelle?
                  0801 ist ein komischer Wert

                  W Offline
                  W Offline
                  Waly_de
                  wrote on last edited by
                  #748

                  @foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                  0801 ist ein komischer Wert

                  ach Quatsch... jetzt fällt es mir wieder ein. Der Payload ist ja auch protobuf codiert.... das ist ein HEXString und heisst einfach value:1

                  F 1 Reply Last reply
                  0
                  • W Waly_de

                    @foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                    0801 ist ein komischer Wert

                    ach Quatsch... jetzt fällt es mir wieder ein. Der Payload ist ja auch protobuf codiert.... das ist ein HEXString und heisst einfach value:1

                    F Away
                    F Away
                    foxthefox
                    Developer
                    wrote on last edited by
                    #749

                    @waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                    @foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                    0801 ist ein komischer Wert

                    ach Quatsch... jetzt fällt es mir wieder ein. Der Payload ist ja auch protobuf codiert.... das ist ein HEXString und heisst einfach value:1

                    ich bin beruhigt :-)

                    Adapterüberblick: Profil Github;

                    Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

                    Ein Aufruf: video

                    W 1 Reply Last reply
                    1
                    • F foxthefox

                      @waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                      @foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                      0801 ist ein komischer Wert

                      ach Quatsch... jetzt fällt es mir wieder ein. Der Payload ist ja auch protobuf codiert.... das ist ein HEXString und heisst einfach value:1

                      ich bin beruhigt :-)

                      W Offline
                      W Offline
                      Waly_de
                      wrote on last edited by
                      #750

                      @foxthefox Wenn du das im Heartbeat findest, sag bitte bescheid ;-)

                      F 1 Reply Last reply
                      0
                      • W Waly_de

                        @foxthefox Wenn du das im Heartbeat findest, sag bitte bescheid ;-)

                        F Away
                        F Away
                        foxthefox
                        Developer
                        wrote on last edited by
                        #751

                        @waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                        @foxthefox Wenn du das im Heartbeat findest, sag bitte bescheid ;-)

                        das war einfach, ist auf Position 61 vom inverter_heartbeat :muscle:

                        Adapterüberblick: Profil Github;

                        Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

                        Ein Aufruf: video

                        W 1 Reply Last reply
                        1
                        • F foxthefox

                          @waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                          @foxthefox Wenn du das im Heartbeat findest, sag bitte bescheid ;-)

                          das war einfach, ist auf Position 61 vom inverter_heartbeat :muscle:

                          W Offline
                          W Offline
                          Waly_de
                          wrote on last edited by Waly_de
                          #752

                          @foxthefox wie nennen wir es ?.... "FeedInControl" oder besser "feed_in_control" damit es zu den anderen passt ?

                          F 1 Reply Last reply
                          0
                          • W Waly_de

                            @foxthefox wie nennen wir es ?.... "FeedInControl" oder besser "feed_in_control" damit es zu den anderen passt ?

                            F Away
                            F Away
                            foxthefox
                            Developer
                            wrote on last edited by
                            #753

                            @waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                            @foxthefox wie nennen wir es ?.... "FeedInControl" ?

                            Ich denke "feedPriority" trifft es ganz gut, ähnlich zu "supplyPriority"
                            0-prio auf alle Sonne in Leistung
                            1-prio auf festgelegte Leistung

                            Adapterüberblick: Profil Github;

                            Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

                            Ein Aufruf: video

                            W 1 Reply Last reply
                            0
                            • F foxthefox

                              @waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                              @foxthefox wie nennen wir es ?.... "FeedInControl" ?

                              Ich denke "feedPriority" trifft es ganz gut, ähnlich zu "supplyPriority"
                              0-prio auf alle Sonne in Leistung
                              1-prio auf festgelegte Leistung

                              W Offline
                              W Offline
                              Waly_de
                              wrote on last edited by
                              #754

                              @foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                              Ich denke "feedPriority" trifft es ganz gut, ähnlich zu "supplyPriority"

                              ich schreib jetzt feed_priority in die Definition ... das ist dann im Format konsistent.

                              Super Danke :+1:

                              W 1 Reply Last reply
                              0
                              • W Waly_de

                                @foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                Ich denke "feedPriority" trifft es ganz gut, ähnlich zu "supplyPriority"

                                ich schreib jetzt feed_priority in die Definition ... das ist dann im Format konsistent.

                                Super Danke :+1:

                                W Offline
                                W Offline
                                Waly_de
                                wrote on last edited by Waly_de
                                #755

                                Neue Version:

                                  • (1.1.6.2) 4.11.2023
                                  • Neues PowerStream-Writeable "feed_priority" eingebaut 0: Wenn Batt voll, alle PV-Power einspeisen 1: Nur was eingestellt ist
                                  • Konfiguration wird jetzt für Module in einem State unter Settings gespeichert

                                ecoflow-connector_v1162_04.11.2023.txt

                                1 Reply Last reply
                                0
                                • W Waly_de

                                  @sirdir sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                  Es ist schon seltsam. Die 1.1.6.1 funktioniert jeden Tag bis 1 Uhr wo ich die Batterie wieder auflade und nix einspeise, aber morgens um 7 wo wieder eingespeist werden sollte tut das script einfach nix mehr. Ein Neustart hilft nix, aber wenn ch das alte Script starte funktioniert’s und wenn ich dann zum 1.1.6.1 zurück gehe geht das auch wieder… Hab jetzt endlich gesehen was die mlog funktion tut und kann das vielleicht morgen anschauen… wobei ich keine Lust habe da wieder um 7 rumzudebuggen, vielleicht lass ich das alte Script laufen…

                                  Das Problem hat bisher keiner reportet. Du sagst du lädst um 1. stellst du dann das script mit regulate state ab? Keine Meldungen im Log?

                                  @sirdir sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                  Aber um noch etwas sinnvolles beizutragen, da noch niemand davon geschrieben hat und Waly das Update ja vielleicht nicht bekommen hat, wer weiss. Es gibt die neue Funktion ‘Feed-in control’, die festlegt, ob bei vollem Akku die ganze Solarleistung eingespeist werden soll (control off) oder nur was eingestellt ist (control on):

                                  Oh, cool. Nein, ich hab das Update nicht bekommen. 0801 als payload? Das ist wirklich schräg.... ich bau es mal in die Writeables...

                                  S Offline
                                  S Offline
                                  sirdir
                                  wrote on last edited by
                                  #756

                                  @waly_de Nein ich änder nichts an deinem Script. Mein ‘Zählersimulator’ meldet einfach zwischen 1 und 7 Uhr, dass nix eingespeist werden muss. Hat immer funktioniert bis ich 1.1.6.1 installiert habe. Kann aber auch Zufall sein… Nein im Log hab ich gar nichts gefunden, aber im Log sieht man ja auch nicht soo viel, wenn logM nicht an ist(warum hast du das eigentlich aufgetrennt mit logM und debug? Debug steuer ich einen externen state, mit logM geht das natürlich nicht. Naja könnte es ja auch ändern im script.

                                  W 1 Reply Last reply
                                  0
                                  • S sirdir

                                    @waly_de Nein ich änder nichts an deinem Script. Mein ‘Zählersimulator’ meldet einfach zwischen 1 und 7 Uhr, dass nix eingespeist werden muss. Hat immer funktioniert bis ich 1.1.6.1 installiert habe. Kann aber auch Zufall sein… Nein im Log hab ich gar nichts gefunden, aber im Log sieht man ja auch nicht soo viel, wenn logM nicht an ist(warum hast du das eigentlich aufgetrennt mit logM und debug? Debug steuer ich einen externen state, mit logM geht das natürlich nicht. Naja könnte es ja auch ändern im script.

                                    W Offline
                                    W Offline
                                    Waly_de
                                    wrote on last edited by
                                    #757

                                    @sirdir mlog war eigentlich nur für mich gedacht, damit ich gezielt Stellen debugen kann, ohne zugemüllt zu werden ;-)

                                    Zu deinem Problem fällt mir so leider nichts mehr ein. Guck halt mal, ob das Script überhaupt noch was macht, oder ob es vielleicht vom Adapter gestoppt wurde.
                                    Mit Debug oder mlog sollte das ja einfach festzustellen sein.

                                    Kannst Du vielleicht mal testen, ob das neue Writeable funktioniert? Ich hab ja leider noch kein Update bekommen.

                                    S 1 Reply Last reply
                                    0
                                    • W Waly_de

                                      @sirdir mlog war eigentlich nur für mich gedacht, damit ich gezielt Stellen debugen kann, ohne zugemüllt zu werden ;-)

                                      Zu deinem Problem fällt mir so leider nichts mehr ein. Guck halt mal, ob das Script überhaupt noch was macht, oder ob es vielleicht vom Adapter gestoppt wurde.
                                      Mit Debug oder mlog sollte das ja einfach festzustellen sein.

                                      Kannst Du vielleicht mal testen, ob das neue Writeable funktioniert? Ich hab ja leider noch kein Update bekommen.

                                      S Offline
                                      S Offline
                                      sirdir
                                      wrote on last edited by
                                      #758

                                      @waly_de ja vielleicht schau ich heut nacht/morgen früh, aber vielleicht bin ich auch zu faul. An gestopptem Script kann's nicht liegen, da ein neustert nicht hilft, seltsamerweise.
                                      Das writeable ist 0_userdata.0.ecoflow.app_device_property_xxx.data.InverterHeartbeat.feedPriority? Oder hab ich was übersehen? Der Status wird korrekt angezeigt, aber wenn ich ihn dort überschreibe ändert sich sich nichts in der App.

                                      W 1 Reply Last reply
                                      0
                                      • S sirdir

                                        @waly_de ja vielleicht schau ich heut nacht/morgen früh, aber vielleicht bin ich auch zu faul. An gestopptem Script kann's nicht liegen, da ein neustert nicht hilft, seltsamerweise.
                                        Das writeable ist 0_userdata.0.ecoflow.app_device_property_xxx.data.InverterHeartbeat.feedPriority? Oder hab ich was übersehen? Der Status wird korrekt angezeigt, aber wenn ich ihn dort überschreibe ändert sich sich nichts in der App.

                                        W Offline
                                        W Offline
                                        Waly_de
                                        wrote on last edited by Waly_de
                                        #759

                                        @sirdir ne die writeables stehen ja unter
                                        0_userdata.0.ecoflow.app_XXXXX_XXXXX_thing_property_set.writeables...

                                        sollte feed_priority heissen

                                        S 1 Reply Last reply
                                        0
                                        • W Waly_de

                                          @sirdir ne die writeables stehen ja unter
                                          0_userdata.0.ecoflow.app_XXXXX_XXXXX_thing_property_set.writeables...

                                          sollte feed_priority heissen

                                          S Offline
                                          S Offline
                                          sirdir
                                          wrote on last edited by
                                          #760

                                          @waly_de d'oh, hab ich nicht gefunden… war aber auch sehr in Eile. Ja, hab's jetzt gesehen, funktioniert.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          736

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe