Neue Insider Version 1 zur V 4.5 verfügbar

NEU! Dynamische Akzentfarben in der VISU per Objekt steuerbar
NEU! Seite wechseln sperren per Objekt
NEU! Neue Symbole in VISU und Logik Manager
NEU! Putzmodus im VISU Client
NEU! Umfangreich verbesserter Logik Manager


Alle Informationen hier: https://elabnet.atlassian.net/wiki/x/AYD5ng

[Beantwortet] [V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang

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
moritzw
Reactions:
Beiträge: 189
Registriert: Di Jan 01, 2019 1:54 pm
Hat sich bedankt: 48 Mal
Danksagung erhalten: 75 Mal

[V4.1] "Durchreichen" eines Eingangswertes von Eingang an Ausgang

#1

Beitrag 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
Timberwolf 3500XL ID:1404, Support-VPN: offen, Reboot erlaubt

gbglace
Reactions:
Beiträge: 3833
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1350 Mal
Danksagung erhalten: 1792 Mal

#2

Beitrag 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
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU

Robert_Mini
Reactions:
Beiträge: 3842
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1231 Mal
Danksagung erhalten: 2130 Mal

#3

Beitrag 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
Zuletzt geändert von Robert_Mini am Sa Nov 09, 2024 11:41 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
moritzw
Reactions:
Beiträge: 189
Registriert: Di Jan 01, 2019 1:54 pm
Hat sich bedankt: 48 Mal
Danksagung erhalten: 75 Mal

#4

Beitrag 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
Timberwolf 3500XL ID:1404, Support-VPN: offen, Reboot erlaubt

Ersteller
moritzw
Reactions:
Beiträge: 189
Registriert: Di Jan 01, 2019 1:54 pm
Hat sich bedankt: 48 Mal
Danksagung erhalten: 75 Mal

#5

Beitrag 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
Timberwolf 3500XL ID:1404, Support-VPN: offen, Reboot erlaubt

Robert_Mini
Reactions:
Beiträge: 3842
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1231 Mal
Danksagung erhalten: 2130 Mal

#6

Beitrag 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. */
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
moritzw
Reactions:
Beiträge: 189
Registriert: Di Jan 01, 2019 1:54 pm
Hat sich bedankt: 48 Mal
Danksagung erhalten: 75 Mal

#7

Beitrag 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
Timberwolf 3500XL ID:1404, Support-VPN: offen, Reboot erlaubt
Antworten

Zurück zu „Logikengine & Logik-Editor“