NEWS
E3DC Hauskraftwerk steuern
-
@smartboart
Ja war bei mir auch so.
Das liegt an der Stündlichen neu Berechnung und das irgendwann die Prognose von der Realität eingeholt wird. Bedeute wenn für den Tag die Prognose z.B. 10 kWh vorhersagt und der tatsächliche PV Ertrag 10 kWh erreicht, ergibt die Berechnung das nur noch 0 kWh zu erwarten sind und das bedeutet Einstellung 1 anwählen.
Habe mir das ganze heute noch mal überlegt und bin zu dem Schluss gekommen das ich einen Denkfehler bei der Aktualisierung hatte.
Eberhards Programm ist so intelligent das es eigentlich nicht viel zu ändern gibt.
Das Script muss nur zwei dinge feststellen , nämlich ob die PV Leistung am Tag ausreicht um die Batterie voll zu laden und ob am Nachmittag schlechtes Wetter ist um die richtige Einstellung zu wählen.
Das wiederum bedeutet das man spätestens bis 10 Uhr, besser bis 9:00 Uhr wissen muss ob die PV Leistung ab 12:00Uhr noch ausreicht um noch was entscheiden zu können.
Alle neu Berechnungen die nach 10:00 Uhr gemacht werden kann man sich somit sparen, denn wenn ich um 11:Uhr durch die Prognose erst mitbekomme das die PV Leistung wegen schlechtem Wetter nicht ausreicht, habe ich bereits bis dahin ins Netz eingespeist.
Werde die letzte Abfrage und Berechnung somit versuchsweise um 10:00 Uhr machen, weil da auch die Proplanta Daten nochmal aktualisiert werden. -
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD heute ist das Skript zwischendurch wieder auf 1 gesprungen..irgendwann nachmittag...
Gibt es noch ein Thema mit der Überschussberechnung?
Wie / Wo startest du die Funktionfunction Ueberschuss_Prozent()
...Kann ich nicht nachvollziehen...
Ueberschuss = Ueberschuss_Prozent();
was macht das
Das ruft die Funktion auf und erhält als Ergebnis den gerundeten Überschuss oder null wenn was nicht berechnet werden kann.
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Ueberschuss = Ueberschuss_Prozent();
was macht das
Das ruft die Funktion auf und erhält als Ergebnis den gerundeten Überschuss oder null wenn was nicht berechnet werden kann.
ok also hier wird sowohl dir Funktion gestartet als auch die Information für die variable Ueberschuss geholt in einer Zeile? war mir nicht bewusst das das geht..wird doch dann auch bei scriptstart ausgeführt oder?
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Ueberschuss = Ueberschuss_Prozent();
was macht das
Das ruft die Funktion auf und erhält als Ergebnis den gerundeten Überschuss oder null wenn was nicht berechnet werden kann.
ok also hier wird sowohl dir Funktion gestartet als auch die Information für die variable Ueberschuss geholt in einer Zeile? war mir nicht bewusst das das geht..wird doch dann auch bei scriptstart ausgeführt oder?
Ja, jedes mal wen die Funktion main() gestartet wird.
Wenn du dir die Funktion Ueberschuss_Prozent() ansiehst ,findest du die Anweisung 'return', damit werden zwei Dinge erreicht:- Es kann an den "Aufrufer" der Funktion ein Ergebnis zurückgegeben werden.
- Die Ausführung der Funktion wird hier beendet.
-
Version 0.2.11 hochgeladen.
Änderungen:
Version: 0.2.11 Es wird geprüft ob die neue Einstellung ungleich der bereits angewählten Einstellung ist. Dadurch wird ein unnötiges Speichern der e3dc-config.txt verhindert, wenn sich an der Einstellung nichts ändert. Letzte Abfrage der Prognosedaten auf 10:20 Uhr geändert. -
@smartboart sagte in E3DC Hauskraftwerk steuern:
Hier wegen der Batterie Kurve die Antwort von e3dc
bitte entschuldigen Sie die späte Antwort.
Sie liegen mit Ihrer Vermutung richtig.
Der kurze Ausfall der Batterien hängt mit dem Fehler in der Software zusammen, die auch den Notstrom kurz abbrechen lässt.Aktuell haben wir noch keine Rückmeldung aus der Entwicklung, wann das Update zur Verfügung steht.
Ihr E3/DC Support Team
Hast du bereits eine Rückmeldung erhalten wie lange es mit dem Update dauert das die Batteriestörung beseitigt ?
Hatte heute das erste mal einen Ausfall der Batterie von 10 min.
-
@ArnoD nein die Antwort oben ist aktuell... Mach bitte ein Ticket auf im Portal und hänge das Bild mit an...je mehr das machen desto größer der Druck...
-
@ArnoD Hey Arno ich habe gestern mal ein wenig manuell herum gespielt und werte manuell geändert und angepasst. Dabei ist mir aufgefallen, dass die Werte im Anschluss dann immer zwischen den neuen und alten Werten in Vis hin und her gesprungen sind. Ist das ein Vis Thema oder liegt es am script...Das hatte ich auch schon in älteren Versionen des skript beobachtet, bevor wir die manuelle Vorwahl eingeführt haben.
Muss nicht am Script liegen.Ich wollte mir das bei Gelegenheit mal genauer anschauen und vlt, hier und da estwas abspecken. Z.B würde ich hier nurn noch auf Proplanta setzen wollen. Das andere liegt bei mir eh meistens daneben.
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD nein die Antwort oben ist aktuell... Mach bitte ein Ticket auf im Portal und hänge das Bild mit an...je mehr das machen desto größer der Druck...
habe ich heute gemacht, bin gespant auf die Antwort.
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD Hey Arno ich habe gestern mal ein wenig manuell herum gespielt und werte manuell geändert und angepasst. Dabei ist mir aufgefallen, dass die Werte im Anschluss dann immer zwischen den neuen und alten Werten in Vis hin und her gesprungen sind. Ist das ein Vis Thema oder liegt es am script...Das hatte ich auch schon in älteren Versionen des skript beobachtet, bevor wir die manuelle Vorwahl eingeführt haben.
Muss nicht am Script liegen.Habe ich noch nicht feststellen können, werde das Morgen mal testen ob es bei mir auch der Fall ist.
Ich wollte mir das bei Gelegenheit mal genauer anschauen und vlt, hier und da estwas abspecken. Z.B würde ich hier nurn noch auf Proplanta setzen wollen. Das andere liegt bei mir eh meistens daneben.
Sehe ich auch so.
Werde das ganze anwählbar machen ob nur Proplanta oder Forecast oder beides. -
Hallo Leute, zurück aus dem Urlaub.
Wie konnte das denn heute passieren? Ich weiß, ich bin noch auf dem alten Stand von vor 2-3 Wochen (Version: 0.2.01), aber vielleicht hat ja jemand eine Idee? Heute hat sich das Skript dafür entschieden Einstellung 1 zu wählen und alles in den Speicher zu schieben, trotz blauem Himmel und bestem Vorhersagewetter beider Dienste...
Da war der Speicher dann um 10:15 Uhr schon voll. Jetzt entlade ich gerade manuell mit unload = 80 und Automatik aus.
Da muss doch irgendwas bei der Berechnung schief gegangen sein?! Irgendein Spezialfall, der seither noch nicht aufgetreten ist? Konnte das bisher noch nie beobachten...05:10:02.547 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Rueckmeldung :{"result":{"2020-08-29":69424,"2020-08-30":69457},"message":{"code":0,"type":"success","text":"","info":{"place":"21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE","timezone":"Europe/Berlin","distance":0},"ratelimit":{"limit":12,"remaining":11}}} 05:10:02.548 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Gespeichert wurde Dachfläche =1/2 : 69424 :69457 05:15:00.374 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Rueckmeldung :{"result":{"2020-08-29":19158,"2020-08-30":19027},"message":{"code":0,"type":"success","text":"","info":{"place":"21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE","timezone":"Europe/Berlin","distance":0},"ratelimit":{"limit":12,"remaining":11}}} 05:15:00.375 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Gespeichert wurde Dachfläche =2/2 : 19158 :19027 05:45:00.005 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 0 05:45:00.005 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 0 05:45:00.006 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 88.58200000000001 05:45:00.007 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 82.09899999999999 05:45:00.007 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Prognose_kWh_heute für Berechnung = 75.53107999999999 05:45:00.008 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 25 05:45:00.008 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 8.77 05:45:00.008 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 0 05:45:00.008 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 0 05:45:00.009 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = 25 05:45:00.009 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Einstellung 1 aktiv 05:45:00.015 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei gespeichert! 05:45:01.016 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei eingelesen! 10:22:53.326 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: Automatik gestoppt 10:23:06.952 info javascript.0 (709) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei gespeichert!
-
@stevie77
Aus irgendeinem Grund ist bei der Berechnung Überschuss das Ergebnis von 0 kWh rausgekommen.
Anhand der LOG Ausgabe müsste als Ergebniss eigentlich ca. 66 kWh rauskommen.
Verwende mal das aktuelle Script, da sich einiges geändert hat. -
@stevie77
Der Fehler wurde in der Version 0.2.10 behoben. -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@stevie77
Der Fehler wurde in der Version 0.2.10 behoben.Okay, dann spricht doch vieles dafür die nächsten Tage quasi "nochmals von vorne anzufangen" und die neueste Version mit den ganzen Änderungen bei mir zu integrieren. Das beruhigt, dass der Bug schon gefunden wurde. Danke.
-
@ArnoD super Idee...
-
Habe heute mal ein Script geschrieben, das die Modbus Register 40088 und 40085 (Datenword dezimal) in eine Bitausgabe für VIS umwandelt.
Man kann somit in VIS noch einige Informationen anzeigen.
Beim Modbus Register 40088 "Wallbox_x_CTRL" kann man auch drei Bits setzen und die E3DC Wallbox steuern.Wer es benötigt, hier das komplette Script:
// Aufteilung der Datenpunkte mit doppelten Informationen // Aufteilung "Autarkie und Eigenverbrauch in Prozent" var id1 = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch'; createState('e3dc.modbus.Autarkie'); createState('e3dc.modbus.Eigenverbrauch'); on(id1, function (obj) { setState('e3dc.modbus.Autarkie', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true); }); // Aufteilung "Modbus Firmware Version" var id2 = 'modbus.0.holdingRegisters.40002_Modbus_Firmware'; createState('e3dc.modbus.MajorVersion'); createState('e3dc.modbus.MinorVersion'); on(id2, function (obj) { log(obj.state.val); setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true); }); // Modbus Register 40088 "Wallbox_x_CTRL" Datenwort Dez. in BIT_Ausgabe für Vis umwandeln var id3 = 'modbus.0.holdingRegisters.40088_WallBox_0_CTRL'; createState('e3dc.modbus.WallBox_0_CTRL_Bit_0', {'def':0, 'name':'Wallbox vorhanden und verfügbar=1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_1', {'def':0, 'name':'Solarbetrieb aktiv=1 Mischbetrieb aktiv=0' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_2', {'def':0, 'name':'Laden abgebrochen=1 Laden freigegeben=0' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_3', {'def':0, 'name':'Auto lädt=1 Auto lädt nicht=0' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_4', {'def':0, 'name':'Typ-2-Stecker verriegelt=1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_5', {'def':0, 'name':'Typ-2-Stecker gesteckt=1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_6', {'def':0, 'name':'Schukosteckdose1 an = 1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_7', {'def':0, 'name':'Schukostecker1 gesteckt = 1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_8', {'def':0, 'name':'Schukostecker1 verriegelt = 1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_9', {'def':0, 'name':'Relais an, 16A, 1 Phase,Schukosteckdose = 1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_10', {'def':0, 'name':'Relais an, 16A, 3 Phasen, Typ 2 = 1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_11', {'def':0, 'name':'Relais an, 32A, 3 Phasen, Typ 2 = 1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.WallBox_0_CTRL_Bit_12', {'def':0, 'name':'Eine Phase aktiv=1 drei Phasen aktiv=0' , 'type':'number', 'role':'State'}); on({id: 'javascript.0.e3dc.modbus.WallBox_0_CTRL_Bit_1', change: "ne"}, function (obj){if (CallingInstance(obj) == 3){WriteModbusDez(obj)}}); on({id: 'javascript.0.e3dc.modbus.WallBox_0_CTRL_Bit_2', change: "ne"}, function (obj){if (CallingInstance(obj) == 3){WriteModbusDez(obj)}}); on({id: 'javascript.0.e3dc.modbus.WallBox_0_CTRL_Bit_12', change: "ne"}, function (obj){if (CallingInstance(obj) == 3){WriteModbusDez(obj)}}); on(id3, function (obj) { var myDez = obj.state.val; var myBin = myDez.toString(2); //Decimal in Bin myBin = new Array(17 - myBin.length).join('0') + myBin; log('Wallbox_x_CTRL Dez ='+myDez+'/ BIN ='+myBin); if(myBin[15]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_0',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_0',0)}; if(myBin[14]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_1',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_1',0)}; if(myBin[13]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_2',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_2',0)}; if(myBin[12]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_3',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_3',0)}; if(myBin[11]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_4',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_4',0)}; if(myBin[10]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_5',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_5',0)}; if(myBin[9]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_6',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_6',0)}; if(myBin[8]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_7',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_7',0)}; if(myBin[7]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_8',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_8',0)}; if(myBin[6]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_9',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_9',0)}; if(myBin[5]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_10',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_10',0)}; if(myBin[4]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_11',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_11',0)}; if(myBin[3]==1){setState('e3dc.modbus.WallBox_0_CTRL_Bit_12',1)}else{setState('e3dc.modbus.WallBox_0_CTRL_Bit_12',0)}; }); // Modbus Register 40088 "Wallbox_x_CTRL" BIT_Eingabe VIS in Datenwort Dez. umwandeln function WriteModbusDez(obj) { var myBin='000'; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_12').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_11').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_10').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_9').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_8').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_7').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_6').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_5').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_4').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_3').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_2').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_1').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; if(getState('e3dc.modbus.WallBox_0_CTRL_Bit_0').val == 1){myBin = myBin+'1'}else{myBin = myBin+'0'}; var myDez = parseInt(myBin, 2); setState(id3,myDez); //log('Neu Dez ='+myDez+'/ BIN ='+myBin); }; // Modbus Register 40085 "EMS-Status" Datenwort Dez. in BIT_Ausgabe für Vis umwandeln var id4 = 'modbus.0.holdingRegisters.40085_EMS_Status'; createState('e3dc.modbus.EMS_Status_Bit_0', {'def':0, 'name':'Laden der Batterien ist gesperrt=1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.EMS_Status_Bit_1', {'def':0, 'name':'Entladen der Batterien ist gesperrt=1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.EMS_Status_Bit_2', {'def':0, 'name':'Notstrommodus ist möglich=1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.EMS_Status_Bit_3', {'def':0, 'name':'Wetterbasiertes Es wird Ladekapazität zurückgehalten=1 Es wird keine Ladekapazität zurückgehalten=0' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.EMS_Status_Bit_4', {'def':0, 'name':'Abregelungs-Status es wird abgeregelt=1 es wird nicht abgeregelt=0' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.EMS_Status_Bit_5', {'def':0, 'name':'Ladesperrzeit aktiv = 1' , 'type':'number', 'role':'State'}); createState('e3dc.modbus.EMS_Status_Bit_6', {'def':0, 'name':'Entladesperrzeit aktiv = 1' , 'type':'number', 'role':'State'}); on({id: id4, change: "ne"}, function (obj) { var myDez = obj.state.val; var myBin = myDez.toString(2); //Decimal in Bin myBin = new Array(17 - myBin.length).join('0') + myBin; log('EMS-Status Dez ='+myDez+'/ BIN ='+myBin); if(myBin[15]==1){setState('e3dc.modbus.EMS_Status_Bit_0',1)}else{setState('e3dc.modbus.EMS_Status_Bit_0',0)}; if(myBin[14]==1){setState('e3dc.modbus.EMS_Status_Bit_1',1)}else{setState('e3dc.modbus.EMS_Status_Bit_1',0)}; if(myBin[13]==1){setState('e3dc.modbus.EMS_Status_Bit_2',1)}else{setState('e3dc.modbus.EMS_Status_Bit_2',0)}; if(myBin[12]==1){setState('e3dc.modbus.EMS_Status_Bit_3',1)}else{setState('e3dc.modbus.EMS_Status_Bit_3',0)}; if(myBin[11]==1){setState('e3dc.modbus.EMS_Status_Bit_4',1)}else{setState('e3dc.modbus.EMS_Status_Bit_4',0)}; if(myBin[10]==1){setState('e3dc.modbus.EMS_Status_Bit_5',1)}else{setState('e3dc.modbus.EMS_Status_Bit_5',0)}; if(myBin[9]==1){setState('e3dc.modbus.EMS_Status_Bit_6',1)}else{setState('e3dc.modbus.EMS_Status_Bit_6',0)}; });
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD Hey Arno ich habe gestern mal ein wenig manuell herum gespielt und werte manuell geändert und angepasst. Dabei ist mir aufgefallen, dass die Werte im Anschluss dann immer zwischen den neuen und alten Werten in Vis hin und her gesprungen sind. Ist das ein Vis Thema oder liegt es am script...Das hatte ich auch schon in älteren Versionen des skript beobachtet, bevor wir die manuelle Vorwahl eingeführt haben.
Muss nicht am Script liegen.Also ich kann das bei mir nicht feststellen. Wie änderst du die Werte, über das hqwidget CircleKnob ?
-
Neue Version 0.2.12 hochgeladen.
Änderungen:
Neuer State "PrognoseAnwahl" hinzugefügt. Es kann jetzt in VIS ausgewählt werden, welche Prognose für die Berechnung verwendet wird. 0 = Proplanta u. Forecast (Standard) 1 = Proplanta 2 = Forecast.Aktuelle View txt Datei 30.08.2020 habe ich auch hochgeladen.
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Also ich kann das bei mir nicht feststellen. Wie änderst du die Werte, über das hqwidget CircleKnob ?
ja genau
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Neue Version 0.2.12 hochgeladen.
Änderungen:
Neuer State "PrognoseAnwahl" hinzugefügt. Es kann jetzt in VIS ausgewählt werden, welche Prognose für die Berechnung verwendet wird. 0 = Proplanta u. Forecast (Standard) 1 = Proplanta 2 = Forecast.Aktuelle View txt Datei 30.08.2020 habe ich auch hochgeladen.
Hallo Arno, function main wird bei Programmstart nicht mehr ausgeführt...
wenn PognoseAnwahl != 1habe den Teil für mich so abgeändert...
createUserStates(instanz, false, statesToCreate, function(){ log('Jetzt sind alle States abgearbeitet'); AutomatikAnwahl = getState(sID_Automatik).val; PrognoseAnwahl = getState(sID_PrognoseAnwahl).val; setState(sID_Anwahl_MEZ_MESZ, dst()); setState(sID_Einstellung,0); ZeitAnwahl_MEZ_MESZ = getState(sID_Anwahl_MEZ_MESZ).val EinstellungAnwahl = getState(sID_EinstellungAnwahl).val Wh_Leistungsmesser0(); // Daten Proplanta einmal beim Programmstart aktualisieren InterrogateProplanta(2); // Regelmässige Aktualisierung Daten Proplanta beim Programmstart starten ScheduleProplanta(); setTimeout(function(){main();},5000);//Zeit geben bevor main ausgeführt wird // Daten Forecast einmal beim Programmstart aktualisieren if(getState(sID_PrognoseAnwahl).val != 1) { switch (nDachflaechen){ case 1: InterrogateForecast (1,2); break; case 2: InterrogateForecast (1,2); InterrogateForecast (2,2); break; }; } // Stündliche Aktualisierung Daten Forecast beim Programmstart starten SheduleForecast(); });