Seite 3 von 4

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: Sa Feb 22, 2020 10:20 am
von eib-eg
Ich möchte mal hier meinen Hut vor Robert ziehen.

Es ist faszinierend wie du dich im Forum einbringst.

Ich hoffe ich gebe die richtigen Worte,
dies verdient in meinen Augen HOCHACHTUNG .

Leider liegt mir das Schreiben nicht so in den Fingern,
deswegen nur die paar Worte.

In der Hoffnung das ich, in dadurch mehrere Personen die sich nicht trauen oder keine Zeit oder auch stillschweigend mitlesen, einfach mal nur DANKE sage, für deine Aufopferung und Hingabe deiner Zeit, die richtigen Worte gefunden habe.

Nochmals
DANKE

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: Sa Feb 22, 2020 6:48 pm
von Robert_Mini
Danke für dein Posting!
Es macht mir durchaus Spaß und freut mich wenn’s gefällt!

Allerdings frage ich mich manchmal schon auch, ob’s das Wert ist?
Warum? Mein Eindruck ist, dass nur wenige daran interessiert sind oder zumindest kein Interesse zeigen. Hier hat gerade mal CHD aktiv mitgemacht (freut mich!), 2-3 andere haben dankenswerterweise bei Rückfragen mitgeholfen. Da fragt man sich aber schon, ob es sonst keinen interessiert?

Das gleiche bei den ca. 15 aufwendigen Custom Logiken, die ich geteilt habe (inkl. aufwendiger Beschreibung). Praktisch keine Rückmeldung...
Da hat man gelegentlich das Gefühl, dass die Dinge keiner braucht.
So ein Zweizeiler, dass man die Logik verwendet und macht was sie soll, oder ähnliches wär da schon motivierend. Alleine deshalb, weil die (Mehr-) Arbeit dann nicht umsonst war.

lg
Robert

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: Sa Feb 22, 2020 7:28 pm
von alexbeer
Hi Robert,
ich bin dir total dankbar, dass du Custom-Logiken erstellst, mit der Community teilst und auch noch Tutorials verfasst. Pl
Einige habe ich hierbei auch schon übernommen.
Die waren so sauber, dass ich da keine Rückfragen hatte.

Als Danksagung hatte StefanW mal drum gebeten, (auch) den Danksagungsbutton zu verwenden, da dies auch im Profil ersichtlich wird. Ich habe dies zum Anlass genommen, nur noch diese Funktion zu verwenden...

Wenn es dich motiviert, dich weiterhin so für die Community zu engagieren, dann gibt es zukünftig den Danke-Button + kurzen Text!

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: Sa Feb 22, 2020 7:55 pm
von Robert_Mini
Danke - freut mich.

Stefan hat im Grunde recht, in diesem Fall geht es mit ein wenig darum, zu wissen, ob jemand die Dinge brauchen kann. Das erkennt man am Danke allein nicht.

Oft habe ich auch noch mehr Ideen zu den Bausteinen im Kopf, daher freut mich jede Rückmeldung und Diskussion, denn Selbstgespräche will ich keine führen :naughty: .

Lg
Robert

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: Sa Feb 22, 2020 11:19 pm
von starwarsfan
Hoi Robert,

ich werde mir diesen Custom-Baustein sicher genauer ansehen, da ich ja selbigen Usecase quasi identisch mit Edomi realisiert habe. Daher ist das für mich vermutlich der beste Einstieg, mich mit der cryptischen und für mich im Moment noch völlig umständlichen Custom-Logik-Syntax auseinanderzusetzen. 8-)

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: Sa Feb 22, 2020 11:40 pm
von eib-eg
Ich habe zwar keine Entkalkungsanlage (noch nicht)
was mich noch interessieren würde, wäre
A. Aufsummieren ohne löschen der Rückspühlungen
B. Der durch A verbrauchte Jahres und gesamt Wasserverbrauch mit natürlich einer einmaligen Eingabe eines Spühlgangs.
C.aufzählen ohne löschen wie oft die A aktiviert wurde

