NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Beantwortet] [V 3.5.1] Zyklisch Fixwerte schreiben, wenn Logik erfüllt

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
Saarlaender
Reactions:
Beiträge: 112
Registriert: Sa Jan 05, 2019 1:16 pm
Wohnort: Saarland
Hat sich bedankt: 12 Mal
Danksagung erhalten: 6 Mal

[V 3.5.1] Zyklisch Fixwerte schreiben, wenn Logik erfüllt

#1

Beitrag von Saarlaender »

Servus Leute,

ich bin noch nicht ganz warm geworden mit der LogikEngine und möchte hier mal das konkrete Vorhaben posten in der Hoffnung dass mir jemand auf die Sprünge helfen kann.

Zeitlich gesehen wärs vermutlich doch schneller, wenn ich einfach den Umweg über OpenHab und den KNX-Bus gehe ... aber ich wills ja gerne "richtig" machen und eigentlich auch auf kurz oder lang von OpenHab weg.


Also, mein SMA Sunny Island kann via Modbus gesteuert werden. Konkret will ich steuern, ob und inwiefern er die Batterie laden darf oder nicht. Ab Werk lädt er nämlich schnellstmöglich auf 100% und das möchte ich auf "spätestmöglich" ändern - in späteren Erweiterungen mit variablen Schwellen und dazu sollten die Schwellen Wetter- bzw. Prognoseabhängig sein.
Falls sich jemand mit SMA auskennt: ich bin mit SMA in Kontakt und es gibt - zumindest ohne Wirkleistungsbegrenzung - derzeit keine Möglichkeit das mit dem SHM2.0 oÄ zu realisieren.

Zu dieser Steuerung des Ladevorgangs muss ich alle 10 Sekunden 4 Modbus-Register schreiben. Was genau geschrieben wird, steht fest und muss weder einstellbar noch einsehbar sein - wobei das bei mir derzeit sowieso nur via OpenHab und damit über den Umweg KNX ginge.


Meine Idee war jetzt mal einfach formuliert wie folgt

2 Variablen anlegen, die testweise fix beschrieben werden - in erster Erweiterung aber auf die Visu kommen (derzeit OpenHab):
#1: Eigene Lade-Automatik aktiv (true = meine Logik regelt | false = SMA regelt)
#2: Laden gesperrt (true = Batterie wird nicht geladen | false = Batterie wird geladen)

Logik:
Wenn "Eigene Lade-Automatik aktiv" dann wird in Abhängigkeit von Wetter (evt. Info Wetterstation sowie aktueller PV-Ertrag) und Vorhersage (Bewölkung; geht das überhaupt mit dem Timberwolf?) die Variable "Laden gesperrt" auf true oder false gesetzt. Dabei sollen Timer wirken, damit nicht ständig hin und her geschaltet wird

Wenn "Eigene Lade-Automatik aktiv" und "Laden gesperrt", werden 4 vorher festgelegte Fixwerte via Modbus geschickt und das Laden damit gesperrt
Wenn "Eigene Lade-Automatik aktiv" = false oder "Laden gesperrt" = false, dann werden 4 andere Fixwerte via Modbus geschickt und das Laden wieder freigegeben

Das Senden erfolgt alle 10 Sekunden



Wenn ich eigene Variablen anlegen und Logik in Textform tippen könnte, wär ich denke ich schnell durch. So bin ich aber erstmal planlos.
PS: Den Workaround mit Additionsbaustein (Fixwert mit 0 Addieren) war schon ein guter Hinweis aus dem anderen Beitrag :-)
Zuletzt geändert von blaubaerli am Mo Jul 24, 2023 10:05 pm, insgesamt 1-mal geändert.
Daniel aus dem Saarland :-)

TWS 2600 (ID 170) + TWS3500XL (ID 1216) + PBM01 (ID 597)
Wartungs-VPN aktiv
Reboot nur nach Rücksprache (Wg. Docker)

gbglace
Reactions:
Beiträge: 3634
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1277 Mal
Danksagung erhalten: 1680 Mal

#2

Beitrag von gbglace »

Derzeitiger Software Stand?
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
#3 PBM 3 Kanäle, #4 Modbus-Extension

Mibr85
Reactions:
Beiträge: 510
Registriert: Mo Dez 02, 2019 5:38 am
Wohnort: Freital
Hat sich bedankt: 396 Mal
Danksagung erhalten: 213 Mal

#3

Beitrag von Mibr85 »

Hallo Daniel
bitte die Forumsregeln oben im blauen Kasten beachten
Grüße Micha

TWS 3500 XL #1209 + TWS 2600 #528 + PBM #972,
VPN offen, Reboot möglich
PLZ 01...

