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.

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.
[Frage] [V4.1] Logik zur Berechnung von Energie aus Leistung
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
-
Elkomaster91
- Beiträge: 68
- Registriert: So Sep 23, 2018 11:19 pm
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 18 Mal
[V4.1] Logik zur Berechnung von Energie aus Leistung
Hihi, kann ich mit der Timberwolf-Logik, mir einen eigenen Verbrauchszähler bauen?
Ich bekomme sekündlich Leistungswerte aus einem Shelly in W und würde gerne daraus einen Zähler haben der mir kontinuierlich den Verbrauch berechnet in Wh oder kWh?
Gruß Hardi
Ich bekomme sekündlich Leistungswerte aus einem Shelly in W und würde gerne daraus einen Zähler haben der mir kontinuierlich den Verbrauch berechnet in Wh oder kWh?
Gruß Hardi
Zuletzt geändert von Mibr85 am Di Okt 28, 2025 2:06 pm, insgesamt 1-mal geändert.
TWS 950Q ID:351, VPN offen, Reboot erlaubt - Daheim | Edomi | evcc | Victron PV + Akku
TWS2500 ID:1160, VPN offen, Reboot erlaubt - im Vereinsgebäude
TWS2500 ID:1160, VPN offen, Reboot erlaubt - im Vereinsgebäude
-
Sun1453
- Beiträge: 2309
- Registriert: Do Feb 07, 2019 8:08 am
- Hat sich bedankt: 2125 Mal
- Danksagung erhalten: 915 Mal
Hatte da schon verschiedene Sachen im Forum gesehen. Die Logik Gurus des Forums können bestimmt weiterhelfen.
Gruß Michael
Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |
Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |
-
cheater
- Beiträge: 716
- Registriert: Sa Aug 11, 2018 11:16 pm
- Hat sich bedankt: 489 Mal
- Danksagung erhalten: 326 Mal
Liefert der Shelly nicht auf aufsummierte Werte, wie Tagesverbrauch oder so? Das wäre bestimmt einfacher zu nutzen.
Grüße, Dominic
Timberwolf 2400 #126, VPN offen, Reboot nach Absprache
Timberwolf 2400 #126, VPN offen, Reboot nach Absprache
-
gbglace
- Beiträge: 4154
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1455 Mal
- Danksagung erhalten: 1957 Mal
Ja welcher Shelly ist es denn genau?
Man kann natürlich auch aus diversen W Werten ein Integralbauen, aber Das ist dann schon ziemlich aufwändig. Ich würde da auch eher nochmal in den Datenstrom des Shelly schauen und deren Wh oder kWh nutzen.
Diese Werte dann weiter aufhübschen geht dann mit den Zählerbausteinen die in den Customlgiksammlungen hier im Forum schon vorgestellt wurden. Wenn der Wh- oder kWh-Wert vom Shelly nicht stabil sein sollte, dagegen habe ich mir mal eine Customlogik gebaut, die quasi trotz optischen reset der Zählerstände passend weiterzählt.
Man kann natürlich auch aus diversen W Werten ein Integralbauen, aber Das ist dann schon ziemlich aufwändig. Ich würde da auch eher nochmal in den Datenstrom des Shelly schauen und deren Wh oder kWh nutzen.
Diese Werte dann weiter aufhübschen geht dann mit den Zählerbausteinen die in den Customlgiksammlungen hier im Forum schon vorgestellt wurden. Wenn der Wh- oder kWh-Wert vom Shelly nicht stabil sein sollte, dagegen habe ich mir mal eine Customlogik gebaut, die quasi trotz optischen reset der Zählerstände passend weiterzählt.
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
#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
-
pbm
- Beiträge: 232
- Registriert: Mo Dez 02, 2019 10:20 pm
- Wohnort: Hannover
- Hat sich bedankt: 153 Mal
- Danksagung erhalten: 144 Mal
Hallo Hardi,
hier ein Baustein, der das macht, was du brauchst:

Die Eingänge "Triggerintervall" und "Trigger 1" müssen die selbst Zeitkonstante haben.
Der Parameter "Schwelle" bestimmt, wie groß das Delta des Zählwerts sein muss, damit der Ausgang aktualisiert wird.
(Damit nicht, wie in meinem Beispiel alle zwei Sekunden ein Wert auf den Ausgang geschrieben wird.)
Nutzungsrechte:
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.
hier ein Baustein, der das macht, was du brauchst:

