ich weiß nicht, ob es hiermit weniger kryptisch wird, aber funktionieren sollte diese Custom-Logik:
Code: Alles auswählen
{
"Level": [
["$Solar_Dach", "float", 96.0],
["$Solar_Freigabe", "bool", false],
["$Freigabe_ein", "float", 90],
["$Freigabe_aus", "float", 95],
["$Pufferspeicher_oben", "float", 50.0],
["$Temperaturkoeffizient_Dach_PufferWW", "float", 1.0],
["$Koeff_Dach", "float", 1.15],
["$Dach_gt_WW", "bool", false],
["$Pufferspeicher_Heizung", "float", 50.0],
["$Temperaturkoeffizient_Dach_PufferHeizung", "float", 1.0],
["$Dach_gt_Heizung", "bool", false],
["$Solarpumpe", "bool", false],
["$Solar_Sammler", "float", 40.0],
["$Temperaturkoeffizient_Sammler_PufferWW", "float", 1.0],
["$Koeff_Sammler", "float", 1.1],
["$Sammler_gt_WW", "bool", false],
["$Temperaturkoeffizient_Sammler_PufferHeizung", "float", 1.0],
["$Sammler_gt_Heizung", "bool", false],
["$Pufferpumpe", "bool", false],
["$Koeff_Ventil", "float", 1.05],
["$Dreiwegeventil", "bool", false]
],
"Module": [
["Comparator" , "$Solar_Dach" , "-$Solar_Freigabe" , ["$Freigabe_ein" , "$Freigabe_aus"] ],
["Ratio" , "$Solar_Dach" , "$Temperaturkoeffizient_Dach_PufferWW" , "$Pufferspeicher_oben"],
["Comparator" , "$Temperaturkoeffizient_Dach_PufferWW" , "$Dach_gt_WW" , "$Koeff_Dach"],
["Ratio" , "$Solar_Dach" , "$Temperaturkoeffizient_Dach_PufferHeizung" , "$Pufferspeicher_Heizung"],
["Comparator" , "$Temperaturkoeffizient_Dach_PufferHeizung" , "$Dach_gt_Heizung" , "$Koeff_Dach"],
["Or" , ["$Dach_gt_WW" , "$Dach_gt_Heizung"] , "$Solarpumpe"],
["Ratio" , "$Solar_Sammler" , "$Temperaturkoeffizient_Sammler_PufferWW" , "$Pufferspeicher_oben"],
["Comparator" , "$Temperaturkoeffizient_Sammler_PufferWW" , "$Sammler_gt_WW" , "$Koeff_Sammler"],
["Ratio" , "$Solar_Sammler" , "$Temperaturkoeffizient_Sammler_PufferHeizung" , "$Pufferspeicher_Heizung"],
["Comparator" , "$Temperaturkoeffizient_Sammler_PufferHeizung" , "$Sammler_gt_Heizung" , "$Koeff_Sammler"],
["Or" , ["$Sammler_gt_WW" , "$Sammler_gt_Heizung"] , "$Pufferpumpe"],
["Comparator" , "$Temperaturkoeffizient_Sammler_PufferWW" , "$Dreiwegeventil" , "$Koeff_Ventil"]
],
"Input": [
["Solar Dach","Temperatur der Solaranlage","$Solar_Dach","c"],
["Puffer_oben","Temperatur oberer Pufferspeicher","$Pufferspeicher_oben","c"],
["Puffer_Heizung","Temperatur des Heizungs-Pufferspeicher","$Pufferspeicher_Heizung","c"],
["Solar Sammler","Temperatur des Sammlers","$Solar_Sammler","c"],
["Koeff Dach","Koeffizient für Dach Temp","$Koeff_Dach","c"],
["Koeff Sammler","Koeffizient für Sammler Temp","$Koeff_Sammler","c"],
["Koeff Ventil","Koeffizient für Dreiwegeventil","$Koeff_Ventil","c"]
],
"Output": [
["Solarfreigabe","Freigabe der Solaranlage","$Solar_Freigabe","c"],
["Solarpumpe","Pumpe für Solaranlage","$Solarpumpe","c"],
["Pufferpumpe","Pumpe für Puffer","$Pufferpumpe","c"],
["Dreiwegeventil","Solar Dreiwegeventil","$Dreiwegeventil","c"]
]
}
Vielleicht findest du das ein oder andere deiner 12 bisherigen Logiken darin wieder.
Ich habe allerdings keine Erfahrung mit Solaranlagen, daher könnten einige meiner Namensbezeichnungen mehr verwirren als helfen
Falls diese Art der Steuerung auch für andere interessant ist, kann man das ja evtl. so in die Logik-Auswahl mit aufnehmen.
Viel Spaß beim ausprobieren.
Stefan K.