Ersteller
Saarlaender
Reactions:
Beiträge: 112
Registriert: Sa Jan 05, 2019 1:16 pm
Wohnort: Saarland
Hat sich bedankt: 12 Mal
Danksagung erhalten: 6 Mal

#4

Beitrag von Saarlaender »

Ich bekomm den Beitrag nicht mehr geändert?!

Timberwolf: 3.5.1
Daniel aus dem Saarland :-)

TWS 2600 (ID 170) + TWS3500XL (ID 1216) + PBM01 (ID 597)
Wartungs-VPN aktiv
Reboot nur nach Rücksprache (Wg. Docker)

Robert_Mini
Reactions:
Beiträge: 3758
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1173 Mal
Danksagung erhalten: 2078 Mal

#5

Beitrag von Robert_Mini »

Hallo Daniel!

Deine Anforderung sollte sich auf Basis dieses Bausteins viewtopic.php?f=65&t=1894&hilit=reboot+senden#p20290 lösen lassen.
Die Eingänge als Parameter auf die 4 Werte, über 2xAND (deine 2 Bedingungen) ein Inhibit (Sperre) ansteuern und einen zyklischen Trigger für die 10s auf den Triggereingang legen.

Falls das zu knapp war, kurz melden, dann bereite ich dir ein paar Dinge genauer auf/vor.

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

StefanW
Elaborated Networks
Reactions:
Beiträge: 9892
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4892 Mal
Danksagung erhalten: 7854 Mal
Kontaktdaten:

#6

Beitrag von StefanW »

Hi Daniel,
Saarlaender hat geschrieben: Mi Jul 19, 2023 8:43 pmWenn ich eigene Variablen anlegen und Logik in Textform tippen könnte, wär ich denke ich schnell durch. So bin ich aber erstmal planlos.
Ich nehme an, Du meinst mit "Textform" eigentlich eine herkömmliche Skriptsprache wie Python. Weil "Custom Logiken" kann man im Timberwolf Server auch in Textform eingeben.

Wir verstehen den Wunsch einiger Kunden nach "Logik als Script", dieser kommt voranging von denjenigen, die Softwareentwicklung betreiben. Allerdings können hier zig ineinander verschachtelte IF THEN Schleifen durchaus auch eine gewisse Unübersichtlichkeit schaffen.

Wir haben uns beim Design des Timberwolf Servers deshalb zunächst für binäre Logikbausteine entschieden, weil wir damit kompatibel zu den gängigen Logikbausteinen bei KNX sind, so dass Integratoren einen leichten Übergang haben. Zudem ist unsere Logik pfeilschnell und alles läuft parallel.

Das Design des Timberwolf Servers würde jedoch auch mehrere parallele Logikengines zulassen. Womöglich haben wir tatsächlich eines Tages auch eine zweite Engine, in der man herkömmliche Scriptsprachen benutzen kann.

Als Workaround kann man sich einfach einen Docker Container mit einer Python Umgebung (oder andere Scriptsprache) machen und installiert eine MQTT Client Lib dazu. Dann noch einen zweiten Container mit einem MQTT Broker und Du kannst wunderbar Deine Script-Logiken dort ablaufen und via MQTT mit dem Objektsystem kommunizieren lassen. Ich kenne einige Integratoren, die das so machen, insbesondere für komplexe Abläufe.

Es ist nicht so, dass dies alles mit dem Timberwolf Server nicht möglich ist. Genau dafür sind die Docker Container ja da, dass man darin die selbst geschriebene Software ablaufen lassen kann.


lg

Stefan
Zuletzt geändert von StefanW am Di Jul 25, 2023 10:24 am, insgesamt 1-mal geändert.
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
Saarlaender
Reactions:
Beiträge: 112
Registriert: Sa Jan 05, 2019 1:16 pm
Wohnort: Saarland
Hat sich bedankt: 12 Mal
Danksagung erhalten: 6 Mal

#7

Beitrag von Saarlaender »

Danke, hab das Ganze mal versucht. Aktuell hänge ich an einem SINT-Datentyp. Ich schreibe 0 aus der Logik (auch schon +1 sowie -1 versucht), aber die Modbus-Sendegruppe bringt dazu nen Fehler "...keine erfolgreiche Konvertierung".

Ich pack das mal in das Modbus-Forum :-)
Zuletzt geändert von Saarlaender am Fr Aug 04, 2023 8:49 am, insgesamt 3-mal geändert.
Daniel aus dem Saarland :-)

TWS 2600 (ID 170) + TWS3500XL (ID 1216) + PBM01 (ID 597)
Wartungs-VPN aktiv
Reboot nur nach Rücksprache (Wg. Docker)
Antworten

Zurück zu „Logikengine & Logik-Editor“