Diese und noch mehr Ideen stecken in meinen Kopf für Statistiken oder Garantie usw
Hier kommt ein wenig mein innere Überwachung und Kontroll ( sucht) zum Vorschein
Wenn ich Infos bekomme wenn schon denn schon dann alles was geht 🤷‍♂️
Und hier zeigt sich wenn Mann oder auch Frau einen guten Lehrmeister hat, macht es Spaß mitzulesen.
Was mir dann immer passiert, das ich vergesse den Daumen zu drücken oder zu feige bin was zu schreiben.

Lange Rede kurzer Sinn
Robert nochmals
DANKE

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: So Feb 23, 2020 10:55 am
von Robert_Mini
So bevor es inhaltlich weitergeht: Danke für eure Kommentare. Auch sei an dieser Stelle erwähnt, dass es es sehr wohl einige stille Mitleser gibt, die sich bei mir per PN bedanken und erkenntlich zeigen wollen (was nicht meine Erwartung ist, aber mich natürlich freut, wenn Leute den Aufwand zu schätzen wissen, der in mancher Arbeit steckt).

lg
Robert

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: So Feb 23, 2020 10:59 am
von Robert_Mini
Weiter geht es mit Schritt 8:
Hier wird die Warnung bei niedrigem Füllstand und ein zugehöriges zyklisches Senden umgesetzt.

Schritt 8:
  • Mittels Modul Comparator wird der aktuelle Füllstand $Fuellstand mit dem Minimum für Warnung $I_Fuellstand_Min verglichen. Das Ergebnis wird invertiert (da der Comperator >x => true prüft) und in die Variable $Warnung geschrieben, daher -$Warnung!
    $Warnung wird also bei <= $I_Fuellstand_Min true.
  • Zusätzlich wird bei $Warnung = true ein Modul Clocksignal aktiviert, das im zyklisch alle $I_WarnungInterval die Logik triggert. Durch die Sendeoption "ct" beim Ausgang "Warnung Füllstand" wird damit die Warnung bei Änderung und zyklisch gesendet (Achtung: Im Screenshot fehlt das T bei CT, sollte aber mit dem angehängten Code richtig erstellt werden)!
Doe Logik ist damit eigentlich fertig.
Einen Schritt gibt es aber noch :o :o :o - was könnte das sein??

Lg Robert

Bild

Code: Alles auswählen

