Also, es ist immer etwas problematisch, auf Solarstrom zu schalten, einfach weil die Leistung hochvolatil ist. Du suchst aber auf jeden Fall eine Rule mit Code-Anteil. So etwas:
Code: Alles auswählen
rule "switch Solar Boiler"
when
Item PowerFox_Leistung changed
then
var Number nPower = 0
var soll = SolarBoilerSteckdose.state
if(newState instanceof Number)
nPower = (newState as Number).intValue
if(nPower < -250)
soll = ON
if(nPower > -100)
soll = OFF
if(SolarBoilerSteckdose.state != soll)
SolarBoilerSteckdose.sendCommand(soll.toString)
end
Wenn der Überschuss 250 übersteigt, wird der Boiler eingeschaltet. wenn der Überschuss unter 100 sinkt, wird der Boiler ausgeschaltet. Geschaltet wird nur bei Bedarf (also wenn sich die aktuelle Schaltstellung vom Soll unterscheidet). Die Rule löst aus, sobald ein neuer Messwert rein kommt.
Das Problem ist aber, wie oben erwähnt, dass jeder Wolkenfetzen dein Relais zum Kippen bringen kann, je nach Messfrequenz kann das schon zu einer Verkürzung der Lebensdauer führen. Allgemein wird man für sowas also eher eine Thyristor verwenden, dem es egal ist, dass er 100 Mal pro Sekunde geschaltet wird, oder man stellt anderweitig sicher, dass es nicht zu viele Schaltbewegungen gibt, z.B. mit einer Totzeit, innerhalb der kein Schaltvorgang ausgelöst wird, selbst wenn dann trotz Sonne nicht geheizt oder trotz Schatten sehr wohl geheizt wird. In der meisten Zeit wird es dennoch einwandfrei funktionieren.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet