Hauptversion V 4.5 - Awakening Beast veröffentlicht

Verehrte Nutzer des Timberwolf Servers. Wir haben die neue Hauptversion 4.5 für alle Modelle des Timberwolf Servers freigegeben.
Diese neue Version enthält insgesamt 24 neue Funktionen, 72 größere Verbesserungen und 28 wichtige Fehlerkorrekturen
Darunter die Timberwolf VISU in modernisiertem Look mit vielen Erweiterungen wie Rollladen-Widget, Detailseiten mit 20 Schaltern / Werten, Tabellen & Logs, verbessertertem Verknüpfungsassistent, Secure KNX im Busmonitor sowie Dekodierung weiterer DPT, komplett überarbeitete Darstellung der phys. Einheiten, einem stark erweitertem Logik Manager mit grafischer Darstellung der Logik Zellen, einer Unterstützung für HTTP-/REST-API als Server, dem Im- und Export von Geräteprofilen im MQTT sowie HTTP-/REST-API Manager und viele weitere Detailverbesserungen inkl. Lizenzmanagement.
Foren Diskussion: viewtopic.php?f=8&t=6050
Release Notes im Wiki: https://elabnet.atlassian.net/wiki/x/AYBLyQ
[Frage] [V4.1] Verbrauchszähler
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
-
- Beiträge: 68
- Registriert: So Sep 23, 2018 11:19 pm
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 18 Mal
[V4.1] Verbrauchszähler
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
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
-
- Beiträge: 2280
- Registriert: Do Feb 07, 2019 8:08 am
- Hat sich bedankt: 2082 Mal
- Danksagung erhalten: 902 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 |
-
- Beiträge: 715
- Registriert: Sa Aug 11, 2018 11:16 pm
- Hat sich bedankt: 479 Mal
- Danksagung erhalten: 324 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
-
- Beiträge: 4132
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1444 Mal
- Danksagung erhalten: 1939 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
-
- Beiträge: 232
- Registriert: Mo Dez 02, 2019 10:20 pm
- Wohnort: Hannover
- Hat sich bedankt: 152 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
-
- 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
-
- Beiträge: 4132
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1444 Mal
- Danksagung erhalten: 1939 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
-
- Beiträge: 351
- Registriert: Sa Mär 02, 2024 11:04 am
- Hat sich bedankt: 173 Mal
- Danksagung erhalten: 216 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
-
- Beiträge: 4132
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1444 Mal
- Danksagung erhalten: 1939 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