[TIPP] Zähler Universalbaustein
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
-
- Reactions:
- Beiträge: 404
- Registriert: Mo Dez 02, 2019 5:38 am
- Wohnort: Freital
- Hat sich bedankt: 304 Mal
- Danksagung erhalten: 160 Mal
Die Funktion würde mich auch sehr interessieren.
Ist denn von Seiten Elabnet ein Update auf ifluxDB 2.0 in naher Zukunft geplant?
Ist denn von Seiten Elabnet ein Update auf ifluxDB 2.0 in naher Zukunft geplant?
Grüße Micha
TWS 3500 XL #1209 + TWS 2600 #528 + PBM #972,
VPN offen, Reboot möglich
PLZ 01...
TWS 3500 XL #1209 + TWS 2600 #528 + PBM #972,
VPN offen, Reboot möglich
PLZ 01...
-
- Reactions:
- Beiträge: 3313
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1158 Mal
- Danksagung erhalten: 1483 Mal
Im SQL gibt es natürlich sehr lange schon Funktionen die Year(), Month() usw. Auswerten können und mit denen dann auch im Group by gearbeitet werden kann. Aber nicht jedes System hält sich an den ANSI Standards im SQL. Aber die neueren Versionen rüsten es offensichtlich nach.
Ich habe so meine Erfahrungen auf Oracle,.Sybase IQ,.und Synapse Analytics. Deutlich tiefer in Influx steckt wirklich unser Sensej.
Ich habe so meine Erfahrungen auf Oracle,.Sybase IQ,.und Synapse Analytics. Deutlich tiefer in Influx steckt wirklich unser Sensej.
Zuletzt geändert von gbglace am Do Dez 01, 2022 3:55 pm, insgesamt 1-mal geändert.
Grüße
Göran
-- --Timberwolf 2600 Velvet Red-- -- TWS #225 / VPN aktiv / Reboot OK
Göran
-- --Timberwolf 2600 Velvet Red-- -- TWS #225 / VPN aktiv / Reboot OK
-
- Reactions:
- Beiträge: 1868
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 627 Mal
- Danksagung erhalten: 764 Mal
Es gibt zu dem Thema hier zwei drei Diskussionen mit einer recht guten Lösung.
Und wie auch schon geschrieben: rein qualitative Analysen kann man sehr gut machen, nur für Abrechnung (Nebenkosten) muss man dann genau schauen was man macht... das kann man aber auch gut lösen dafür braucht man ja nur einen tagesgenauen Wert das bekommt man gut hin.
Und wie auch schon geschrieben: rein qualitative Analysen kann man sehr gut machen, nur für Abrechnung (Nebenkosten) muss man dann genau schauen was man macht... das kann man aber auch gut lösen dafür braucht man ja nur einen tagesgenauen Wert das bekommt man gut hin.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK
-
- Reactions:
- Beiträge: 388
- Registriert: Mi Sep 12, 2018 1:11 am
- Wohnort: NRW
- Hat sich bedankt: 204 Mal
- Danksagung erhalten: 251 Mal
Guten Morgen,
wenn ich versuche den Logik Code (V4) aus #26 in eine benutzerdefinierte Logik einzufügen und direkt zu sichern, bekomme ich folgenden Fehler:
Wenn ich das richtig sehe, ist dieser Parameter unter [Level] definiert, danach aber nicht mehr verwendet.
Kommentiere ich den Parameter aus, dann lässt sich die Logik speichern.
Hat sich da in V4 ggf ein Copy & Paste-Fehler eingeschlichen?
wenn ich versuche den Logik Code (V4) aus #26 in eine benutzerdefinierte Logik einzufügen und direkt zu sichern, bekomme ich folgenden Fehler:
Code: Alles auswählen
Code inkorrekt
Logik konnte nicht angelegt werden, da Code fehlerhaft ist.
1. Bitte folgende Parameter reparieren: "$Formula_End_of"
Kommentiere ich den Parameter aus, dann lässt sich die Logik speichern.
Hat sich da in V4 ggf ein Copy & Paste-Fehler eingeschlichen?
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit
-
- Reactions:
- Beiträge: 1890
- Registriert: Sa Sep 15, 2018 10:26 am
- Wohnort: Kerpen
- Hat sich bedankt: 759 Mal
- Danksagung erhalten: 582 Mal
Hallo Alex,
mit welcher Version hast du das Problem? Ggf. Ist es sinnvoll zuerst einen neuen Thread mit den entsprechenden Angaben im zugehörigen Forum zu erstellen und dann hier auf diesen zu verweisen.
Beste Grüße
Jens
mit welcher Version hast du das Problem? Ggf. Ist es sinnvoll zuerst einen neuen Thread mit den entsprechenden Angaben im zugehörigen Forum zu erstellen und dann hier auf diesen zu verweisen.
Beste Grüße
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 388
- Registriert: Mi Sep 12, 2018 1:11 am
- Wohnort: NRW
- Hat sich bedankt: 204 Mal
- Danksagung erhalten: 251 Mal
Hey Jens, in der letzten von Sven veröffentlichten Version (V4) - aus Beitrag 26. Beides hatte ich auch in meiner Frage verlinkt
Bei einem anderen Stand hätte ich einen neuen Thread eröffnet.

VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit
-
- Reactions:
- Beiträge: 1890
- Registriert: Sa Sep 15, 2018 10:26 am
- Wohnort: Kerpen
- Hat sich bedankt: 759 Mal
- Danksagung erhalten: 582 Mal
Hallo Alex,
es geht mir hier nicht um die Versionsnummer des Logikbausteins, sondern um die des TWs.

Beste Grüße
Jens
es geht mir hier nicht um die Versionsnummer des Logikbausteins, sondern um die des TWs.

Beste Grüße
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 388
- Registriert: Mi Sep 12, 2018 1:11 am
- Wohnort: NRW
- Hat sich bedankt: 204 Mal
- Danksagung erhalten: 251 Mal
:Facepalm:
Sorry... Und das obwohl ich noch kein Glühwein intus habe...
Bin auf der aktuellsten Version 4.0 IP1
Sorry... Und das obwohl ich noch kein Glühwein intus habe...
Bin auf der aktuellsten Version 4.0 IP1
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit
-
- Reactions:
- Beiträge: 1890
- Registriert: Sa Sep 15, 2018 10:26 am
- Wohnort: Kerpen
- Hat sich bedankt: 759 Mal
- Danksagung erhalten: 582 Mal
Hallo Alex,
daher gehört das Thema in den dortigen Forumsbereich. Und „aktuellste Version“ ist keine valide Angabe, weil die morgen eine andere sein kann. Bitte erstelle einen neuen Thread, füge dort die exakte Versionsbezeichnung bei und referenziere von dort auf diesen Post hier.
Beste Grüße
Jens
daher gehört das Thema in den dortigen Forumsbereich. Und „aktuellste Version“ ist keine valide Angabe, weil die morgen eine andere sein kann. Bitte erstelle einen neuen Thread, füge dort die exakte Versionsbezeichnung bei und referenziere von dort auf diesen Post hier.
Beste Grüße
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 1868
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 627 Mal
- Danksagung erhalten: 764 Mal
Nachdem alexbeer mich auf eine unnötige Variablendeklaration aufmerksam gemacht hat, habe ich eine Zeile im Code gelöscht.
Keine Funktionsänderung gegenüber V4, aber der Code könnte in zukünftigen TWS-Versionen >V3.5.1 in Fehler laufen. Daher rate ich jedem Nutzer meiner Logik V4 die neue Version V5 zu nutzen (einfach Code austauschen).
Keine Funktionsänderung gegenüber V4, aber der Code könnte in zukünftigen TWS-Versionen >V3.5.1 in Fehler laufen. Daher rate ich jedem Nutzer meiner Logik V4 die neue Version V5 zu nutzen (einfach Code austauschen).
Code: Alles auswählen
/**
* Zähler Universalbaustein V5
* 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.
*/
{
"Input":[
["Zähler","Kontinuierlicher Zähler","$Counter","A"] ],
"Output":[
["Zähler Vortag","Zählerstand zum Ende des vorherigen Tages","$End_D","x"],
["Zähler Vorwoche","Zählerstand zum Ende der vorherigen Woche","$End_W","x"],
["Zähler Vormonat","Zählerstand zum Ende des vorherigen Monats","$End_M","x"],
["Zähler Vorjahr","Zählerstand zum Ende des vorherigen Jahres","$End_Y","x"],
["Verbrauch Vortag","Verbrauch des letzten Tages","$Consumption_PrevD","x"],
["Verbrauch Vorwoche","Verbrauch der letzten Woche","$Consumption_PrevW","x"],
["Verbrauch Vormonat","Verbrauch des letzten Monats","$Consumption_PrevM","x"],
["Verbrauch Vorjahr","Verbrauch des letzten Jahres","$Consumption_PrevY","x"],
["Verbrauch Aktueller Tag","Verbrauch des aktuellen Tages bisher","$Consumption_CurrD","C"],
["Verbrauch Aktuelle Woche","Verbrauch der aktuellen Woche bisher","$Consumption_CurrW","C"],
["Verbrauch Aktueller Monat","Verbrauch des aktuellen Monats bisher","$Consumption_CurrM","C"],
["Verbrauch Aktuelles Jahr","Verbrauch des aktuellen Jahres bisher","$Consumption_CurrY","C"]
],
"Level":[
["$Cron_D","string","59 59 23 * * *"],
["$HalfDayinSec","integer",43200],
["$Formula_Tomorrow","string","X1+X2"],
["$Today_Utime","integer",0],
["$Today_Wday","integer",0],
["$Tomorrow_Utime","integer",0],
["$Tomorrow_Mday","integer",0],
["$Tomorrow_Yday","integer",0],
["$SendCond_D","bool",false],
["$SendCond_W","bool",false],
["$SendCond_M","bool",false],
["$SendCond_Y","bool",false],
["$Eins","integer",1],
["$True","bool",true],
["$Counter","float",0.0],
["$End_D","float",0.0],
["$End_W","float",0.0],
["$End_M","float",0.0],
["$End_Y","float",0.0],
["$Consumption_PrevD","float",0.0],
["$Consumption_PrevW","float",0.0],
["$Consumption_PrevM","float",0.0],
["$Consumption_PrevY","float",0.0],
["$Consumption_CurrD","float",0.0],
["$Consumption_CurrW","float",0.0],
["$Consumption_CurrM","float",0.0],
["$Consumption_CurrY","float",0.0],
["$Formula","string","X2>0?X1-X2:0"],
["$Gate","bool",true]
],
"Module":[
//täglich am Ende des Tages triggern
["Cron","$True","$SendCond_D",0,"$Cron_D"],
// Werte des aktuellen Tages bestimmen
["Localtime",0,"$Today_Utime",0,0,0,0,0,0,"$Today_Wday",0,0],
// Werte des Folgetages bestimmen
["CalcFormula",["$Today_Utime","$HalfDayinSec"], "$Tomorrow_Utime", "$Formula_Tomorrow"],
["Localtime","$Tomorrow_Utime",0,0,0,0,"$Tomorrow_Mday",0,0,0,"$Tomorrow_Yday",0],
//Tageswerte schreiben
//Berechnung des aktuellen Verbrauches in der Periodenende
["CalcFormula",["$Counter","$End_D"], "$Consumption_CurrD", "$Formula"],
//Setzen und Senden des Periodenende, wenn Bedingung erfüllt
["Latch","$Counter","$End_D","$SendCond_D",0],
["SendExplicit","$SendCond_D","$End_D",0],
//Setzen und Senden des Periodenendverbrauches, wenn Bedingung erfüllt
["Comparator" , "$End_D" , "$Gate" , 0],
["And",["$Gate","$SendCond_D"],"$SendCond_D"],
["Latch","$Consumption_CurrD","$Consumption_PrevD","$SendCond_D",0],
["SendExplicit","$SendCond_D","$Consumption_PrevD",0],
//Wochenwerte schreiben
//Berechnung des aktuellen Verbrauches in der Periodenende
["CalcFormula",["$Counter","$End_W"], "$Consumption_CurrW", "$Formula"],
//Prüfen ob das Ende einer Woche (also Sonntag-Abend) erreicht ist und ob die Logik wegen des Periodenendes getriggert wurde
["Comparator" , "$Today_Wday" , "-$SendCond_W" , 0],
["And",["$SendCond_D","$SendCond_W"],"$SendCond_W"],
//Setzen und Senden des Periodenende, wenn Bedingung erfüllt
["Latch","$Counter","$End_W","$SendCond_W",0],
["SendExplicit","$SendCond_W","$End_W",0],
//Setzen und Senden des Periodenendverbrauches, wenn Bedingung erfüllt
["Comparator" , "$End_W" , "$Gate" , 0],
["And",["$Gate","$SendCond_W"],"$SendCond_W"],
["Latch","$Consumption_CurrW","$Consumption_PrevW","$SendCond_W",0],
["SendExplicit","$SendCond_W","$Consumption_PrevW",0],
//Monatswerte schreiben
//Berechnung des aktuellen Verbrauches in der Periodenende
["CalcFormula",["$Counter","$End_M"], "$Consumption_CurrM", "$Formula"],
//Prüfen ob das Ende eines Monats erreicht ist und ob die Logik wegen des Periodenendes getriggert wurde
["Comparator" , "$Tomorrow_Mday" , "-$SendCond_M" , "$Eins"],
["And",["$SendCond_D","$SendCond_M"],"$SendCond_M"],
//Setzen und Senden des Periodenende, wenn Bedingung erfüllt
["Latch","$Counter","$End_M","$SendCond_M",0],
["SendExplicit","$SendCond_M","$End_M",0],
//Setzen und Senden des Periodenendverbrauches, wenn Bedingung erfüllt
["Comparator" , "$End_M" , "$Gate" , 0],
["And",["$Gate","$SendCond_M"],"$SendCond_M"],
["Latch","$Consumption_CurrM","$Consumption_PrevM","$SendCond_M",0],
["SendExplicit","$SendCond_M","$Consumption_PrevM",0],
//Jahreswerte schreiben
//Berechnung des aktuellen Verbrauches in der Periodenende
["CalcFormula",["$Counter","$End_Y"], "$Consumption_CurrY", "$Formula"],
//Prüfen ob das Ende eines Jahres erreicht ist und ob die Logik wegen des Periodenendes getriggert wurde
["Comparator" , "$Tomorrow_Yday" , "-$SendCond_Y" , "$Eins"],
["And",["$SendCond_D","$SendCond_Y"],"$SendCond_Y"],
//Setzen und Senden des Periodenende, wenn Bedingung erfüllt
["Latch","$Counter","$End_Y","$SendCond_Y",0],
["SendExplicit","$SendCond_Y","$End_Y",0],
//Setzen und Senden des Periodenendverbrauches, wenn Bedingung erfüllt
["Comparator" , "$End_Y" , "$Gate" , 0],
["And",["$Gate","$SendCond_Y"],"$SendCond_Y"],
["Latch","$Consumption_CurrY","$Consumption_PrevY","$SendCond_Y",0],
["SendExplicit","$SendCond_Y","$Consumption_PrevY",0]
]
}
Zuletzt geändert von Robosoc am Do Okt 26, 2023 5:53 pm, insgesamt 2-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK