Insider Preview IP 1 zur V 4.8 - veröffentlicht

Verehrte Nutzer des Timberwolf Servers. Wir haben die IP1 zur nächsten Hauptversion 4.8 für alle Modelle des Timberwolf Servers freigegeben.

Bild

Diese neue Version enthält eine neue Funktion zum selektiven Löschen von Datenpunkten in ein oder mehreren Zeitserien sowie 16 Verbesserungen und wichtige Fehlerkorrekturen


Insbesondere die neuen Funktionen zum selektiven Löschen in Zeitserien sind sehr wichtig, weil damit erstmals ein Bereinigen sowie ein Kürzen von Zeitserien möglich wird. Damit kann massiv Speicherplatz reduziert werden, womit auch Backup / Restore kürzer wird. Zudem können damit Datenschutzanforderungen umgesetzt werden.

Foren Diskussion: viewtopic.php?t=6070

Release Notes im Wiki: https://elabnet.atlassian.net/wiki/x/AYCEyw


WICHTIG: Dies ist die eine neue Insider Preview im Zyklus 4.8. Mit Installation der letzten Hauptversion 4.5 wurde der Bezug für Insider Versionen zurückgesetzt. Mitglieder im Insider Club müssen daher in der Systemaktualisierung erst den Bezug von Insider Versionen wieder freischalten, damit das Update angezeigt wird.

[TIPP] [V4.5 IP1] Custom Logik "Szenencontroller" - hier "Gute-Nacht-Logik" mit boolean und Jalo

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
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
Benutzeravatar

Ersteller
jensgulow
Beiträge: 491
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 81 Mal
Danksagung erhalten: 213 Mal

[V4.5 IP1] Custom Logik "Szenencontroller" - hier "Gute-Nacht-Logik" mit boolean und Jalo

#1

Beitrag von jensgulow »

Hallo,
Hier mal ein Baustein von mir für eine "Gute-Nacht-Szene"

Auslösung hier durch ein "false" am $input.

SOFORT nach Auslösen der Logik wird ein "false" an Ausgang "Zentral aus" gesandt (das ist bei mir die KNX-Adresse für den entsprechenden Befehl).

Zusätzlich sollen aber noch ein paar abweichende Aktionen ausgeführt werden - und dies an definierten Zeitpunkten nach dem "Gute-Nacht-Befehl".

Die nachfolgenden Schaltaktionen lassen sich jeweils um x Sekunden verzögern.

Hier aktuell im Code 3 Schaltpunkte für EINschaltereignisse ("true" am Ausgang) und 3 Schaltpunkte für AUSschaltereignisse ("false" am Ausgang).
Zusätzlich ein Ausgang für Jalousien (oder eher Rolläden). Auf diesen wird ein integer-Wert gesandt (festgelegt mit Input "Befahrhöhe Jalo").

....Prinzipiell lässt sich das alles skalieren. Nur eben die entsprtechenden Variablen erweitern.

Danke auch an @Robert_Mini für die Hilfe bei meinem "Hirnknoten" hier: viewtopic.php?f=24&t=5555#p59118

Vielleicht findet es ja jemand hilfreich ;-)

Code: Alles auswählen