Die Eingänge "Triggerintervall" und "Trigger 1" müssen die selbst Zeitkonstante haben.
Der Parameter "Schwelle" bestimmt, wie groß das Delta des Zählwerts sein muss, damit der Ausgang aktualisiert wird.
(Damit nicht, wie in meinem Beispiel alle zwei Sekunden ein Wert auf den Ausgang geschrieben wird.)
Code: Alles auswählen
/**===========================================================
Integral Intervall
W rein -> kWh raus
============================================================*/
{
"_Meta": { // Optional
"Description": "Integral Intervall",
"Version": "1.00",
"Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
},
"Level":[
["$Leistung","float",0.0],
["$Arbeit_Wh","float",0.0],
["$Arbeit_kWh","float",0.0],
["$Arbeit_Rest_Wh","float",0.0],
["$Arbeit_Merker_kWh","float",0.0],
["$Arbeit_Merker_Schwelle_kWh","float",0.0],
["$Triggerintervall","float",2.0],
["$Teiler","float",1.0],
["$Time","float",1.0],
["$pluskWh","float",0.0],
["$Konst0","float",0.0],
["$Konst1","float",1.0],
["$Konst3600","float",3600.0],
["$Konst1000","float",1000.0],
["$plus1","bool",false],
["$Gate","bool",false],
["$Diff","float",0.0],
["$Schwelle","float",0.1],
["$KonstFalse","bool",false],
["$Formel_Time","string","X1/X2"],
["$Formel_Teiler","string","X1*X2"],
["$Formel_Arbeit_Wh","string","X1+X2"],
["$Formel_Arbeit_Rest_Wh","string","X1-X2"],
["$Formel_Arbeit_Merker_kWh","string","X1+X2"],
["$Formel_Arbeit_kWh","string","X1+(X2/X3)"],
["$Formel_Arbeit_Schwelle_kWh","string","X1-X2"]
],
"Module": [
//3600 Sekunden / Triggerintervall = Time
["CalcFormula",["$Konst3600","$Triggerintervall"],"$Time","$Formel_Time"],
//Time * 1000 = Teiler
["CalcFormula",["$Time","$Konst1000"],"$Teiler","$Formel_Teiler"],
//Leistung + Arbeit_Wh = Arbeit_Wh
["CalcFormula",["$Leistung","$Arbeit_Wh"],"$Arbeit_Wh","$Formel_Arbeit_Wh"],
//Arbeit_Wh größer Teiler? -> plus1 = 1
["Comparator","$Arbeit_Wh","$plus1","$Teiler"],
//Arbeit_Wh - Teiler = Arbeit_Rest_Wh
["CalcFormula",["$Arbeit_Wh","$Teiler"],"$Arbeit_Rest_Wh","$Formel_Arbeit_Rest_Wh"],
//Wenn plus1 = 1, dann Arbeit_Rest_Wh = Arbeit_Wh, ansonten nichts tun
["Multiplexer",["$Arbeit_Wh","$Arbeit_Rest_Wh"],"$Arbeit_Wh","$plus1"],
// Wenn plus1 = 1, dann pluskWh = 1, ansonten pluskWh = 0
["Multiplexer",["$Konst0","$Konst1"],"$pluskWh","$plus1"],
// Arbeit_Merker_kWh + pluskWh) = Arbeit_Merker_kWh
["CalcFormula",["$Arbeit_Merker_kWh","$pluskWh"],"$Arbeit_Merker_kWh","$Formel_Arbeit_Merker_kWh"],
// Arbeit_Merker_kWh + (Arbeit_Wh / Teiler) = Arbeit_Merker_Schwelle_kWh
["CalcFormula",["$Arbeit_Merker_kWh","$Arbeit_Wh","$Teiler"],"$Arbeit_Merker_Schwelle_kWh","$Formel_Arbeit_kWh"],
["CalcFormula",["$Arbeit_Merker_Schwelle_kWh","$Arbeit_kWh"],"$Diff","$Formel_Arbeit_Schwelle_kWh"],
["Comparator" , "$Diff" , "$Gate" , "$Schwelle"],
["Latch","$Arbeit_Merker_Schwelle_kWh","$Arbeit_kWh","$Gate",0]
],
"Input": [
["Leistung in W","in Watt","$Leistung","u"],
["Triggerintervall","Hier muss die Zeit vom Trigger rein","$Triggerintervall","u"],
["Schwelle","Differenz am Ausgang","$Schwelle","u"]
],
"Output": [
["Arbeit in kWh","in Kilowattstunden","$Arbeit_kWh","c"]
]
}
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.
Schöne Grüße
Peer
TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache
Peer
TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache
-
Elkomaster91
- Beiträge: 68
- Registriert: So Sep 23, 2018 11:19 pm
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 18 Mal
Hallo,
vielen Dank für die Antworten und auch für die fertige Logik.
Ich nutze einen Shelly PM Mini Gen3 - und diesen auch erst seit 2 Wochen und der Grund der Nachfrage ist genau deswegen, weil ich das Gefühl habe das der Wert der dort als "aenergy" übermittelt wird nicht ganz passt. Man muss dazu sagen das ich keine Verbindung in die Cloud habe.
Gören, was hast du dir gebaut damit es stabil läuft?
Dankeschön und Gruß Hardi
PS: Ich fange erst mit Logik im TWS an, weil ich die sehr kompliziert finde, vor allem wenn ich mehrere Bausteine hintereinander schalten mag, jetzt möchte ich aber doch damit spielen.
vielen Dank für die Antworten und auch für die fertige Logik.
Ich nutze einen Shelly PM Mini Gen3 - und diesen auch erst seit 2 Wochen und der Grund der Nachfrage ist genau deswegen, weil ich das Gefühl habe das der Wert der dort als "aenergy" übermittelt wird nicht ganz passt. Man muss dazu sagen das ich keine Verbindung in die Cloud habe.
Gören, was hast du dir gebaut damit es stabil läuft?
Dankeschön und Gruß Hardi
PS: Ich fange erst mit Logik im TWS an, weil ich die sehr kompliziert finde, vor allem wenn ich mehrere Bausteine hintereinander schalten mag, jetzt möchte ich aber doch damit spielen.
TWS 950Q ID:351, VPN offen, Reboot erlaubt - Daheim | Edomi | evcc | Victron PV + Akku
TWS2500 ID:1160, VPN offen, Reboot erlaubt - im Vereinsgebäude
TWS2500 ID:1160, VPN offen, Reboot erlaubt - im Vereinsgebäude
-
gbglace
- Beiträge: 4154
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1455 Mal
- Danksagung erhalten: 1957 Mal
Ja das hintereinander packen macht erst Sinn in einer Customlogik.
Ist ein eigener Dialekt aber am Ende sehr mächtig.
in einzelnen Standardbausteinen und dann wild verstöpseln, mag ich weder die TWS noch andere Logik-Engines. Im Nodered stöpsele ich auch immer mal was zusammen merke aber das mir das zu viele unübersichtliche Boxen werden und packe dann doch alles in einen function node. Dieses NodeJS als Programmiersprache kann ich auch nicht und habe auch keine Ahnung was es da alles gibt. Also geht das ganze Stückwerk immer ins Chat GPT und dessen Output dann in den function node. Dann noch etwas Kosmetik in den variablen Namen und dann fertig.
Im TWs ist es dann ähnlich. Es fehlt nur noch das Chat-GPT. also mehr davon machen und posten an Customlogiken.
Einfach ein paar Customlogiken sich mal anschauen, den grundsätzlichen Aufbau verstehen der paar Blöcke die es da gibt. Und dann selbst loslegen.
Es empfiehlt sich den Code in einem geeigneten Editor zu schreiben nicht direkt in der Weboberfläche.
das ist der Baustein den ich da mal gebaut hatte:
viewtopic.php?t=4166
Ist ein eigener Dialekt aber am Ende sehr mächtig.
in einzelnen Standardbausteinen und dann wild verstöpseln, mag ich weder die TWS noch andere Logik-Engines. Im Nodered stöpsele ich auch immer mal was zusammen merke aber das mir das zu viele unübersichtliche Boxen werden und packe dann doch alles in einen function node. Dieses NodeJS als Programmiersprache kann ich auch nicht und habe auch keine Ahnung was es da alles gibt. Also geht das ganze Stückwerk immer ins Chat GPT und dessen Output dann in den function node. Dann noch etwas Kosmetik in den variablen Namen und dann fertig.
Im TWs ist es dann ähnlich. Es fehlt nur noch das Chat-GPT. also mehr davon machen und posten an Customlogiken.
Einfach ein paar Customlogiken sich mal anschauen, den grundsätzlichen Aufbau verstehen der paar Blöcke die es da gibt. Und dann selbst loslegen.
Es empfiehlt sich den Code in einem geeigneten Editor zu schreiben nicht direkt in der Weboberfläche.
das ist der Baustein den ich da mal gebaut hatte:
viewtopic.php?t=4166
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
#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
-
AndererStefan
- Beiträge: 366
- Registriert: Sa Mär 02, 2024 11:04 am
- Hat sich bedankt: 193 Mal
- Danksagung erhalten: 235 Mal
Hi,
danke fürs Teilen der Logik. Ich muss gestehen ich verstehe die Grundidee (festes Aktualisierungsintervall & feste Integralbreite für die Addition) aber bei den ganzen Berechnungen mit den Teilern und Überläufen blicke ich nicht auf Anhieb durch.
Ich hab den Code dem LLM gegeben und die befand ihn für einwandfrei (bis auf: die True-Konstante wird nicht verwendet und könnte gelöscht werden und die Variablennamen entsprächen nicht „der“ Konvention mit $in, $out, $_).
Auf erneute Nachfrage ob das denn inhaltlich die Energie korrekt berechnet wird bekam ich die Antwort „nein“. Ich glaube aber das LLM mag es nur nicht, dass du
Allerdings präsentierte mir das LLM daraufhin eine sehr viel kürzere, einfachere Lösung. Auf den ersten Blick sieht die sinnvoll aus.
Das ist das Ergebnis von MetaPro 2.1 nach drei Iterationen:
Jetzt habe ich natürlich Blut geleckt und Lust die Logik zu verbessern (nur nicht genug Zeit). Ich würde gerne auch das fixe Sekunden-Intervall loswerden - es muss eigentlich auch mit dymaischen Intervallen abhängig von der Triggerung funktionionen. Weiterhin würde ich das Ergebnis auch gerne in einer Zeitreihe speichern um absolute Persistenz zu schaffen. Allerdings ist mir noch nicht klar, wie ich das aus einer ZR lesen könnte... hmmm. So viel Ideen, so wenig Zeit...
VG
Stefan
danke fürs Teilen der Logik. Ich muss gestehen ich verstehe die Grundidee (festes Aktualisierungsintervall & feste Integralbreite für die Addition) aber bei den ganzen Berechnungen mit den Teilern und Überläufen blicke ich nicht auf Anhieb durch.
Ich hab den Code dem LLM gegeben und die befand ihn für einwandfrei (bis auf: die True-Konstante wird nicht verwendet und könnte gelöscht werden und die Variablennamen entsprächen nicht „der“ Konvention mit $in, $out, $_).
Auf erneute Nachfrage ob das denn inhaltlich die Energie korrekt berechnet wird bekam ich die Antwort „nein“. Ich glaube aber das LLM mag es nur nicht, dass du
schreibst. Ich gehe davon, dass du inhaltlich die Intervalldauer korrekt einrechnest, aber die KI das nicht verstanden hat. - Ich hab den Code auf die Schnelle auch nicht durchdrungen.//Leistung + Arbeit_Wh = Arbeit_Wh
Allerdings präsentierte mir das LLM daraufhin eine sehr viel kürzere, einfachere Lösung. Auf den ersten Blick sieht die sinnvoll aus.
Das ist das Ergebnis von MetaPro 2.1 nach drei Iterationen:
► Text zeigen
VG
Stefan
Zuletzt geändert von AndererStefan am Mi Okt 01, 2025 9:29 am, insgesamt 3-mal geändert.
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache
-
gbglace
- Beiträge: 4154
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1455 Mal
- Danksagung erhalten: 1957 Mal
Die TWS Logik hat keinen Zugriff auf die Infkux Datenbank um da Werte auszulesen.
Der Dispatcher kann Ausgangsobjekte einer Logik mit einer TS verbinden, thats it.
Der Dispatcher kann Ausgangsobjekte einer Logik mit einer TS verbinden, thats it.
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
#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