KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Frage] [V4.1] Verbrauchszähler

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
Elkomaster91
Reactions:
Beiträge: 68
Registriert: So Sep 23, 2018 11:19 pm
Hat sich bedankt: 9 Mal
Danksagung erhalten: 18 Mal

[V4.1] Verbrauchszähler

#1

Beitrag von Elkomaster91 »

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
TWS 950Q ID:351, VPN offen, Reboot erlaubt - Daheim | Edomi | evcc | Victron PV + Akku
TWS2500 ID:1160, VPN offen, Reboot erlaubt - im Vereinsgebäude

Sun1453
Reactions:
Beiträge: 2216
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1979 Mal
Danksagung erhalten: 885 Mal

#2

Beitrag von Sun1453 »

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 |

MrWilson
Reactions:
Beiträge: 284
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 46 Mal
Danksagung erhalten: 168 Mal

#3

Beitrag von MrWilson »

Zähler Universalbaustein geht in die Richtung
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

cheater
Reactions:
Beiträge: 695
Registriert: Sa Aug 11, 2018 11:16 pm
Hat sich bedankt: 449 Mal
Danksagung erhalten: 309 Mal

#4

Beitrag von cheater »

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

gbglace
Reactions:
Beiträge: 4088
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1415 Mal
Danksagung erhalten: 1901 Mal

#5

Beitrag von gbglace »

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.
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

pbm
Reactions:
Beiträge: 223
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 135 Mal
Danksagung erhalten: 139 Mal

#6

Beitrag von pbm »

Hallo Hardi,

hier ein Baustein, der das macht, was du brauchst:

Bild

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"]
  ]
}
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.
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

Ersteller
Elkomaster91
Reactions:
Beiträge: 68
Registriert: So Sep 23, 2018 11:19 pm
Hat sich bedankt: 9 Mal
Danksagung erhalten: 18 Mal

#7

Beitrag von Elkomaster91 »

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.
TWS 950Q ID:351, VPN offen, Reboot erlaubt - Daheim | Edomi | evcc | Victron PV + Akku
TWS2500 ID:1160, VPN offen, Reboot erlaubt - im Vereinsgebäude

gbglace
Reactions:
Beiträge: 4088
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1415 Mal
Danksagung erhalten: 1901 Mal

#8

Beitrag von gbglace »

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
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
Antworten

Zurück zu „Logikengine & Logik-Editor“