Seite 1 von 1
[V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang
Verfasst: Do Nov 07, 2024 1:38 pm
von moritzw
Hallo zusammen,
ich stehe grade vor folgender Problematik: ich möchte um 2 Uhr nachts 20.000 Wh in meinen Batteriespeicher laden.
Zeitpunkt und Wh sollen über die Visu eingestellt werden.
Aktuell kann ich die Wattstunden dank des neuen Wertaussende-Assistenten ja problemlos in der Visu eingeben und dann wird dieser Wert per MQTT an meinen Speicher (E3DC S10 pro) geschickt und der Ladevorgang beginnt.
Meine Idee nun:
- Zeitpunkt ebenfalls über die VISU einstellen und dann eine einfache Logik:
" Wenn aktuelle Uhrzeit = Zeitpunkt, dann sende den integer Wert am Eingang an den Ausgang."
Mit meinen geliebten UND-Logiken die ich bisher als Wenn-Dann-Funktion missbrauche klabbt das leider nicht. Da kommt ja immer ein Boolscher Wert raus und das Mapping kann ich nur fix einstellen.
Am liebsten wäre mir wenn ich das mit den Standard-Logiken zusammenpuzzeln könnte....mit Custom-Logik bin ich noch nicht vertraut.
Für Denkanstöße wäre ich sehr dankbar!
VG
Mo
Re: [V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang
Verfasst: Do Nov 07, 2024 6:57 pm
von gbglace
Das sind klassische Anforderungen an eine ZSU, den zeitlichen Trigger per Visu zu manipulieren.
Schaue Dir mal jene vorgestellte Logik als Ausgangsbasis an.
viewtopic.php?p=28674&hilit=Custom+ZSU#p28674
Re: [V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang
Verfasst: Sa Nov 09, 2024 11:40 pm
von Robert_Mini
Hallo Mo!
Die beste Basis ist für deine Anforderung folgender Baustein (Baustein 2):
viewtopic.php?p=20290#p20290
Der reicht den Eingang auf den Ausgang durch und sendet bei einem Trigger zb Reboot, das könnte aber auch von einem Timer 1x/Tag kommen.
Ich kann dazu morgen mal eine Kurzversion machen, wenn dir das hilft?
Lg Robert
Re: [V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang
Verfasst: So Nov 10, 2024 8:58 am
von moritzw
Hallo Robert,
Das klingt genau nach dem was ich suche. Die Logik müsste dann von boolean auf integer umgestellt werden, korrekt?
Ich glaube die Kurzversion würde mir helfen, wenn es dir nicht zuviele umstände macht.
Dann wird dieses Thema dann durch mein Einstieg in die Custom Logik
Viele Grüße
Mo
Re: [V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang
Verfasst: So Nov 10, 2024 4:40 pm
von moritzw
Hallo Robert,
habe die Logik in Kurzversion (mit zwei Multiplexer Eingängen-Ausgängen) und integer selbst hinbekommen.
Brauche zwar nur einen durchgereichten Wert, aber dann bekomm ich nen Fehler beim Abspeichern. Schätze der Multiplexer ist so schlau das er einfach mindestens zwei Eingänge braucht ....was soll er sonst auch Multiplexen.
Bei dem einfachen Zeittrigger tue ich mich noch was schwer.
Die ZSU von Göran oben erscheint mir mit Kanonen auf Spatzen zu schießen...
Ich will ja nur eine in der Visu eingestellte Stunde gegen die Stunde der aktuellen Uhrzeit vergleichen.
Mehr brauchts eigentlich zum Auslösen der Ladung nicht: Wenn zwischen 2:00 - 3:00 Uhr der günstigste Strompreis ist, dann soll einfach um 2 Uhr der Trigger ausgelöst werden.
Ich glaube der einfache Schwellwertschalter würde sich dazu anbieten. Als Eingang die Stunde der aktuellen Uhrzeit (als integer) und als Schwellwert die der gwünschte Ladezeitpunkt aus der Visu (hier dann 2 Uhr als Integer gesendet)... Aber Minus 1, da der Schwellwertschalter erst bei überschreiten der Schwelle (also dann um 3 Uhr) true ausgibt.
Bastel grade daran den Comparator-Baustein jetzt noch in die abgespeckte Durchreich-Logik zu integrieren...
VG
Mo
Re: [V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang
Verfasst: So Nov 10, 2024 5:55 pm
von Robert_Mini
Hallo Mo!
Hab kurz die Logik zusammengekürzt und auf float angepasst.
Den "alten" Trigger hab ich beibehalten, falls du das Senden mit einer anderen Logik triggern willst, ansonsten einfach als Parameter auf true (oder false) setzen, tut hier nichts zur Sache, weil der Eingang sowohl bei True als auch bei False übernommen wird.
Für deine Anwendung einfach mit dem "+" einen Trigger hinzufügen und von Intervall auf Zeitschaltuhr umstellen und 02:00:00 als Zeitpunkt festlegen.
Erklärung zur Funktion:
Die Logikzelle wird durch den Eingang mit der Triggeroption "u" nicht getriggert, der Eingang hört nur mit. Erst wenn die Logik getriggert wird (durch den Triggereingang oder den Timer/Zeitschaltuhr wird der Wert vom Eingang übernommen und auf den Ausgang durchgereicht. Da die Sendeoption am Ausgang auf "a" (always) steht, wird er auch immer gesendet. Mit "c" würde zB nur gesendet werden, wenn der neu übernommene Wert verschieden zum letzten Wert ist.
So einfach und praktisch geht das mit den Logikzellen und mit Customs sehr vielseitig. Hoffe der Einstieg ist damit geschafft, gerne weitere Fragen dazu.
lg
Robert
Durchreichen.jpg
Code: Alles auswählen
/**===========================================================
Wert mithören und bei Trigger Senden
============================================================*/
{
"Input": [
["Eingang 1","Eingang 1","$Eingang1","u"],
["Trigger","Triggereingang","$Trigger","a"]
],
"Output": [
["Ausgang 1","Ausgang 1","$Ausgang1","a"]
],
"Level": [
["$Eingang1","float",0.0],
["$Ausgang1","float",0.0],
["$Trigger","bool",false]
],
"Module": [
["Multiplexer",["$Eingang1","$Eingang1"],"$Ausgang1","$Trigger"]
]
}
/** Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License")
die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */
Re: [V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang
Verfasst: Mo Nov 11, 2024 7:46 pm
von moritzw
Hallo Robert,
besten Dank für die Angepasste Logik!
Habe den Trigger jetzt mit der
Freie Formel-Logik realisiert, da diese als IF-Then-Else mit numerischen Werten genutzt werden kann.
Durch Zufall gestern Abend noch in nem anderen Beitrag darauf aufmerksam geworden: mit der Formel '(X1==X2)?1:0' erzeuge ich mir jetzt einen Trigger, der die Aktuelle Stunde der Uhrzeit (X2) mit dem gewünschten Ladezeitpunkt vergleicht und dann auslöst.
Da sich ja die Stunde des günstigsten Strompreises (X1) ja von Tag zu Tag ändert, habe ich den Trigger so realisiert, dass ich diese Stunde in der Visu einfach setzten kann.
Dann den Trigger noch in deiner Custom-Logik von bool auf integer gesetzt und es funzt. Keine Rocket-Science, aber vielleicht liest ja noch jemand anders mit denselben Fragestellungen mit.
Damit wären die ersten Schritte für ein zukünfitg automatisiertes Nachladen bei günstigen Strompreisen geschaffen.
VG
und nochmals Danke für die Hilfe!!
Mo