//================ Schritt 8 =====================
//Warnung + zyklisches Senden
{
  "Input": [
	        ["Temperatur Rueckspülung","Temperatur gemessen an der Rückspülleitung","$I_Temp","a"],
		["Zeitkonstante Glättung","Zeitkonstante der geglätteten Temperatur, gegen die Delta T gemessen wird","$I_Glaettung","c"],
		["Delta T Rückspülung","Schwelle zur Erkennung Temperaturabfall bei Rückspülung","$I_DeltaT","c"],
		["Dauer Rückspülung","Dauer für Ausgabe Rückspülung aktiv","$I_RS_Dauer","c"],
		["Sperrzeit nach Rückspülung","Mindestzeit, bevor wieder eine Rückspülung erkannt wird","$I_Sperrzeit","c"],
		["Füllstandsverringerung je Rückspülung","","$I_HoeheRueckspuelung","c"],
		["Trigger nachfüllen","Trigger für Nachfüllen je Sack","$I_TriggerNachfuellen","c"],
		["Füllstandserhöhung je Sack","","$I_HoeheSack","c"],
		["Füllstand Warnung","","$I_Fuellstand_Min","c"],
		["Warnung Interval","","$I_WarnungInterval","c"]
  ],
  "Output": [
		["Rückspülung Jahr","Anzahl Rückspülungen im aktuellen Jahr","$RS_Anzahl","c"],
		["Rückspülung Aktiv","Rückspülung läuft","$RS_Stat?","c"],
		["Füllstand aktuell","Aktueller Füllstand","$Fuellstand","c"],
		["Säcke Jahr","Anzahl der nachgefüllten Säcke im laufenden Jahr","$Saecke_Anzahl","c"],
		["Warnung Füllstand","Trigger GA für Warnung","$Warnung","ct"],
		["Temperatur geglättet","Temperatur nach Tiefpassfilter","$TempGeglaettet?","c"]
		
		//["_And_Sperrre_Aktiv","Temperatur nach Tiefpassfilter","$Sperre_Aktiv","c"],	
		// Debug Ausgänge
		//["_Temp_CResult","Vergleich der Temperaturen","$Temp_CResult","c"],
		//["_And_RS_Neu","Temperatur nach Tiefpassfilter","$Rueckspuelung_Neu","c"],
		
  ],
  "Level": [
		["$I_Temp","float",20.0],
		["$TempGeglaettet","float",20.0],
		["$I_DeltaT","float",3.0],
		["$I_Sperrzeit","float",3.0],
		["$I_RS_Dauer","float",3.0],
		["$I_Glaettung","float",36000.0],
		["$I_TriggerNachfuellen","bool",false],
		["$I_HoeheSack","float",25.0],
		["$I_HoeheRueckspuelung","float",2.0],
		["$RS_Anzahl","integer",0],
		["$RS_AnzahlNeu","integer",0],
		["$Fuellstand","float",25.0],
		["$FuellstandNeu","float",0.0],
		["$Saecke_Anzahl","integer",0],
		["$Saecke_AnzahlNeu","integer",0],
		["$ResetJahr","string","31 0 0 1 * *"],
		["$ResetJahrTrigger","bool",false],
		// Zusätzlich
		["$I_Fuellstand_Min","float",20.0],
		["$Warnung","bool",false],
		["$I_WarnungInterval","float",86400.0],
		//
		["$Temp_Schwelle","float",0.0],
		["$Temp_CResult","bool",false],
		["$TimerStat","bool",false],
		["$RS_Stat","bool",false],
		["$Sperre_Aktiv","bool",false],
		["$Sperrzeit_Gesamt","float",3.0],
		["$Rueckspuelung_Neu","bool",false],
		
		["$KonstTrue","bool",true],
		["$KonstFalse","bool",false],
		["$Konst0","float",0.0],
		["$Konst1","float",1.0]
  ],
  "Module": [
		["Cron","$KonstTrue","$ResetJahrTrigger",0,"$ResetJahr"],
		// Temperatur Glättung
		["Lowpass","$I_Temp","$TempGeglaettet","$I_Glaettung"],
		
		// Vergleich T aktuell < (T geglättet - DeltaT)
		["Polynomial", "$Konst1", "$Temp_Schwelle",["$TempGeglaettet", "-$I_DeltaT"]],
		["Comparator" , "$I_Temp" , "-$Temp_CResult" , "$Temp_Schwelle"],
		
		// Rueckspuelung erkennen
		["And",["$Temp_CResult","-$Sperre_Aktiv"], "$Rueckspuelung_Neu"],
		["Polynomial", "$Konst1", "$Sperrzeit_Gesamt",["$I_RS_Dauer", "$I_Sperrzeit"]],
		// Fuellstand neu berechnen und merken, wenn Rueckspuelung erkannt
		["Polynomial", "$Konst1", "$FuellstandNeu",["$Fuellstand", "-$I_HoeheRueckspuelung"]],
		["Latch","$FuellstandNeu","$Fuellstand","$Rueckspuelung_Neu",0],
		// Zaehler neu berechnen und merken, wenn Rueckspuelung erkannt
		["Polynomial", "$Konst1", "$RS_AnzahlNeu",["$RS_Anzahl", "$Konst1"]],
		["Latch","$RS_AnzahlNeu","$RS_Anzahl","$Rueckspuelung_Neu",0],
		
		// Timer Sperre und Rückspülung
		["Polynomial", "$Konst1", "$Sperrzeit_Gesamt",["$I_RS_Dauer", "$I_Sperrzeit"]],
		["Monoflop","$Rueckspuelung_Neu","$KonstFalse","$RS_Stat","$I_RS_Dauer",0],
		["Monoflop","$Rueckspuelung_Neu","$KonstFalse","$Sperre_Aktiv","$Sperrzeit_Gesamt",0],

		// Warnung bei Fuelstand <Mindestzeit
		["Comparator" , "$Fuellstand" , "-$Warnung" , "$I_Fuellstand_Min"],
		["Clocksignal","$Warnung",0,"$I_WarnungInterval"],
		
		// Trigger Nachfuellung => Fuellstand + Sackanzahl erhöhen
		["Polynomial", "$Konst1", "$Saecke_AnzahlNeu",["$Saecke_Anzahl", "$Konst1"]],
		["Latch","$Saecke_AnzahlNeu","$Saecke_Anzahl","$I_TriggerNachfuellen",0],
		["Polynomial", "$Konst1", "$FuellstandNeu",["$Fuellstand", "$I_HoeheSack"]],
		["Latch","$FuellstandNeu","$Fuellstand","$I_TriggerNachfuellen",0],
		// Triggereingang auf False setzen
		["Multiplexer",["$I_TriggerNachfuellen","$KonstFalse"],"$I_TriggerNachfuellen","$I_TriggerNachfuellen"],
		
		// Trigger Reset Jahr => Anzahl Rueckspuelungen auf 0 setzen
		["Latch","$Konst0","$RS_Anzahl","$ResetJahrTrigger",0],
		["Latch","$Konst0","$Saecke_Anzahl","$ResetJahrTrigger",0]	
  ]
}

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: So Feb 23, 2020 10:44 pm
von CHD
Robert_Mini hat geschrieben: So Feb 23, 2020 10:59 am
Doe Logik ist damit eigentlich fertig.
Einen Schritt gibt es aber noch :o :o :o - was könnte das sein??

