NEWS
[gelöst] Ausführung trotz Triggern Zeitplan
-
@woupi den Code, nicht das Bild posten.
-
leider doch
-
Ich würde zum Anfang eine richtige Liste erstellen und nur in den DP schreiben.
-
@woupi du hast es falsch verstanden, kein Screenshot. Den Code markieren und hier einfügen
-
Ok, damit ich da jetzt schon nichts falsch mache, habe gerade schon wieder lauter ??? im Kopf, könntest Du mir sagen, wie ich das richtig mache?
-
@woupi sagte in Ausführung trotz Triggern Zeitplan:
leider doch
Sorry meine Wortwahl aber
ALTER, was ist denn DAS für ein Blockly.....
Das was Du hier vom Blockly als Screenshot zeigst scheint ja nur ein winziger Ausschnitt zu sein..... -
Nein, das habe ich nicht falsch verstanden, ich habe nur ein Screenshott gemacht, damit ihr sehen könnt, dass das nicht geht.
Unten rechts im Scrennshot, das rote Kästchen. -
@djmarc75 sagte in Ausführung trotz Triggern Zeitplan:
@woupi sagte in Ausführung trotz Triggern Zeitplan:
leider doch
Sorry meine Wortwahl aber
ALTER, was ist denn DAS für ein Blockly.....
Das was Du hier vom Blockly als Screenshot zeigst scheint ja nur ein winziger Ausschnitt zu sein.....Das stimmt
Ist meine komplette Heizungssteuerrung, an der ich jetzt seit Wochen dran bin.
-
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Ist meine komplette Heizungssteuereung
Sorry, aber da bin ich jetzt leider raus weil man da so nicht helfen kann !!
-
Ok ???
Es läuft, bis auf diesen kleinen Teil alles, und der kleine Teil lief bis, auf das erstellen der Liste, auch.
-
@woupi okay das habe ich garnicht erkannt, am handy ist es immer schwer mit Bildern.
mein Vorschlag:
und bei "aktualisiere" las das String weg.
-
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Ok ???
Wir sind hier bei einem (Deinem) BlocklyBeitrag - das Blockly ist in Deinem ersten Beitrag definiert - danach über Dein schräges System gestolpert - dies mit viel Mühe behoben wurde - und nun stellt sich heraus dass Dein Skript ein GIGA-Skript ist ...
Soll jetzt keine Maßregelung sein aber es macht für mich ab jetzt das Helfen schwierig - weil ab hier
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Das stimmt
Ist meine komplette Heizungssteuerrung, an der ich jetzt seit Wochen dran bin.eine ganz andere Ausgangssituation gegeben ist und niemand Dein komplettes Skript kennt.
-
@djmarc75 sagte in Ausführung trotz Triggern Zeitplan:
eine ganz andere Ausgangssituation gegeben ist
nicht wirklich!
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Hier der geänderte Schnipsel:
@homoran sagte in Ausführung trotz Triggern Zeitplan:
@woupi Schnipsel bringen normalerweise nichts.
@homoran sagte in Ausführung trotz Triggern Zeitplan:
@woupi sagte in Ausführung trotz Triggern Zeitplan:
keine Ahnung, wie ich das ganze Blockly hier rein bekommen.
Bild an Bild?wäre die Methode der Wahl.
Aber hier nicht nötig, weil@woupi sagte in Ausführung trotz Triggern Zeitplan:
der einzige Teil, der Heute geändert wurde
und in sich ein vollständiges Skript ist.
wenn die Liste nicht in einem anderen Teil zerlegt und unter gleichem Namen anders abgespeichert wird, reicht der Schnipsel.
@woupi
könntest du bitte hier den aktuellen Schnipsel noch mal als Screenshot reinstellen, so weit scrollen auf dem Handy macht keinen Spaß -
Sorry dafür, dass ich mich erst jetzt melde, meine Kinder sind zum essen gekommen und die habe ich schon länger nicht gesehen.
Und danke für dein in Schutz nehmen, so hatte ich das ganze auch verstanden.
Und ja, gerne:
-
@woupi
könntest du bitte noch hierzu Stellung nehmen@homoran sagte in Ausführung trotz Triggern Zeitplan:
wenn die Liste nicht in einem anderen Teil zerlegt und unter gleichem Namen anders abgespeichert wird,
-
@woupi Hast du irgendwo jemals die Variable Liste als Array definiert?
-
@woupi Wo kommt dieser output her?
ich habe den dazugehörigen Block immer noch nicht gefunden.in dem Snippet sehe ich kein debug der Variable Liste
-
@homoran sagte in Ausführung trotz Triggern Zeitplan:
@woupi
könntest du bitte noch hierzu Stellung nehmen@homoran sagte in Ausführung trotz Triggern Zeitplan:
wenn die Liste nicht in einem anderen Teil zerlegt und unter gleichem Namen anders abgespeichert wird,
Nein, wird sie nicht.
@homoran sagte in Ausführung trotz Triggern Zeitplan:
@woupi Hast du irgendwo jemals die Variable Liste als Array definiert?
Nein. Ehrlich gesagt weiß ich nicht mal wie ich das bzw das ich das könnte.
Ich habe über den Punkt Variablen eine neue erstellt, habe ich zum testen gerade nochmal gemacht, und dann wird doch nur nach einem Namen gefragt, oder stehe ich schon wieder auf dem Schlauch?@homoran sagte in Ausführung trotz Triggern Zeitplan:
@woupi Wo kommt dieser output her?
ich habe den dazugehörigen Block immer noch nicht gefunden.in dem Snippet sehe ich kein debug der Variable Liste
Von der Variablen hatte ich den log Ausdruck auch nicht gemacht, es ging doch immer um den DP.
-
Ich habe das komplette script jetzt mal auf javascript hier rein kopiert, eventuell hilft das.
var WP_an_aus, Liste_PV, Gleitwert_PV; function mathMean(myList) { return myList.reduce(function(x, y) {return x + y;}) / myList.length; } // WP einschalten unter verschiedenen Voraussetzungen schedule("* * * * *", async function () { if (getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val < 18 && getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val < 0 && getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 1)); console.warn((['WP an, IT<18 und AT<0, IT: ',getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val,', AT: ',getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val,', ',formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); } if (getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val < 15 && getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 1)); console.warn((['WP an, IT<15, IT:',getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val,', ',formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); } if (getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val > 7 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val >= 30 && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetQuietMode"/*SetQuietMode*/, ('' + 3)); console.log(('Flüstermodus: 3')); } await wait(300000); if (getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val < 30 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val > 25 && getState("mqtt.0.panasonic_heat_pump.main.Quiet_Mode_Level").val == 3 && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetQuietMode"/*SetQuietMode*/, ('' + 2)); console.log(('Flüstermodus: 2')); } await wait(600000); if (getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val <= 25 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val > 22 && getState("mqtt.0.panasonic_heat_pump.main.Quiet_Mode_Level").val == 2 && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetQuietMode"/*SetQuietMode*/, ('' + 1)); console.log(('Flüstermodus: 1')); } await wait(900000); if (getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val <= 22 && getState("mqtt.0.panasonic_heat_pump.main.Quiet_Mode_Level").val == 1 && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetQuietMode"/*SetQuietMode*/, ('' + 0)); console.log(('Flüstermodus: 0')); } }); schedule('{"time":{"start":"07:00","end":"21:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () { if ((getState("sma-em.0.3006948198.psurplus").val > 800 || getState("mqtt.1.openWB.lp.1.W").val > 1) && getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val < 19 && getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val < 17 && getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 1)); if (getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val > 7 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val >= 30 && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetQuietMode"/*SetQuietMode*/, ('' + 3)); console.log(('Flüstermodus: 3')); } console.warn((['WP an da IT<19 oder AT<17 und PV: ',Math.round(getState("sma-em.0.3006948198.psurplus").val*10)/10,', ',formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); } }); schedule('{"time":{"start":"07:00","end":"21:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () { // Anhebung auf 0 setzen, wenn WP aus if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetZ1HeatRequestTemperature"/*SetZ1HeatRequestTemperature*/, parseFloat((getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val == 0))); } // Erhöhen der Anhebung unter verschiedenen Voraussetzungen if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 1 && getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val < 5 && getState("mqtt.0.panasonic_heat_pump.main.ThreeWay_Valve_State").val == 0 && (getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val < 19 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val <= 22 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val > 18 && parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Main_Outlet_Temp").val) - getState("mqtt.0.panasonic_heat_pump.main.Main_Target_Temp").val > 1.5 || getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val <= 20 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val > 18 && parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Main_Outlet_Temp").val) - getState("mqtt.0.panasonic_heat_pump.main.Main_Target_Temp").val > 1.5 && getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val >= 8)) { setState("mqtt.0.panasonic_heat_pump.commands.SetZ1HeatRequestTemperature"/*SetZ1HeatRequestTemperature*/, parseFloat((parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val) + 1))); console.log((['VLT SOLL/IST Diff.:',', ',parseFloat((parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Main_Outlet_Temp").val) - getState("mqtt.0.panasonic_heat_pump.main.Main_Target_Temp").val)),', ','Anhebung:',', ',parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val)].join(''))); } // Senken der Anhebung unter verschiedenen Voraussetzungen if ((getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val >= 24 && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 0 && getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val > -5 || parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Main_Outlet_Temp").val) - getState("mqtt.0.panasonic_heat_pump.main.Main_Target_Temp").val <= -1 && getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val > 0) && getState("mqtt.0.panasonic_heat_pump.main.ThreeWay_Valve_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetZ1HeatRequestTemperature"/*SetZ1HeatRequestTemperature*/, (parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val) - 1)); await wait(5000); console.log((['Senkung:',', ',parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val)].join(''))); } }); // WP ausschalten unter verschiedenen Voraussetzungen on({id: [].concat(['0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val >= 20 && getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val >= 16 && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 0 && getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 1) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 0)); console.warn((['WP aus, IT>20 + AT>16, IT=',getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val,', AT=',getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val,', ',formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); } }); // Warmwassersteuerung: // Mo,Di,Do,Fr,So 43° schedule('{"time":{"exactTime":true,"start":"14:00"},"period":{"days":1,"dows":"[0,1,2,4,5]"}}', async function () { WP_an_aus = getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val; setState("mqtt.0.panasonic_heat_pump.commands.SetDHWTemp"/*SetDHWTemp*/, ('' + 43)); if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 0 && getState("mqtt.0.panasonic_heat_pump.main.DHW_Temp").val <= parseFloat(getState("mqtt.0.panasonic_heat_pump.main.DHW_Target_Temp").val) - 2) { setStateDelayed("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 1), 1000, false); } await wait(15000); if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 1) { setState("mqtt.0.panasonic_heat_pump.commands.SetOperationMode"/*SetOperationMode*/, 4); console.log((['WW+heizen ',parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val),' WW Soll Temp: ',parseFloat(getState("mqtt.0.panasonic_heat_pump.main.DHW_Target_Temp").val)].join(''))); } }); // Mi,Sa 52° schedule('{"time":{"exactTime":true,"start":"14:00"},"period":{"days":1,"dows":"[3,6]"}}', async function () { WP_an_aus = getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val; setState("mqtt.0.panasonic_heat_pump.commands.SetDHWTemp"/*SetDHWTemp*/, ('' + 51)); await wait(15000); if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 0 && getState("mqtt.0.panasonic_heat_pump.main.DHW_Temp").val < parseFloat(parseFloat(getState("mqtt.0.panasonic_heat_pump.main.DHW_Target_Temp").val)) - 2) { setStateDelayed("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 1), 1000, false); } await wait(15000); if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 1) { setState("mqtt.0.panasonic_heat_pump.commands.SetOperationMode"/*SetOperationMode*/, 4); console.log((['WW+heizen ',parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val),' WW Soll Temp: ',parseFloat(getState("mqtt.0.panasonic_heat_pump.main.DHW_Target_Temp").val)].join(''))); } }); // zurück auf nur Heat schedule('{"time":{"start":"14:30","end":"17:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () { if (getState("mqtt.0.panasonic_heat_pump.main.DHW_Temp").val >= getState("mqtt.0.panasonic_heat_pump.main.DHW_Target_Temp").val && true && getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val == 4) { setState("mqtt.0.panasonic_heat_pump.commands.SetOperationMode"/*SetOperationMode*/, parseFloat(0)); console.log(('Soll WP an/aus: ' + String(WP_an_aus))); await wait(15000); console.log(('heizen: ' + String(parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val)))); await wait(30000); if (WP_an_aus == 0 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 0)); console.log(('IST WP an/aus: ' + String(WP_an_aus))); } } }); Liste_PV = getState("0_userdata.0.WP.Liste_PV_Mittelwert").val; schedule("* 16,20 * * *", async function () { // Mittelwert Netzeinspeisung erstellen Liste_PV.push(getState("sma-em.0.3006948198.psurplus").val); if (Liste_PV.length >= 30) { Liste_PV.shift(); } setState("0_userdata.0.WP.Liste_PV_Mittelwert"/*Liste_PV_Mittelwert*/, Liste_PV, true); Gleitwert_PV = Math.round((mathMean(Liste_PV))*1000)/1000; if (Gleitwert_PV <= 1) { console.warn((['Gleitwert PV, ',Gleitwert_PV,', ',formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); } console.warn(([' Liste: ',getState("0_userdata.0.WP.Liste_PV_Mittelwert").val,', ',formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); // WP ausschalten wenn Mittelwert Netzeinspeisung = 0 if (Gleitwert_PV <= 1 && getState("netatmo.0.64401df552a661dfd3021333.70-ee-50-82-7e-f2.Temperature.Temperature").val > 20 && getState("0_userdata.0.Temperaturen.AT_vorne_u_hinten_geglätet").val > -5 && getState("mqtt.0.panasonic_heat_pump.main.ThreeWay_Valve_State").val == 0 && getState("mqtt.1.openWB.lp.1.W").val == 0 && getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 1) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, ('' + 0)); console.log((['WP aus, Einspeisung:',parseFloat(getState("sma-em.0.3006948198.psurplus").val),', ',Gleitwert_PV,', ',formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); } });
-
@woupi sagte in Ausführung trotz Triggern Zeitplan:
weiß ich nicht mal wie ich das bzw das ich das könnte.
@tt-tom sagte in Ausführung trotz Triggern Zeitplan:
@woupi okay das habe ich garnicht erkannt, am handy ist es immer schwer mit Bildern.
mein Vorschlag:
und bei "aktualisiere" las das String weg.
@woupi sagte in Ausführung trotz Triggern Zeitplan:
es ging doch immer um den DP.
nein!
@homoran sagte in Ausführung trotz Triggern Zeitplan:
Wir ( @woupi ) sollten also prüfen, ob
ein Array erstellt wird
also wissen wir nur, dass im DP kein Array ist.
Dadurch wird nach dem Einlesen des DP auch nie wieder ein Array daraus