/**======================================================================================= 
Gute-Nacht-Szene

-> unmittelbar 0 (false) an Zentral aus  senden, dann

-> geschalten werden einige boolean-Verbraucher sowie ein Ausgang Rollladen

-> Korrekturzeiten sind ausgehend vom Zeitpunkt des Schaltbefehles in Sekunden angegeben 
=========================================================================================*/ 
{ 
    "Level": [ 
	// Input-Level
	["$input","bool",true],
	["$norm","integer",60],
    ["$Korrektur1","int",0],
    ["$Korrektur2","int",0],
    ["$Korrektur3","int",0],
    ["$Korrektur4","int",0],
    ["$Korrektur5","int",0],
    ["$Korrektur6","int",0],
    ["$KorrekturJalo","int",0],
    ["$VAR<Inhibit?>","bool",false],

	// Interne Variablen
	["$true","bool",true],
	["$false","bool",false],
	["$input_trig","bool",false],
    ["$time","int",0],
    ["$utime","int",0],
    ["$Out1","int",0],
    ["$Out2","int",0],
    ["$Out3","int",0],
    ["$Out4","int",0],
    ["$Out5","int",0],
    ["$Out6","int",0],
    ["$OutJalo","int",0],
    ["$Formula","string","X1+X2"],

	// Output-Level
	["$zentral_out","bool",true],
    ["$Result1","bool",false],
    ["$Result2","bool",false],
    ["$Result3","bool",false],
    ["$Result4","bool",true],
    ["$Result5","bool",true],
    ["$Result6","bool",true],
    ["$ResultJalo","bool",false],
    ["$OutValue_Jalo","int",0]
	],

	"Module": [ 

	// Überprüfen, ob $input getriggert wurde
	["Triggered", "$input", "$input_trig" ],
	// Wenn getriggert und $input=0 -> dann $zentral_out auf 0 setzen
	["And" , ["$input_trig","-$input"], "-$zentral_out"],
	// 0 auf $zentral_out senden
    ["SendExplicit","$zentral_out","$zentral_out",2],
    
	// Aktueller Zeitstempel
	["Localtime",0,"$time",0,0,0,0,0,0,0,0,0],

    // nur wenn getriggert wurde $time an $utime durchreichen
    ["Latch","$time","$utime","$input_trig",0],

	// Hier Grundkontrukt für EINSCHALTereignisse
    ["CalcFormula",["$utime","$Korrektur1"], "$Out1", "$Formula"],
	// wakeup zum Zeitpunkt $Out1
	["Wakeup","$Out1","$Result1"],
	// senden aber nur , wenn $Result1 gerade auf true gewechselt hat
	["SendExplicit","$Result1","$Result1",1], // -> sendet 1 (true)
    
    ["CalcFormula",["$utime","$Korrektur2"], "$Out2", "$Formula"],
	["Wakeup","$Out2","$Result2"],
    ["SendExplicit","$Result2","$Result2",1], // -> sendet 1 (true)

    
    ["CalcFormula",["$utime","$Korrektur3"], "$Out3", "$Formula"],
	["Wakeup","$Out3","$Result3"],
    ["SendExplicit","$Result3","$Result3",1], // -> sendet 1 (true)

	// Hier Grundkontrukt für AUSSCHALTereignisse
    ["CalcFormula",["$utime","$Korrektur4"], "$Out4", "$Formula"],
	["Wakeup","$Out4","-$Result4"],
    ["SendExplicit","-$Result4","$Result4",1], // -> sendet 0 (false)


    ["CalcFormula",["$utime","$Korrektur5"], "$Out5", "$Formula"],
	["Wakeup","$Out5","-$Result5"],
    ["SendExplicit","-$Result5","$Result5",1], // -> sendet 0 (false)

    
    ["CalcFormula",["$utime","$Korrektur6"], "$Out6", "$Formula"],
	["Wakeup","$Out6","-$Result6"],
    ["SendExplicit","-$Result6","$Result6",1], // -> sendet 0 (false)

	// Hier Grundkonstrukt für Jalousie
    ["CalcFormula",["$utime","$KorrekturJalo"], "$OutJalo", "$Formula"],
	["Wakeup","$OutJalo","$ResultJalo"],
    // erst dann $norm an $OutValue_Jalo durchreichen
    ["Latch","$norm","$OutValue_Jalo","$ResultJalo",1],
    ["SendExplicit","$ResultJalo","$OutValue_Jalo",1]

	], 

	"Input": [ 
    ["INPUT","Verbunden mit 0/1/2","$input","ai"],    
    ["Korrektur1 EIN","Zeit in sec (positiv oder negativ)","$Korrektur1","u"],
    ["Korrektur2 EIN","Zeit in sec (positiv oder negativ)","$Korrektur2","u"],
    ["Korrektur3 EIN","Zeit in sec (positiv oder negativ)","$Korrektur3","u"],
    ["Korrektur1 AUS","Zeit in sec (positiv oder negativ)","$Korrektur4","u"],
    ["Korrektur2 AUS","Zeit in sec (positiv oder negativ)","$Korrektur5","u"],
    ["Korrektur3 AUS","Zeit in sec (positiv oder negativ)","$Korrektur6","u"],
    ["Korrektur JALO","Zeit in sec (positiv oder negativ)","$KorrekturJalo","u"],
    ["Befahrhöhe JALO","welche Höhe soll angefahren werden? (in%)","$norm","u"],    
    ["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
	], 

	"Output": [ 
    ["ZENTRAL AUS","KNX-Adresse für Zentral AUS","$zentral_out","x"],
    ["EINSCHALTEN 1","Schaltereignis 1","$Result1","x"],
    ["EINSCHALTEN 2","Schaltereignis 2","$Result2","x"],
    ["EINSCHALTEN 3","Schaltereignis 3","$Result3","x"],
    ["AUSSCHALTEN 1","Schaltereignis 4","$Result4","x"],
    ["AUSSCHALTEN 2","Schaltereignis 5","$Result5","x"],
    ["AUSSCHALTEN 3","Schaltereignis 6","$Result6","x"],
    ["JALO ZU","Jalo WZ auf $norm fahren","$OutValue_Jalo","x"]
	] 
} 
/**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. */ 
Zuletzt geändert von jensgulow am So Nov 24, 2024 12:30 pm, insgesamt 1-mal geändert.
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, TWS 3500XL#1691 VPN offen, Reboot erlaubt

gbglace
Beiträge: 4141
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1452 Mal
Danksagung erhalten: 1943 Mal

#2

Beitrag von gbglace »

Ist ja quasi ein skalierbare Szenencontroller Baustein. Die Verzögerungen sind dabei sehr interessant.
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
Benutzeravatar

Ersteller
jensgulow
Beiträge: 491
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 81 Mal
Danksagung erhalten: 213 Mal

#3

Beitrag von jensgulow »

Hallo Göran,
Da hast Du Recht..... Habe mal den Titel angepasst ☺️
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, TWS 3500XL#1691 VPN offen, Reboot erlaubt
Antworten

Zurück zu „Zusätzliche Logikbausteine“