Lg Robert
Hallo Robert,

ich habe keine Ahnung. In der Schule hat man dann immer gehofft, dass sich einer der Mitschüler mit einem Geistesblitz meldet. Aber hier kommt nix.... :?

Erlöse uns von den Qualen, weil sonst muss ich gleich ins Bett ohne Antwort :shock:

Oder vielleicht noch ein Tipp :angelic-halo:


Gruß, Christian

Re: Tutorial: Schritt für Schritt zur Custom-Logik "Entkalkungsanlage"

Verfasst: So Mär 29, 2020 7:59 pm
von Robosoc
Alter Schwede Robert, was für eine Hammer-Anleitung und auch Logik...ich werde die jetzt auf jeden Fall verwenden...habe heute gerade Fühler am Grünbek-Vorlauf und -Rücklauf angebracht und wollte eigentlich nur noch einmal nachlesen, was Ihr mir damals in dem anderen Threat (der diesem vorausgegangen ist und den Du hier im Beitrag #1 ja auch noch einmal verlinkt hast) für Tipps gegeben habt...und da entdecke ich das hier...Vielen vielen Dank!!!

Ich habe noch keine Ahnung was Du meinst mit "Einen Schritt gibt es aber noch :o :o :o - was könnte das sein??", aber vielleicht wird mir das beim Einsatz und den Verschaltungen klar. Deine "Senden nach Initialisierung" Bausteine sind bei mir auch noch auf der Liste. Deinen "Sommer-Winter nach Norm" Baustein nutze ich bereits 1x und es kommt für die JAlousie bald die zweite Nutzung hinzu. Und auch die Jalousiebausteie von Dir werde ich nutzen, aber im Moment bin ich froh, dass meine teure Siemens-Wetterstation Sonne und Wind noch einigermaßen gut erkennt und die 5 Fassadenflächen damit völlig autark und zufriedenstellend gesteuert werden, nachdem der Temperatur- und Regensensor darin schon den Geist aufgegben hat.

Wirklich ein ganz ganz DICKES Danke für alle Deine Arbeit...ja nicht nur in den Logiken, sonder nauch in der KB von der ich immer wieder zerre!