UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[FR] Beta 21: Eigene Logik: Solarsteuerung

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

Beta 21: Eigene Logik: Solarsteuerung

#1

Beitrag 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
Zuletzt geändert von Robert_Mini am Sa Jun 01, 2019 9:06 pm, insgesamt 1-mal geändert.
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#2

Beitrag 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.
Gruß,
Stefan K.

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

#3

Beitrag 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
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#4

Beitrag 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.
Gruß,
Stefan K.

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

#5

Beitrag 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
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

#6

Beitrag 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. :-)
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#7

Beitrag 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
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 635 Mal
Danksagung erhalten: 775 Mal

#8

Beitrag 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.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#9

Beitrag 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:
Gruß,
Stefan K.

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

#10

Beitrag 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
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>
Antworten

Zurück zu „Logikengine & Logik-Editor“