Anzeigen von Wertveränderung pro Zeiteinheit
Moderator: Co-Administratoren
Anzeigen von Wertveränderung pro Zeiteinheit
Hallo zusammen,
ich suche nach einer Möglichkeit die nicht die absoluten Zahlen, sondern die Werteveränderung (Count) pro Zeiteinheit zu visualisieren. Aktuell sehen meine Diagramme folgendermaßen aus (Beispiel: Strom/Wasser/Niederschlag):
Was ich darstellen möchte ist der aktuelle Stromverbrauch (Watt) oder die Regenmenge in z.B. l/10 Min.
Hier ein Beispiel wie ich mir das vorstelle (Beispiel: Verbrauch absolut und Watt):
Bei der Wasseruhr oder Regenmenge (Impulse/mm) fehlt mir aber die Quelle für den aktuellen Wert pro Zeiteinheit.
WIe kann ich die Werte berechnen bzw. gibt es eine Möglichkeit einfach die Darstellung der Datenpunkte entsprechend anzupassen?
Grüße & Danke,
Grunix
ich suche nach einer Möglichkeit die nicht die absoluten Zahlen, sondern die Werteveränderung (Count) pro Zeiteinheit zu visualisieren. Aktuell sehen meine Diagramme folgendermaßen aus (Beispiel: Strom/Wasser/Niederschlag):
Was ich darstellen möchte ist der aktuelle Stromverbrauch (Watt) oder die Regenmenge in z.B. l/10 Min.
Hier ein Beispiel wie ich mir das vorstelle (Beispiel: Verbrauch absolut und Watt):
Bei der Wasseruhr oder Regenmenge (Impulse/mm) fehlt mir aber die Quelle für den aktuellen Wert pro Zeiteinheit.
WIe kann ich die Werte berechnen bzw. gibt es eine Möglichkeit einfach die Darstellung der Datenpunkte entsprechend anzupassen?
Grüße & Danke,
Grunix
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: Anzeigen von Wertveränderung pro Zeiteinheit
Hallo!
Ich mache das über .LastValue().
Hier z.B. (zum Testen quick&dirty) den Feuchtigkeitsanstieg (beim Duschen):
Roland
Ich mache das über .LastValue().
Hier z.B. (zum Testen quick&dirty) den Feuchtigkeitsanstieg (beim Duschen):
Code: Alles auswählen
var x = dom.GetObject("HmIP-RF.000EDBE98B9875:1.HUMIDITY").Value();
var y = dom.GetObject("HmIP-RF.000EDBE98B9875:1.HUMIDITY").LastValue();
var delta = x-y;
dom.GetObject("DeltaH").State(delta);
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
Re: Anzeigen von Wertveränderung pro Zeiteinheit
Darüber habe ich auch schon nachgedacht, aber wie bekommst du den Faktor Zeit in die Rechnung? Um die Regenmenge / Impulse der Wasseruhr in Raltaion zur Zeit zu bekommen benötige ich die Werte von vor z.B. einer Minute oder 10 Minuten?! Oder übesehe ich hier was?
Grüße,
Steffen
Grüße,
Steffen
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: Anzeigen von Wertveränderung pro Zeiteinheit
Hallo Steffen!
So ungefähr:
var x = dom.GetObject("SV"); ! dein letzter Wert
var y = domGetObject(.....); ! dein aktueller Messwert
var d = y.Value() - x.Value() ! Delta
dom.GetObject("SV_Delta").State(d); ! neuer Differenzwert
x.State(y.Value());
Roland
Ok, da war ich wirklich etwas nachlässig. Für meinen Fall reichen mir die ca. 3 Minuten, die sich der Temperatursensor regelmäßig meldet.
Dann würde ich wirklich ein Programm zeitgesteuert laufen lassen und mir den Wert in einer Variable speichern, um ihn im nächsten Durchlauf mit dem aktuellen Wert zu vergleichen.Um die Regenmenge / Impulse der Wasseruhr in Raltaion zur Zeit zu bekommen benötige ich die Werte von vor z.B. einer Minute oder 10 Minuten?!
So ungefähr:
var x = dom.GetObject("SV"); ! dein letzter Wert
var y = domGetObject(.....); ! dein aktueller Messwert
var d = y.Value() - x.Value() ! Delta
dom.GetObject("SV_Delta").State(d); ! neuer Differenzwert
x.State(y.Value());
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Vindeliker
- Beiträge: 57
- Registriert: 12.05.2017, 08:06
- Hat sich bedankt: 34 Mal
Re: Anzeigen von Wertveränderung pro Zeiteinheit
Hallo,
ich mache Ähnliches mit „lasttimestamp“
(Bin grad am Handy und habe den korrekten Aufruf nicht verfügbar)
Dann Zeitdifferenz berechnen und gut is.
VG Manfred
ich mache Ähnliches mit „lasttimestamp“
(Bin grad am Handy und habe den korrekten Aufruf nicht verfügbar)
Dann Zeitdifferenz berechnen und gut is.
VG Manfred
Re: Anzeigen von Wertveränderung pro Zeiteinheit
Ja... und Nein. Die Idee hatte ich auch schon... führt aber wenn ich auf Starkregen überwache zu verspäteten und ggf. auch falschen Ergebnissen!
Ich habe versucht das (verständlich) aufzuzeichnen:
Das Programm würde zu jeder vollen Minute das Delta errechnen... (Ergebnis unter den blauen Strichen)
Wenn man beim letzten Impuls das Delta der letzten Zeiteinheit anzeigt (grün) kommt man auf die "realen" Werte. Das ist bei einer Minute noch überschaubar, wenn man das Intervall aber auf 10 Minuten ausdehnt um abzuschätzen ob es der Kanal noch schafft ist man mit hoher Warschinlichkeit zu spät und im Ergebnis ungenau (durch den starken Anstieg) wenn der Alarm rausgeht.
Grüße,
Steffen
Ich habe versucht das (verständlich) aufzuzeichnen:
Das Programm würde zu jeder vollen Minute das Delta errechnen... (Ergebnis unter den blauen Strichen)
Wenn man beim letzten Impuls das Delta der letzten Zeiteinheit anzeigt (grün) kommt man auf die "realen" Werte. Das ist bei einer Minute noch überschaubar, wenn man das Intervall aber auf 10 Minuten ausdehnt um abzuschätzen ob es der Kanal noch schafft ist man mit hoher Warschinlichkeit zu spät und im Ergebnis ungenau (durch den starken Anstieg) wenn der Alarm rausgeht.
Grüße,
Steffen
-
- Beiträge: 374
- Registriert: 13.07.2013, 10:46
- Wohnort: Rheinhessen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 5 Mal
Re: Anzeigen von Wertveränderung pro Zeiteinheit
Hallo,
ich habe das Skript von Roland für mich angepasst, leider erhalte ich immer wieder eine Fehlermeldung. Kann mir jemand dabei helfen das Skript für meinen Anwendungsfall anzupassen?
Die 3 Systemvariablen habe ich angelegt, Typ Zahl
der Wert für "SV_Regenmenge" wird bereits in eine anderen Programm berechnet,
Somit sollte im neuen Script (Trigger = zeitgesteuert alle 5 Minuten)
- der vorherige Wert von "SV_Regenmenge" in "SV_Regenmenge_alt" kopiert werden
- das Delta zwischen "SV_Regenmenge" (aktuell) und "SV_Regenmenge_alt" berechnet und in "SV_Regenmenge_delta" als positiver Wert eingetragen werden.
Fehlermeldung:
ich habe das Skript von Roland für mich angepasst, leider erhalte ich immer wieder eine Fehlermeldung. Kann mir jemand dabei helfen das Skript für meinen Anwendungsfall anzupassen?
Die 3 Systemvariablen habe ich angelegt, Typ Zahl
der Wert für "SV_Regenmenge" wird bereits in eine anderen Programm berechnet,
Somit sollte im neuen Script (Trigger = zeitgesteuert alle 5 Minuten)
- der vorherige Wert von "SV_Regenmenge" in "SV_Regenmenge_alt" kopiert werden
- das Delta zwischen "SV_Regenmenge" (aktuell) und "SV_Regenmenge_alt" berechnet und in "SV_Regenmenge_delta" als positiver Wert eingetragen werden.
Code: Alles auswählen
var x = dom.GetObject("SV_Regenmenge_alt");
var y = dom.GetObject("SV_Regenmenge");
var d = y.Value() - x.Value()
dom.GetObject("SV_Regenmenge_delta").State(d);
x.State(y.Value());
Code: Alles auswählen
Error 1 at row 4 col 7 near ^.GetObject("SV_Regenmenge_delta").State(d);
x.State(y.Value());
Parse following code failed:
var x = dom.GetObject("SV_Regenmenge_alt");
var y = dom.GetObject("SV_Regenmenge");
var d = y.Value() - x.Value()
dom.GetObject("SV_Regenmenge_delta").State(d);
x.State(y.Value());
Homematicbeginner
-
- Beiträge: 9679
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Anzeigen von Wertveränderung pro Zeiteinheit
X und y sind nicht var, sondern object
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: Anzeigen von Wertveränderung pro Zeiteinheit
Hallo!
Der Fehler wird dann in der nächsten Zeile tragend.
boolean x = 0.0 + "Hello world" / 0;
valide und x schließlich real ist, mache ich mir über die korrekte Deklaration (mit Ausnahmen) kaum Gedanken!
Ja, object ist richtig(er), var allgemeiner.
Roland
Da fehlt ein Semikolon (";").Homematicbeginner hat geschrieben: ↑12.10.2021, 21:15Code: Alles auswählen
var d = y.Value() - x.Value()
Der Fehler wird dann in der nächsten Zeile tragend.
Solange
boolean x = 0.0 + "Hello world" / 0;
valide und x schließlich real ist, mache ich mir über die korrekte Deklaration (mit Ausnahmen) kaum Gedanken!
Ja, object ist richtig(er), var allgemeiner.
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
-
- Beiträge: 374
- Registriert: 13.07.2013, 10:46
- Wohnort: Rheinhessen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 5 Mal