NEWS
( gelöst )Balkonkraftwerk Stromüberschuß Klimaanlage
-
@perladd sagte: einmal "Power_Consumtion" für den tatsächlichen Strombezug und einmal "Power_Delivery" alles auch nur positive Werte.
Dann bilde die Differenz "Bezug - Einspeisung" als eigenen Datenpunkt unter "0_userdata.0" oder innerhalb des Skripts (Zweifach-Trigger).
Innerhalb des Skripts:
-
Hallo,
das hat ja super geklappt, funktioniert fast
Nur beim unterschreiten des Grenzwertes bekomme ich einen clearTimeout --> not foundUnd der Bezug wird mir im Prokoll nicht negativ dargestellt, das ist irritierend wobei ja z.B. Strombezug-Stromerzeugung ( 0W - 500Watt ) ja negativ sein muss, aber egal, eingeschaltet wurde die Klima schon Mal
Hast du evtl. noch eine Idee woran es beim auschalten liegen könnte
-
@perladd sagte: clearTimeout --> not found
Falsche Variable bei "stop delayOff" zugewiesen oder falscher Stop-Block?
Sonst zeige den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.@perladd sagte in Balkonkraftwerk Stromüberschuß Klimaanlage:
Und der Bezug wird mir im Prokoll nicht negativ dargestellt
Nur die Variable
bezug
wird negativ. Sie wird ohne Debug-Block nicht protokolliert. Falls Debug-Block vorhanden, dannbezug
anstelle vonWert
an diesen übergeben. -
Hallo,
sorry bin jetzt erst wieder dazu gekommen, hier ist der Code
var bezug, grenzwertEin, grenzwertAus, delayOn, delayOff; on({id: [].concat(['discovergy.0.60671207.Power_Consumption']).concat(['discovergy.0.60671207.Power_Delivery']), change: "ne"}, async function (obj) { bezug = parseFloat(getState("discovergy.0.60671207.Power_Consumption").val) - getState("discovergy.0.60671207.Power_Delivery").val; grenzwertEin = -400; // Hysterese etwas größer als Leistungsaufnahme grenzwertAus = parseFloat(grenzwertEin) + 2000; console.log((['Bezug:',(obj.state ? obj.state.val : ""),'W. Grenzwert Ein:',grenzwertEin].join(''))); if (bezug >= grenzwertEin) { (function () {if (delayOn) {clearTimeout(delayOn); delayOn = null;}})(); } else if (!delayOn) { delayOn = setTimeout(async function () { setState("melcloud.0.devices.58426579.control.power"/*Power*/, true); }, 30000); } if (bezug <= grenzwertAus) { (function () {if (delayOff) {clearTimeout(delayOff); delayOff = null;}})(); } else if (!delayOff) { delayOff = setTimeout(async function () { setState("melcloud.0.devices.58426579.control.power"/*Power*/, false); }, 30000); } });
MOD-EDIT: Code in code-tags gesetzt!
-
@perladd sagte: hier ist der Code
Kann keinen Fehler erkennen.
Ersetze bei DebugWert
durchbezug
, um die Differenz zu sehen. -
werde ich morgen dann noch einmal beobachten, wo genau der Fehler kommt.
Schönen Abend
VG
Thomas -
Guten Morgen,
so hab es soweit geändert, jetzt wird mir auch der negative Stromüberschuss angezeigt
Fehler hab ich jetzt auch keine mehr bekommen, hab mit den Werten noch was rumgespielt und danach war alles in Ordnung
Was die Benachrichtigungen angeht, hab ich auch hinbekommen. Bekomme jetzt jeweils eine Nachricht wenn die Klima an und wieder ausgeht.
Ihr seit einfach klasse hier. Vielen lieben Dank für die tolle Unterstützung.
VG
Thomas -
@perladd ,
dann sei doch so nett, und stell das endgültige Blockly hier rein.
Als screenshot und / oder als export.
Freut sich bestimmt der ein oder andere drüber. -
Hallo,
sorry hab deine Nachricht jetzt erst gesehen.
Natürlich mach ich das, hier ist ein Screenshot von meinem Blockly. Funktioniert soweit auch auch Probleme.
Ich hätte jetzt vielleicht nur noch ein anliegen. Da die Klima sich nicht ganz soviel nimmt wie gedacht, möchte ich jetzt noch eine 2. bzw. 3. Klima mit einschalten. Das soll dann so von statten gehen, die 1. Klima wird eingeschaltet, und würde ja nach Zeit X, wieder ausgeschaltet wenn der Strombezug zu hoch geht. Würde der Strombezug aber jetzt weiter im negativen Bereich bleiben, dann würde ich gerne die 2. Klima mit einschalten, das ganze gilt auch für die 3. Klima.
Das Ausschalten sollte dann so ablaufen, wenn der Strombezug über meinen eingestellten Wert mit der Zeit X drüber liegt, dann sollte erst die letzte in Betrieb gegangen Klima ausgeschaltet werden. Ist der Strombezug nach der Zeit X immer noch über meinen eingestellten Wert, dann sollte nächste Klima außer Betrieb gehen, bis keine mehr in Betrieb ist.
Ich hab es schon versucht, aber leider ist noch nicht einmal eine 2. Klima in Betrieb gegangenVielleicht könnte mir ja noch einmal jemand helfen.
VG
Thomas -
@perladd sagte: die 2. Klima mit einschalten, das ganze gilt auch für die 3. Klima.
Haben alle 3 Klimageräte die gleiche Leistungsaufnahme? Dann kann man eine 3-Stufen-Schaltung realisieren. Prinzip:
@perladd sagte in Balkonkraftwerk Stromüberschuß Klimaanlage:
Klima sich nicht ganz soviel nimmt wie gedacht, möchte ich jetzt noch eine 2. bzw. 3. Klima mit einschalten.
Das Klimagerät nimmt weniger als 600 W auf?
EDIT: Handelt es sich um ein Multisplit-Gerät mit mehreren Inneneinheiten? Dann schaltet der Kompressor ab, wenn die Soll-Temperatur erreicht ist und die nächste Inneneinheit kann zugeschaltet werden.
-
Hallo,
nein es sind 2 Außengeräte, wobei an einem Außengerät, 2 Innengeräte angeschlossen sind.
-
So damit ich das nicht wieder vergessen, hier ist das super funktionierende Blockly
Vielen lieben Dank, für die tolle Hilfe bei der Umsetzung
VG
Thomas -
@paul53 sagte:
Dann schaltet der Kompressor ab, wenn die Soll-Temperatur erreicht ist und die nächste Inneneinheit kann zugeschaltet werden.
sollte dann nicht besser kurz vor erreichen der Solltemperatur schon die nächste Inneneinheit gestartet werden und nachdem diese läuft erst die andere abgeschaltet werden um das takten der Außeneinheit zu verhindern?
-
Hallo,
das hört sich auch interessant an. Ich denke nur, das das nicht mit dem Takten passiert. Da die Innengeräte DG und KZ an einem Splitgerät hängen und das Innengerät SZ an einem separaten Splitgerät und mit der jeweiligen Zeit dazwischen wird das sicherlich schon passen. Wenn es natürlich super warm wird und dabei auch noch wolkig, dann muss ich mir das ein und ausschalten eh wieder anschauen, ob das alles so passt.