FREIGEGEBENE HAUPTVERSION V 4.01 verfügbar!
LOGIK! VISU! IFTTT! FIXES!
Infos im Wiki: https://elabnet.atlassian.net/l/cp/TrZ03Nr7

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

[TIPP] Umfangreiche Photovoltaik Auswertung (Leistungen, Zählerstände, Autarkiegrad etc.)

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

Ersteller
Robert_Mini
Reactions:
Beiträge: 3764
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1177 Mal
Danksagung erhalten: 2082 Mal

Umfangreiche Photovoltaik Auswertung (Leistungen, Zählerstände, Autarkiegrad etc.)

#1

Beitrag von Robert_Mini »

Hallo zusammen!

Ich möchte hier und in separaten Beschreibungen mehrere Module teilen, die ich zur umfangreichen Auswertung meiner PV Daten erstellt habe.
Damit habe ich alle Daten lokal am TWS, die sonst nur in der Herstellercloud verfügbar sind (und langfristig nur gegen Einwurf kleiner Münzen).

1) Eingangsdaten:
- Leistung Wechselrichter [W]
- Leistung Smartmeter (=Hausanschluss) [W] (Vorzeichen gibt Bezug oder Einspeisung an)
- Produzierte Energie Wechselrichter [kWh]
- Importierte Energie Smartmeter [kWh] (=Netzbezug)
- Exportierte Energie Smartmeter [kWh] (=Einspeisung)
- EPEX aus einer HTTP-Abfrage

2) Berechnete Daten:
- Aktuelle Leistungen für Haus, Einspeisung, Netzbezug, Eigenverbrauch und Produktion
- Zählerstände Tag/Woche/Monat/Jahr/Gesamt
- Zählerstände Vortag und Vormonat werden jeweils um 0:00 gesendet und Vormonat 1x bei Monatswechsel
- Autarkiegrad Tag/Monat/Jahr
- Einspeisevergütung aus EPEX und stündlich eingespeister Strommenge

Damit können sowohl Visu-Einzelwerte und Zeitreihen bedient werden, ohne dass unnötige Datenmengen gespeichert werden. => Siehe Anhang

3) Übersicht Logikmodule:
- Modul1 Leistungsberechnung
- Modul2 Gesamtzählerstände
- Modul3 Zählerstandsauswertung Tag/Monat/Jahr etc.
- Modul3 Einspeisevergütung
- Modul4 Autarkiegrad

Mangel Stromspeicher und E-Auto, kann ich diese Anteile im Moment noch nicht berechnen, wer dazu Hilfe braucht, bitte melden.

lg
Robert

==> Diskussion gerne am Ende - freigegeben.

Natürlich gilt für alles:
"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."
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Robert_Mini am So Mär 19, 2023 6:51 pm, insgesamt 4-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3764
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1177 Mal
Danksagung erhalten: 2082 Mal

#2

Beitrag von Robert_Mini »

Modul 1: Leistungsberechnung

Dieses Modul berechnet aus den beiden Eingängen (Leistung Wechselrichter und Leistung Smartmeter Haus) zusätzlich die aktuellen Leistungen:
  • Eigenverbrauch
  • - Leistung Haus gesamt
  • Die Werte für die anderen Ausgänge entsprechen dem letzten Eingangswert der der Berechnung zugrunde liegt. Der Wert am Hausanschluss wird je nach Vorzeichen in Einspeiseleistung und Netzbezug aufgetrennt. Zusätzlich erfolgt eine Plausibilisierung, so dass keine negativen Werte am Ausgang entstehen können.
  • Der Ausgang PV Status liefert true, wenn Energie produziert wird, sonst false. Ggf. ist eine Ein/Ausschaltverzögerung zu verwenden, wenn damit direkt Lasten geschaltet werden sollen.
Modul1_Leistungsberechnung.png

Code: Alles auswählen

/**===========================================================
Kommentar
============================================================*/
{
    "Level":[
        ["$I_Leistung_PV","float",0.0],
	["$I_Leistung_Smartmeter","float",0.0],
	["$Leistung_PV","float",0.0], 
	["$Leistung_Smartmeter","float",0.0],
	["$Leistung_Einspeisung","float",0.0],
	["$Leistung_Netzbezug","float",0.0],
	["$Leistung_Eigenverbrauch","float",0.0], 
	["$Leistung_Haus","float",0.0], 
        ["$Einspeisung_Status","bool",true],
	["$PV_Status","bool",false],
	["$Unused_bool","bool",false],
        ["$Konst1","float",1.0],
        ["$Konst0","float",0.0],
        ["$KonstTrue","bool",true],
	["$KonstFalse","bool",false]
    ],
    "Module":[
        ["Latch","$I_Leistung_PV","$Leistung_PV","$KonstTrue",0], // Durchreichen
        ["Latch","$I_Leistung_Smartmeter","$Leistung_Smartmeter","$KonstTrue",0], // Durchreichen
        ["Polynomial", "$Konst1", "$Leistung_Haus",["$Leistung_PV", "$Leistung_Smartmeter"]],
        ["Comparator", "$I_Leistung_Smartmeter", "-$Einspeisung_Status", "$Konst0"],
        ["Comparator", "$I_Leistung_PV", "$PV_Status", "$Konst0"],
        
        ["Multiplexer",["$Konst0", "-$I_Leistung_Smartmeter"],"$Leistung_Einspeisung","$Einspeisung_Status"],
        ["Multiplexer",["$Konst0", "$I_Leistung_Smartmeter"],"$Leistung_Netzbezug","-$Einspeisung_Status"],
        ["Limiter","$I_Leistung_PV","$Leistung_Eigenverbrauch","$Unused_bool",["$Konst0", "$Leistung_Haus"]]
    ],
    "Input":[
        ["Leistung Wechselrichter","","$I_Leistung_PV","u"],
	["Leistung Smartmeter Haus","","$I_Leistung_Smartmeter","c"]
    ],
    "Output":[
        ["Wechselrichter","Wechselrichter","$Leistung_PV","t"],
        ["Smartmeter Haus","Smartmeter Haus","$Leistung_Smartmeter","t"],
        ["Verbrauch Haus","Verbrauch Haus","$Leistung_Haus","t"],
        ["Einspeisung","Einspeisung","$Leistung_Einspeisung","t"],
        ["Netzbezug","Netzbezug","$Leistung_Netzbezug","t"],
        ["Eigenverbrauch","Eigenverbrauch","$Leistung_Eigenverbrauch","t"],
        ["PV_Status","PV in Betrieb","$PV_Status","c"]
        
	//["Debug Val_Small","","$Val_Small","a"]
    ]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Robert_Mini am Do Mär 23, 2023 10:38 am, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3764
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1177 Mal
Danksagung erhalten: 2082 Mal

#3

Beitrag von Robert_Mini »

Modul 2: Berechnung der aktuellen Gesamtzählerstände

Analog zu den Leistungen wird mit diesem Baustein alle 5min der aktuellen Zählerstand für die jeweiligen Energiewerte berechnet. Diese Werte dienen als Basis für die Berechnung der Tages/Wochen/Monatszählerstände.

Im Gegensatz zu Leistung liefert der Smartmeter notwendigerweise 2 Datenpunkte "EnergyLifetimeImported und EnergyLifetimeExported".

Modul2_ZählerständeGesamt.png

Code: Alles auswählen

/**===========================================================
Kommentar
============================================================*/
{
    "Level":[
        ["$I_Energie_PV","float",0.0],
	["$I_Energie_Smartmeter_export","float",0.0],
	["$I_Energie_Smartmeter_import","float",0.0],
	["$Energie_PV","float",0.0], 
	["$Energie_Einspeisung","float",0.0],
	["$Energie_Netzbezug","float",0.0], 
	["$Energie_Eigenverbrauch","float",0.0], 
	["$Energie_Haus","float",0.0], 
	["$Einspeisung_Status","bool",true],
	["$PV_Status","bool",false],
	["$Unused_bool","bool",false],
	["$Konst1","float",1.0],
	["$Konst0","float",0.0],
	["$KonstTrue","bool",true],
	["$KonstFalse","bool",false]
    ],
    "Module":[
        ["Latch","$I_Energie_PV","$Energie_PV","$KonstTrue",0], // Durchreichen
        ["Latch","$I_Energie_Smartmeter_export","$Energie_Einspeisung","$KonstTrue",0], // Durchreichen
        ["Latch","$I_Energie_Smartmeter_import","$Energie_Netzbezug","$KonstTrue",0], // Durchreichen
        ["Polynomial", "$Konst1", "$Energie_Haus",["$I_Energie_PV", "$I_Energie_Smartmeter_import","-$I_Energie_Smartmeter_export"]],
        ["Polynomial", "$Konst1", "$Energie_Eigenverbrauch",["$I_Energie_PV","-$I_Energie_Smartmeter_export"]]	    
    ],
    "Input":[
        ["Energie Wechselrichter","","$I_Energie_PV","c"],
	["Energie Smartmeter exportiert","","$I_Energie_Smartmeter_export","c"],
	["Energie Smartmeter importiert","","$I_Energie_Smartmeter_import","c"]
    ],
    "Output":[
        ["Energie Wechselrichter","Wechselrichter","$Energie_PV","t"],
        ["Energie Einspeisung","Smartmeter Haus export","$Energie_Einspeisung","t"],
        ["Energie Netzbezug","Smartmeter Haus import","$Energie_Netzbezug","t"],
        ["Energie Haus","Einspeisung","$Energie_Haus","t"],
        ["Eigenverbrauch","Eigenverbrauch","$Energie_Eigenverbrauch","t"]
    ]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3764
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1177 Mal
Danksagung erhalten: 2082 Mal

#4

Beitrag von Robert_Mini »

Modul 3: Zählerstände für Tag/Woche/Monat/Jahr etc. berechnen

Dieser Baustein wertet laufend die Zählerstände aus und schreibt sie auf die jeweiligen Ausgänge. Mit den beiden Intervall-Eingängen wird die Mindestdauer zwischen 2 Aktualisierungen am Ausgang definiert. In meinem Fall alle 5min für die Tageswerte und stündlich für die restlichen Informationen.

Die Ausgänge Vortag und Monat1 werden nur beim Tages/Monatswechsel aktualisiert, der letzte Ausgang Monat1 wird wie Vortag täglich gesendet (damit die Visu auch diese Werte nach spätestens 24h wieder bekommt (falls aufgrund Neustart des Servers beim Visu-Start nicht lesbar).

Dieses Modul muss für jeden Ausgang des Moduls 2 angelegt werden (5x). Damit sind die wesentlichen Informationen aus den Screenshots im Eingangsthread erledigt. Einspeiseerträge folgen.

Modul3_ZählerständeEinzeln.png

Code: Alles auswählen

/**=====================================================================
Umrechnung von fortlaufenden Zähler auf 
Tages/Wochen/Monats/Jahres Zäher und Gesamtzähler (offset)
======================================================================*/
{
  "Level": [
	["$I_Zaehlerstand","float",0.0],
    
	["$ZaehlerTag2","float",0.0],
	["$ZaehlerTag3","float",0.0],
	["$ZaehlerTagLast","float",4621.48],
	["$ZaehlerTag2Last","float",0.0],
	["$ZaehlerWoche2","float",0.0],
	["$ZaehlerWoche3","float",0.0],
	["$ZaehlerWocheLast","float",4621.48],
	["$ZaehlerMonat2","float",0.0],
	["$ZaehlerMonat3","float",0.0],
	["$ZaehlerMonatLast","float",4454.66],
	["$ZaehlerMonat2Last","float",116.95],
	["$ZaehlerMonat3Last","float",0.0],
	["$ZaehlerJahr2","float",0.0],
	["$ZaehlerJahr3","float",0.0],
	["$ZaehlerJahrLast","float",4337.71],
	["$ZaehlerGes2","float",0.0],
	["$ZaehlerGes3","float",0.0],
	["$Faktor","float",1.0],
	["$Offset_Zaehlerstand","float",1.0],
	
	["$Interval","float",10.0],
	["$Interval2","float",10.0],
	["$New","bool",false],
	["$New1","bool",false],
	["$New2","bool",false],
	["$Konst1","float",1.0],
	["$Konst0","float",0.0],
	["$KonstTrue","bool",true],
	["$ResetTag","bool",false],
	["$ResetTag2","bool",false],
	["$ResetWoche","bool",false],
	["$ResetMonat","bool",false],
	["$ResetJahr","bool",false],
    ["$StartZeitTag","string","15 0 0 * * *"],
    ["$StartZeitWoche","string","16 0 0 * * 1"],
    ["$StartZeitMonat","string","17 0 0 1 * *"],
    ["$StartZeitJahr","string","18 0 0 1 1 *"],
    ["$StartZeitTag2","string","19 0 0 * * *"]
  ],
  "Module": [   
	["Triggered", "$I_Zaehlerstand", "$New"],
    
    // Tag Zurücksetzen 
    ["Cron","$KonstTrue","$ResetTag",0,"$StartZeitTag"],
    
    // Zahlerstand neu berechnen
	["Polynomial","$Konst1","$ZaehlerTag2",["$I_Zaehlerstand","-$ZaehlerTagLast"]],
	["Polynomial","$Konst1","$ZaehlerWoche2",["$I_Zaehlerstand","-$ZaehlerWocheLast"]],
	["Polynomial","$Konst1","$ZaehlerMonat2",["$I_Zaehlerstand","-$ZaehlerMonatLast"]],
	["Polynomial","$Konst1","$ZaehlerJahr2",["$I_Zaehlerstand","-$ZaehlerJahrLast"]],
	["Polynomial","$Konst1","$ZaehlerGes2",["$Offset_Zaehlerstand","$I_Zaehlerstand"]],  //

    // Nur Aktualisieren, wenn Sendebedingung erfüllt ist oder ResetTag
    ["Monoflop","$New","$ResetTag","$New2","$Interval2",0],
    ["Multiplexer",["$ZaehlerTag2","$ZaehlerTag3"],"$ZaehlerTag3","$New2"],   
	//
    ["Monoflop","$New","$ResetTag","$New1","$Interval",0],
    ["Multiplexer",["$ZaehlerWoche2","$ZaehlerWoche3"],"$ZaehlerWoche3","$New1"],  
    ["Multiplexer",["$ZaehlerMonat2","$ZaehlerMonat3"],"$ZaehlerMonat3","$New1"],  
    ["Multiplexer",["$ZaehlerJahr2","$ZaehlerJahr3"],"$ZaehlerJahr3","$New1"],  
    ["Multiplexer",["$ZaehlerGes2","$ZaehlerGes3"],"$ZaehlerGes3","$New1"],
    
    // Beim Reset als Vortag merken
    ["Latch","$ZaehlerTag2","$ZaehlerTag2Last","$ResetTag",0],
    // Letztstand merken
    ["Latch","$I_Zaehlerstand","$ZaehlerTagLast","$ResetTag",0],
    ["Multiplexer",["$ResetTag","$Konst0"],"$ResetTag","$ResetTag"],
    
    // Woche Zurücksetzen	
    ["Cron","$KonstTrue","$ResetWoche",0,"$StartZeitWoche"],
    ["Latch","$I_Zaehlerstand","$ZaehlerWocheLast","$ResetWoche",0],
    ["Multiplexer",["$ResetWoche","$Konst0"],"$ResetWoche","$ResetWoche"],	
    
    // Monat Zurücksetzen / Letztstand merken
    ["Cron","$KonstTrue","$ResetMonat",0,"$StartZeitMonat"],
    // Beim Reset als Vortag merken
    ["Latch","$ZaehlerMonat2","$ZaehlerMonat2Last","$ResetMonat",0],
    ["Latch","$I_Zaehlerstand","$ZaehlerMonatLast","$ResetMonat",0],
    ["Multiplexer",["$ResetMonat","$Konst0"],"$ResetMonat","$ResetMonat"],
    
	// Jahr Zurücksetzen	
    ["Cron","$KonstTrue","$ResetJahr",0,"$StartZeitJahr"],
	["Latch","$I_Zaehlerstand","$ZaehlerJahrLast","$ResetJahr",0],
    ["Multiplexer",["$ResetJahr","$Konst0"],"$ResetJahr","$ResetJahr"],	
    
    // Sende Monat täglich
    ["Cron","$KonstTrue","$ResetTag2",0,"$StartZeitTag2"],
    ["Latch","$ZaehlerMonat2Last","$ZaehlerMonat3Last","$KonstTrue",0],
    ["SendExplicit","$ResetTag2","$ZaehlerMonat3Last",0]
    
  ],
  "Output": [
    ["Zählerstand Tag","Zählerstand Tag","$ZaehlerTag3","c"],
    ["Zählerstand Woche","Zählerstand Woche","$ZaehlerWoche3","c"],
    ["Zählerstand Monat","Zählerstand Monat","$ZaehlerMonat3","c"],
    ["Zählerstand Jahr","Zählerstand Jahr","$ZaehlerJahr3","c"],
    ["Zählerstand Gesamt","Zählerstand Gesamt","$ZaehlerGes3","c"],
    ["Zählerstand Vortag","Zählerstand Vortag, sendet nur bei Reset","$ZaehlerTag2Last","c"],
    ["Zählerstand Monat1","Zählerstand im lfd. Monat, sendet nur 1x/Monat","$ZaehlerMonat2Last","c"],
    ["Zählerstand Monat1","Zählerstand im lfd. Monat, sendet nur bei Reset 1x/Tag","$ZaehlerMonat3Last","x"]
  ],
  "Input": [
	["Zählerstand","Eingang Zaehlerstand von Smartmeter etc.","$I_Zaehlerstand","a"],
	["Faktor","Faktor Impulsanzahl => Zählerstand","$Faktor","c"],
	["Min. Interval Tag","Mindestzeitinterval zum Senden Tageszähler","$Interval2","c"],
	["Min. Interval","Mindestzeitinterval zum Senden Wochen/Monats/Jahreszähler","$Interval","c"],
	["Offset","Offset für Zählerstand gesamt","$Offset_Zaehlerstand","c"]
  ]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Robert_Mini am So Mär 19, 2023 5:41 pm, insgesamt 3-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3764
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1177 Mal
Danksagung erhalten: 2082 Mal

#5

Beitrag von Robert_Mini »

Modul 4: Einspeisevergütung

Dieser Baustein zählt die stündlichen Energiewerte für die Einspeisung und multipliziert diese am Ende der jeweiligen Stunde mit dem Tarif. Dies kann ein fixer Wert oder ein dynamischer Wert zB EPEX sein. Der Eingang Gebühr erlaubt es, direkt die Gebühr je kWh abzuziehen. Sonderthemen wie Grundgebühr, Kosten für Lastausgleich etc. werden nicht berücksichtigt.

Achtung: Der Ausgang "Kosten lfd" wird nie zurückgesetzt und kann damit wiederum über Baustein 3 geführt werden, so dass Tages/Monats/Jahreserträge etc. ausgewertet werden! Damit sind alle Informationen für den Screenshot unten fertig!

Modul4_Einspeisevergütung.png

Code: Alles auswählen

/**=====================================================================
Berechnung EPEX Summe
======================================================================*/
{
  "Level": [
	["$I_Zaehlerstand","float",0.0],
	["$I_EPEX_akt","float",0.0],
	["$I_Fee","float",0.0],
	["$Fee","float",0.0],
	["$EPEX_ct","float",0.0],
	["$ZaehlerLast","float",0.0],
	
	["$ZaehlerHourOut","float",0.0],
	["$ZaehlerHourLast","float",0.0],
	["$ZaehlerHourLast2","float",0.0],
	["$ZaehlerDifferenz","float",0.0],

	["$SummeLast","float",0.0],
	["$SummeLastNew","float",0.0],
//	["$SummeOut","float",0.0],
	["$SummeHourOut","float",0.0],
	["$SummeHourLast","float",0.0],
	["$SummeHourLast2","float",0.0],
	["$Touched","bool",true],
	["$KonstTrue","bool",true],
	["$Konst1m","float",-1.0],
	["$Konst0","float",0.0],
	
	["$Formula","string","X1/1000-X2*1.2"],   //  für Zeitzone

	["$InitTrigger","bool",true],
	["$ResetHour","bool",true],
	// Immer zur vollen Stunden triggern
	["$StartZeitHour","string","59 59 * * * *"]
  ],
  "Module": [   
	["Cron","$KonstTrue","$ResetHour",0,"$StartZeitHour"],
	["Triggered", "$I_Zaehlerstand", "$Touched"],
	// Zahlerstand Differenz berechnen
	["Polynomial","$Konst1m","$ZaehlerDifferenz",["$I_Zaehlerstand","$ZaehlerLast"]],
	["Multiplexer",["$I_Fee","$Konst0"],"$Fee","$InitTrigger"],	
	// EPEX umrechnen
	["CalcFormula",["$I_EPEX_akt","$Fee"], "$EPEX_ct", "$Formula"],
	// Addieren, wenn Eingang tatsächlich getriggert wurde
	["Polynomial","$EPEX_ct","$SummeLastNew",["$SummeLast","$ZaehlerDifferenz"]],
	["Latch","$SummeLastNew","$SummeLast","$Touched",0],
	// Bei jedem Aufruf Zählerstand merken
	["Latch","$I_Zaehlerstand","$ZaehlerLast","$Touched",0],
	
	// Stündliche Ausgabe Zähler/Summe
	["Polynomial","$Konst1m","$ZaehlerHourLast2",["$I_Zaehlerstand","$ZaehlerHourLast"]],
	["Polynomial","$Konst1m","$SummeHourLast2",["$SummeLast","$SummeHourLast"]],
	
 	["Latch","$I_Zaehlerstand","$ZaehlerHourLast","$ResetHour",0],
	["Latch","$ZaehlerHourLast2","$ZaehlerHourOut","$ResetHour",0],
	["Latch","$SummeLast","$SummeHourLast","$ResetHour",0],
	["Latch","$SummeHourLast2","$SummeHourOut","$ResetHour",0],
    ["Latch","$Konst0","$ResetHour","$KonstTrue",0]
  ],

  "Output": [
    ["Kosten lfd.","Kosten lfd.","$SummeLast","ct"],
    ["Kosten je Stunde","Kosten Stunde","$SummeHourOut","t"],
    ["Zählerstand Stunde","Zählerstand Stunde","$ZaehlerHourOut","t"]
  ],

  "Input": [
    ["Zählerstand","Eingang Zaehlerstand von Smartmeter etc.","$I_Zaehlerstand","a"],
    ["EPEX aktuell","in €/MWh","$I_EPEX_akt","u"],
    ["Gebühr aktuell","in ct je kWh","$I_Fee","u"]
  ]
}
Modul4_Einspeisevergütung.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3764
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1177 Mal
Danksagung erhalten: 2082 Mal

#6

Beitrag von Robert_Mini »

Modul 5: Autarkiegrad

Dieses (einfache )Modul ist erst heute entstanden, da dieser Begriff immer wieder fällt und mich damit auch interessiert.

Je nach Wunsch dienen dazu die einzelnen Eingänge aus den Zählerbausteinen (Tag/Monat/Monat lfd./Jahr etc.).
Ich haben den Baustein im Moment 2x angelegt, 1x mit den laufenden Werten des aktuellen Tages und 1x mit den Monatswerten.
Beim den Tageswerten habe ich das Sendekriterium auf T gestellt und einen Cron-Timer ergänzt, so dass die Autarkiewerte des aktuellen Tages nur zur vollen Stunde geschrieben werden.

Modul5_Autarkiegrad.png

Code: Alles auswählen

{
  "Input": [
    ["Zählerstand Haus akt. Tag","","$I_VerbrauchHaus","u"],
    ["Zählerstand Eigenverbrauch akt. Tag","","$I_Eigenverbrauch","c"]
  ],
  "Output": [
    ["Autarkiegrad Tag","","$O_Autarkiegrad","c"]   
  ],
  "Level": [
      ["$I_VerbrauchHaus","float",0.0],
      ["$I_Eigenverbrauch","float",0.0],
      ["$VerbrauchHausMod","float",0.0],
      ["$Autarkiegrad","float",0.0],
      ["$O_Autarkiegrad","float",0.0],
      ["$Konst0","float",0.0],
      ["$Konst100","float",100.0],
      ["$Konst1m","float",-1.0],
      ["$CResult","bool",false]
      
  ],
  "Module": [
      // Wenn Verbrauch <= 0, dann -1 setzen
      ["Comparator", "$I_VerbrauchHaus", "$CResult", "$Konst0"],
      ["Multiplexer",["$Konst1m","$I_VerbrauchHaus"],"$VerbrauchHausMod","$CResult"],
      ["Ratio","$I_Eigenverbrauch","$Autarkiegrad","$I_VerbrauchHaus"],
      ["Polynomial", "$Konst100", "$Autarkiegrad",["$Konst0", "$Autarkiegrad"]],
      // Ausgabe nur, wenn Verbrauch > 0
      ["Multiplexer",["$Konst0","$Autarkiegrad"],"$O_Autarkiegrad","$CResult"]
  ]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Robert_Mini am So Mär 19, 2023 6:04 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3764
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1177 Mal
Danksagung erhalten: 2082 Mal

#7

Beitrag von Robert_Mini »

Reserve-Thread für künftige Ergänzungen
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

gbglace
Reactions:
Beiträge: 3693
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1292 Mal
Danksagung erhalten: 1700 Mal

#8

Beitrag von gbglace »

Sehr gut Robert, schaue ich mir demnächst intensiver an und das mit den Daten meiner kleinen Anlage füttern. Ich muss aber erst noch 150m Glasfaser im Garten verbuddeln, da die Versorgung des Bungalows hinten im Garten per Power-LAN nicht mehr mit dem neuen Zweirichtungszäler im Substrang funktioniert.
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

Sunshinemaker
Reactions:
Beiträge: 222
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 106 Mal
Danksagung erhalten: 130 Mal

#9

Beitrag von Sunshinemaker »

gbglace hat geschrieben: So Mär 19, 2023 8:50 pm Ich muss aber erst noch 150m Glasfaser im Garten verbuddeln,
Dann hoffe ich das es dir besser ergeht als mir, Gestern 3m Graben die Gartenbewässerung erstellt und 1 VOLLE Schiebkarre mit Bauschutt ausgegraben :angry-argument: :angry-banghead:

@Robert_Mini Sobald ich zeit hab werde ich das bei mir auch erstellen. Allerdings erstmal nur um die Daten zuaben mit der dann mal in WEITER Zukunft eine Visu beglücken kann :D Ich werde berichten. :bow-yellow:
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache

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

#10

Beitrag von StefanW »

Hi Robert,

wow, bin sehr beeindruckt von Deinem Beitrag. Wir sollten darüber nachdenken, diese Logikmoule fest in de TWS einzubauen, weil damit sind diese leichter für den Kunden nutzbar. Wir denken ohnehin darüber nach, dass sich die Bibliothek aus der Cloud nachladen kann, damit neue Module nicht erst die Installation einer neuen Firmware benötigen.

gbglace hat geschrieben: So Mär 19, 2023 8:50 pm Ich muss aber erst noch 150m Glasfaser im Garten verbuddeln, da die Versorgung des Bungalows hinten im Garten per Power-LAN nicht mehr mit dem neuen Zweirichtungszäler im Substrang funktioniert.
Ich kann Dir auch eine WLAN-Richtfunkverbindung empfehlen. Geht schon ab 100 EUR pro Seite von Ubiquity und läuft einwandfrei. Ausrichtung grob auf Sicht. Wir hatten damit über zwei Jahre eine Entfernung von 600m überbrückt und hatten stets mehrere hundert Megabit und keine bekannte Störung.

lg

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

Zurück zu „Zusätzliche Logikbausteine“