Seite 1 von 1

Beta 21: Eigene Logik: Solarsteuerung

Verfasst: Mo Mai 06, 2019 10:35 am
von mclb
Hi,

gibt es irgendwo eine Doku, wie man eigene Logiken entwickeln kann?
Was ist da alles möglich?
Ich würde gern für meine Solarsteuerung nur einen Baustein haben, der alles abwickelt. Aktuell benötige ich dafür ca. 10 einzelne Logikmodule, da wird das schnell unübersichtlich.

Danke
Marcus

Re: Beta 21: Eigene Logiken

Verfasst: Mo Mai 06, 2019 1:30 pm
von S. Kolbinger
Hallo Marcus @mclb ,

aktuell ist der Logik-Editor noch ein wenig hinter der darunter liegenden Logik-Engine zurück.
Das heißt, Funktionen die im Prinzip schon laufen, sind in der Oberfläche noch nicht fehlerfrei auswählbar.

Aus genau diesem Grund halten wir uns mit der Doku noch zurück.
Ist ja auch erst wirklich hilfreich, wenn man das auch in der Praxis nachstellen/ausprobieren kann.

Falls du mir Zugang zu deinen bisherigen Logikmodulen (voll krass Respekt, wenn du da ohne Doku schon was sinnvoll brauchbares zusammen gebaut hast :bow-yellow: ) gewährst, könnte ich dich evtl. unterstützen.
Leider ist der VPN-Zugang, trotz anders lautendem Eintrag im Footer, nicht aktiv.

Gruß,
Stefan K.

Re: Beta 21: Eigene Logiken

Verfasst: Mo Mai 06, 2019 3:58 pm
von mclb
Hallo Stefan,

also aktuell sieht es für mich aus, als würde meine Logik so funktionieren, wie ich sie mir gedacht habe. In Zukunft würde ich allerdings gerne alle Logikbausteine, die aktuell erstellt sind, in eine einzige Logik packen, die Ein- und Ausgänge verknüpfen und das Ding läuft. Ist so etwas denkbar? Wären aktuell 12 Logikbausteine, mit gesamt 4 Ein- und 4 Ausgängen und dazwischen ein paar Berechnungen, die ich entweder per Parameter, oder wenns nicht anders geht in die Logik codiert, einstellen kann.

Für mich sind die Beispiele zu den selbst definierten Logiken, die ich im Forum bisher gefunden habe, allerdings ziemlich kryptisch. :lol:

Danke
Marcus

Re: Beta 21: Eigene Logiken

Verfasst: Mo Mai 06, 2019 8:42 pm
von S. Kolbinger
Hallo Marcus,
mclb hat geschrieben: Mo Mai 06, 2019 3:58 pm ... Für mich sind die Beispiele zu den selbst definierten Logiken, die ich im Forum bisher gefunden habe, allerdings ziemlich kryptisch. :lol:
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 :roll:
Bild

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.

Gruß,
Stefan K.

Re: Beta 21: Eigene Logiken

Verfasst: Mo Mai 13, 2019 3:16 pm
von mclb
Hallo Stefan,

meine Logik an sich funktioniert so, wie ich es geplant hatte. Kann halt sein, dass ich dort oder da noch ein wenig an den Feinheiten schrauben werde.
Die Custom Logik habe ich aus Zeitgründen noch nicht eingebaut, evtl. schaffe ich das zum Wochenende. Bin ich schon gespannt, ob das Dasselbe macht. ;-)

Falls ja, habe ich den grundsätzlichen Aufbau, glaube ich, halbwegs verstanden. :-)

Ich werde dann berichten, wie die Logik läuft.

LG
Marcus

Re: Beta 21: Eigene Logiken

Verfasst: Do Mai 23, 2019 4:00 pm
von mclb
So, heute endlich geschafft, die Logik einzubauen und zu testen (die letzten Tage wars ja mit Solarthermie nicht so prickelnd) ... und es läuft. :-)

Re: Beta 21: Eigene Logik: Solarsteuerung

Verfasst: Mo Jun 03, 2019 12:10 am
von Robert_Mini
Würde dieses Beispiel gerne in die KB aufnehmen.
@mclb: Hast du dazu ein Skizze oder anderweitige Beschreibung (kurzer Text) zur Hand oder kannst du diese erstellen? Nur aus der Custom Logik erschließt sich mir die Logik nicht ganz.

Danke
Robert

Re: Beta 21: Eigene Logiken

Verfasst: Do Jul 16, 2020 8:47 am
von Robosoc
S. Kolbinger hat geschrieben: Mo Mai 06, 2019 8:42 pm

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"]
    ]
}

Perfekt , ich wollte mir in den kommenden Tagen gerne einen Solarthermie-Regler bauen und jetzt kann ich hier drauf aufbauen. Sehr schön, danke @S. Kolbinger. Magst Du hier ggf. auch noch die Nutzungsrechte ergänzen? Nur der Form halber, ich will es nicht kommerziell nutzen, aber wenn es mal jemand Anderes nutzen will.

Re: Beta 21: Eigene Logik: Solarsteuerung

Verfasst: Do Jul 16, 2020 6:17 pm
von S. Kolbinger
Hallo Sven,

an sich könnt ihr gerne alle meine Custom-Logiken jederzeit verwenden und weiter entwickeln.
In diesem speziellen Fall wurde aber der Großteil der Arbeit von Marcus geleistet.
Er hat sich den Algorithmus ausgedacht und auch schon mittels mehreren Einzellogiken umgesetzt. :clap:

Ich habe hier lediglich diese Einzellogiken in eine Custom-Logik zusammengefügt.
Also @mclb, bist du bereit dein geistiges Eigentum mit der Welt zu teilen? :pray:

Re: Beta 21: Eigene Logik: Solarsteuerung

Verfasst: Mo Jul 20, 2020 9:24 am
von mclb
Hallo zusammen,

also alle Logiken, die ich hier poste, dürfen natürlich von jedem Anderen genutzt und angepasst werden.
Bei mir funktioniert die Steuerung übrigens, nach wie vor, sehr gut und zuverlässig. :-)

LG
Marcus