Eine wirklich richtige Lösung wird es aber weder mit dem Tiefpass noch mit jeder anderen potentiell denkbaren nachgeschalteten Logik.
Ich denke ein Ansatz könnte sein herauszufinden, welcher der beiden Werte zuerst vom Sensor gesendet wird. Dann müßte man das Eintreffen des zweiten Wertes als Trigger für die Addition verwenden.
UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ
NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ
NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074
[Gelöst] Zwei Werte synchron aufaddieren
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: 265
- Registriert: Mi Sep 05, 2018 1:09 pm
- Hat sich bedankt: 492 Mal
- Danksagung erhalten: 119 Mal
Zuletzt geändert von terseek am Mo Feb 21, 2022 11:22 pm, insgesamt 1-mal geändert.
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 1876
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 635 Mal
- Danksagung erhalten: 775 Mal
Einfachste Lösung : Tiefpass, würde ich damit wohl machen.
Alternative im Custom Code: Du könntest ermitteln, ob das aktuelle Ergebnis des Codes ( bevor Du ihn auf den Ausgang schreibst) größer als z.B. 0,5 % vom vorherigen Ergebniswert abweicht) und wenn ja, änderst Du den Ausgang nicht. Ob dafür die Sprunghöhen ausreichend sind, bin ich mir aber nicht sicher.
Alternative im Custom Code: Du könntest ermitteln, ob das aktuelle Ergebnis des Codes ( bevor Du ihn auf den Ausgang schreibst) größer als z.B. 0,5 % vom vorherigen Ergebniswert abweicht) und wenn ja, änderst Du den Ausgang nicht. Ob dafür die Sprunghöhen ausreichend sind, bin ich mir aber nicht sicher.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK
-
- Reactions:
- Beiträge: 345
- Registriert: Di Okt 02, 2018 4:28 pm
- Wohnort: St. Ilgen, Baden-Württemberg
- Hat sich bedankt: 112 Mal
- Danksagung erhalten: 82 Mal
- Kontaktdaten:
Man könnte auch alles was mehr als 5 hPa von der letzten Messung abweicht als offensichtlichen Messfehler ignorieren. Dann ignoriert man bei einem Ausreißer zwei Werte (die beiden Flanken, nach dem zweiten Leseprozess sind die beiden Werte wieder zusammen passend), der dritte passt wieder, wird genommen und am Ende sieht das so aus als würden da einfach zwei Werte fehlen.Robosoc hat geschrieben: ↑Di Feb 22, 2022 6:36 am Alternative im Custom Code: Du könntest ermitteln, ob das aktuelle Ergebnis des Codes ( bevor Du ihn auf den Ausgang schreibst) größer als z.B. 0,5 % vom vorherigen Ergebniswert abweicht) und wenn ja, änderst Du den Ausgang nicht. Ob dafür die Sprunghöhen ausreichend sind, bin ich mir aber nicht sicher.
Beispiel:
Zeitpunkt | Wert A | Wert B | Summe | Ergebnis |
---|---|---|---|---|
1 | 990 | 1 | 991 | akzeptiert |
2 | 990 | 9 | 999 | abgelehnt |
3 | 980 | 9 | 989 | akzeptiert |
4 | 980 | 7 | 987 | akzeptiert |
Ich versuch das mal.
Grüße
Marc
Zuletzt geändert von Zugschlus am Di Feb 22, 2022 2:45 pm, insgesamt 1-mal geändert.
--
Marc Haber, St. Ilgen. Freier IT-Berater, Debian Developer.
TWS 950Q #326, VPN auf Anfrage - KNX, 1Wire (13/55/54 Slaves), MQTT, Cometvisu, viel Grafana, ganz ein bisschen Logik.
Marc Haber, St. Ilgen. Freier IT-Berater, Debian Developer.
TWS 950Q #326, VPN auf Anfrage - KNX, 1Wire (13/55/54 Slaves), MQTT, Cometvisu, viel Grafana, ganz ein bisschen Logik.
-
- Reactions:
- Beiträge: 1876
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 635 Mal
- Danksagung erhalten: 775 Mal
Ja, eas meinte ich ja und entspricht etwa den 0,5%
Aber bei dem Fehler ganz rechts in Deinem Screenshot könnte es schon sein, dass es nicht mehr funktioniert. Da hast Du einen vergleichsweise lang anliegenden Fehlerwert, der zu klein ist, während der eigentlich korrekte Messwert steigt...aber probiere es mal...zumindest ist es eine gute CustomCode Übung.
Aber bei dem Fehler ganz rechts in Deinem Screenshot könnte es schon sein, dass es nicht mehr funktioniert. Da hast Du einen vergleichsweise lang anliegenden Fehlerwert, der zu klein ist, während der eigentlich korrekte Messwert steigt...aber probiere es mal...zumindest ist es eine gute CustomCode Übung.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK
-
- Reactions:
- Beiträge: 1876
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 635 Mal
- Danksagung erhalten: 775 Mal
Zu deinem Customcode hätte ich noch zwei Hinweise...aber nichts Falsches oder so.
Du hast bei den Ein- und Ausgängen den Namen (Parameter 1)und die Beschreibung/Tooltipp (Parameter2) gleich gewählt...das ist irgendwie sinnlos...wenn ich meine den Tooltipp nicht zu brauchen , lasse ich ihn tatsächlich leer = "", ansonsten fülle ich ihn gerne auch mit längerem Text, der mir den gewünschten Inthalt des Wertes genauer erklärt. Aber so wie Du es jetzt gemacht hast funktioniert es natürlich, ich war mir bloß nicht sicher, ob Du den Zweck des zweiten Parameters kanntest.
Du hast jeden Ein- und Ausgang mit dem Verhalten a definiert. Das ist an sich auch nicht falsch und du kannst es ja in der GUI überschreiben. Aber das birgt eine Gefahr. Solltest Du das Verhalten in der GUI umdefiniert haben und den CustomCode nachträglich mal ändern oder die Zelle kopieren, verlierst Du die in der GUI definierten Verhalten...deshalb würde ich dringend empfehlen das Triggerverhalten bereits im Code korrekt zu definieren.
Du hast bei den Ein- und Ausgängen den Namen (Parameter 1)und die Beschreibung/Tooltipp (Parameter2) gleich gewählt...das ist irgendwie sinnlos...wenn ich meine den Tooltipp nicht zu brauchen , lasse ich ihn tatsächlich leer = "", ansonsten fülle ich ihn gerne auch mit längerem Text, der mir den gewünschten Inthalt des Wertes genauer erklärt. Aber so wie Du es jetzt gemacht hast funktioniert es natürlich, ich war mir bloß nicht sicher, ob Du den Zweck des zweiten Parameters kanntest.
Du hast jeden Ein- und Ausgang mit dem Verhalten a definiert. Das ist an sich auch nicht falsch und du kannst es ja in der GUI überschreiben. Aber das birgt eine Gefahr. Solltest Du das Verhalten in der GUI umdefiniert haben und den CustomCode nachträglich mal ändern oder die Zelle kopieren, verlierst Du die in der GUI definierten Verhalten...deshalb würde ich dringend empfehlen das Triggerverhalten bereits im Code korrekt zu definieren.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK
-
- Reactions:
- Beiträge: 345
- Registriert: Di Okt 02, 2018 4:28 pm
- Wohnort: St. Ilgen, Baden-Württemberg
- Hat sich bedankt: 112 Mal
- Danksagung erhalten: 82 Mal
- Kontaktdaten:
So sieht das jetzt aus:
Code: Alles auswählen
{
"_Meta": { // Optional
"Description": "",
"Version": "1.00",
"Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
},
"Input": [
["Summand","Summand","$VAR<Summand!>","ai"],
["Differenz","Differenz","$diff","ai"]
],
"Output": [
["LimLow","LimLow","$LimLow","a"],
["LimHigh","LimHigh","$LimHigh","a"],
["CompRes","CompRes","$CompRes","a"],
["Luftdruck","Luftdruck","$Out","c"],
["Summe","Summe","$Summe","a"],
["Dummy","Dummy","$Dummy","a"],
["Valid","Valid","$Valid","a"]
],
"Module": [
["Polynomial","$ConstOne","$Summe",["$VAR<Summand!>"]],
["CalcFormula",["$Summe","$diff"],"$LimLow","$SubFormel"],
["CalcFormula",["$Summe","$diff"],"$LimHigh","$AddFormel"],
["Limiter","$Out","$Dummy","$Valid",["$LimLow","$LimHigh"]],
["Latch","$Summe","$Intermed","$Valid",0],
["Multiplexer", ["$Summe", "$Summe", "$Summe", "$Summe", "$Summe", "$Summe", "$Summe", "$Summe", "$Summe", "$Summe", "$Summe", "$Intermed"],"$Out","$Out"]
],
"Level": [
["$VAR<Summand!>","float",0],
["$diff","float",0],
["$Summe","float",0],
["$LimLow","float",0],
["$LimHigh","float",0],
["$CompRes","float",0],
["$AddFormel","string","X1+X2"],
["$SubFormel","string","X1-X2"],
["$Dummy","float",0],
["$Valid","bool",true],
["$Intermed","float",0],
["$Out","float",0],
["$ConstOne","float",1]
]
}
Das funktioniert jetzt seit Februar, und in der Zeit in der es funktioniert hat, habe ich wohl vergessen wie das Ding funktioniert. Also, bloß nicht anfassen
Grüße
Marc
--
Marc Haber, St. Ilgen. Freier IT-Berater, Debian Developer.
TWS 950Q #326, VPN auf Anfrage - KNX, 1Wire (13/55/54 Slaves), MQTT, Cometvisu, viel Grafana, ganz ein bisschen Logik.
Marc Haber, St. Ilgen. Freier IT-Berater, Debian Developer.
TWS 950Q #326, VPN auf Anfrage - KNX, 1Wire (13/55/54 Slaves), MQTT, Cometvisu, viel Grafana, ganz ein bisschen Logik.