ks300 min max werte speichern
Moderator: Co-Administratoren
- fighterzg6
- Beiträge: 101
- Registriert: 21.10.2009, 07:30
- Kontaktdaten:
ks300 min max werte speichern
hallo,
gibt es eine möglichkeit das man die min und max temperaturen von der ks300 speichern und anzeigen kann?
mfg ingo
gibt es eine möglichkeit das man die min und max temperaturen von der ks300 speichern und anzeigen kann?
mfg ingo
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: ks300 min max werte speichern
Hallo Ingo
Du aktivierst bei deinem Objekt KS300_Temp "Ausführen bei Empfang" und stellst zusätzlich den Ausführungsintervall auf "bei Tageswechsel". Dann trägst du folgendes Makro ein:
Viele Grüsse
Bümpi
Du aktivierst bei deinem Objekt KS300_Temp "Ausführen bei Empfang" und stellst zusätzlich den Ausführungsintervall auf "bei Tageswechsel". Dann trägst du folgendes Makro ein:
Code: Alles auswählen
** Variablen: MaxTemp, Typ Zahl, Startwert -100,0
** MinTemp, Typ Zahl, Startwert 100,0
** MaxZeit, Typ Zeichen
** MinZeit, Typ Zeichen
** SummeTemp, Typ Zahl, Startwert 0,0
** MittelwertTemp, Typ Zahl, Startwert 0,0
** X, Typ Zahl, Startwert 0
** KS300_Temp überall mit dem Namen deines Temperatur-Sensors ersetzen!
Laden("KS300_Temp.MinZeit")
Laden("KS300_Temp.MinTemp")
Laden("KS300_Temp.MaxZeit")
Laden("KS300_Temp.MaxTemp")
Laden("KS300_Temp.SummeTemp")
Laden("KS300_Temp.X")
wenn KS300_Temp > MaxTemp dann
MaxTemp := KS300_Temp
MaxZeit := Uhrzeit
endewenn
wenn KS300_Temp < MinTemp dann
MinTemp := KS300_Temp
MinZeit := Uhrzeit
endewenn
X := X+1
SummeTemp := SummeTemp + KS300_Temp
MittelwertTemp := SummeTemp / x
wenn Uhrzeit = "00:00:00" dann
X := 0
SummeTemp := 0,0
MittelwertTemp := KS300_Temp
MaxTemp := KS300_Temp
MinTemp := KS300_Temp
MaxZeit := "00:00:00"
MinZeit := "00:00:00"
endewenn
** Temperaturen ist ein Objekt vom Typ Zeichen, welches du in der benötigsten Höhe und Breite
** in deine Visualisierung aufnimmst
Temperaturen := "Min: " + MinZeit + "/" + MinTemp + "<<Max: " + MaxZeit + "/" + MaxTemp + "<<Mittel: " + MittelwertTemp
Sichern("KS300_Temp.MinZeit")
Sichern("KS300_Temp.MinTemp")
Sichern("KS300_Temp.MaxZeit")
Sichern("KS300_Temp.MaxTemp")
Sichern("KS300_Temp.SummeTemp")
Sichern("KS300_Temp.X")
Bümpi
- fighterzg6
- Beiträge: 101
- Registriert: 21.10.2009, 07:30
- Kontaktdaten:
- fighterzg6
- Beiträge: 101
- Registriert: 21.10.2009, 07:30
- Kontaktdaten:
-
- Beiträge: 250
- Registriert: 12.11.2011, 16:58
- System: CCU
- Wohnort: Schweiz
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 6 Mal
Re: ks300 min max werte speichern
Hallo buempi
Ich habe gerade dein Macro ausprobiert, gedoch bekomme ich beim Übertagen eine Fehlermeldung:
Danke und Gruss
Denni
Ich habe gerade dein Macro ausprobiert, gedoch bekomme ich beim Übertagen eine Fehlermeldung:
Daraufhin habe ich die ** durch // ausgetauscht um diese Zeilen auszukommentieren. Dann erhalte ich folgende Fehlermeldung:Syntaxfehler in Zeile:** Variablen: MaxTemp, Typ Zahl, Startwert -100,0
Ausdruck: VARIABLEN
Benötige ich diese Teile des Macros ebenfalls nicht und muss ich diese auch auskommentieren?Syntaxfehler in Zeile:Laden("Aussentemperatur.MinZeit")
Ausdruck LADEN
Danke und Gruss
Denni
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: ks300 min max werte speichern
Hallo Denni
Das obige Beispiel ist für Homeputer FHZ; da ist die Syntax etwas anders. In Homeputer CL musst du bei allen Kommentar-Zeilen ** durch // ersetzen.
Ausserdem gibt es die Anweisungen LADEN() und SICHERN() in Homeputer CL nicht. Auch diese Zeilen musst du alle mit // auskommentieren oder löschen.
Mit SICHERN() werden in Homeputer FHZ die betreffenden Werte in eine Datei auf der Festplatte geschrieben und mit LADEN() wieder eingelesen. Das dient dazu, dass bei einem Neustart der Anwendung die Minima und Maxima des bisherigen Tagesverlaufs erhalten bleiben; die Auswertung also nicht bei "Null" startet.
In Homeputer CL kann man das über LÖSCHEDATEI() + SCHREIBEDATEI() anstelle von SICHERN() und LESEWERTEDATEI() anstelle von LADEN() auch erreichen; ist aber einiges aufwändiger. Neuerdings gibt es jedoch die Möglichkeit, ALLE Zustände und Werte beim (ordentlichen) Beenden der ExecEngine zu speichern und beim Start wieder einzulesen. Das funktioniert beim Übertragen eines geänderten Projektes richtig. Nicht aber, wenn die CCU gebootet wird, und wahrscheinlich auch nicht, wenn die Homeputer-Software auf der CCU aktualisiert wird. In solchen Fällen (ausserordentliches Beenden der ExecEngine auf der CCU) also die Ausführung auf der CCU vorher vom PC aus über ExecEngineWin.exe beenden.
Ich empfehle dir, auf die aktuelle Homeputer-CL-Version zu updaten (Update der CCU nicht vergessen!) und dann über "Konfigurieren -> Einstellungen -> Allgemein" die entsprechende Option zu aktivieren.
Viele Grüsse
Bümpi
Das obige Beispiel ist für Homeputer FHZ; da ist die Syntax etwas anders. In Homeputer CL musst du bei allen Kommentar-Zeilen ** durch // ersetzen.
Ausserdem gibt es die Anweisungen LADEN() und SICHERN() in Homeputer CL nicht. Auch diese Zeilen musst du alle mit // auskommentieren oder löschen.
Mit SICHERN() werden in Homeputer FHZ die betreffenden Werte in eine Datei auf der Festplatte geschrieben und mit LADEN() wieder eingelesen. Das dient dazu, dass bei einem Neustart der Anwendung die Minima und Maxima des bisherigen Tagesverlaufs erhalten bleiben; die Auswertung also nicht bei "Null" startet.
In Homeputer CL kann man das über LÖSCHEDATEI() + SCHREIBEDATEI() anstelle von SICHERN() und LESEWERTEDATEI() anstelle von LADEN() auch erreichen; ist aber einiges aufwändiger. Neuerdings gibt es jedoch die Möglichkeit, ALLE Zustände und Werte beim (ordentlichen) Beenden der ExecEngine zu speichern und beim Start wieder einzulesen. Das funktioniert beim Übertragen eines geänderten Projektes richtig. Nicht aber, wenn die CCU gebootet wird, und wahrscheinlich auch nicht, wenn die Homeputer-Software auf der CCU aktualisiert wird. In solchen Fällen (ausserordentliches Beenden der ExecEngine auf der CCU) also die Ausführung auf der CCU vorher vom PC aus über ExecEngineWin.exe beenden.
Ich empfehle dir, auf die aktuelle Homeputer-CL-Version zu updaten (Update der CCU nicht vergessen!) und dann über "Konfigurieren -> Einstellungen -> Allgemein" die entsprechende Option zu aktivieren.
Viele Grüsse
Bümpi
-
- Beiträge: 250
- Registriert: 12.11.2011, 16:58
- System: CCU
- Wohnort: Schweiz
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 6 Mal
Re: ks300 min max werte speichern
Super das auskommentieren mit // hat funktioniert danke.
Wenn ich aber die Anweisung SICHERN anstelle von SCHREIBEDATEI einsetze bekomme ich wieder den Syntaxfehler.
Gruss
Deni
Wenn ich aber die Anweisung SICHERN anstelle von SCHREIBEDATEI einsetze bekomme ich wieder den Syntaxfehler.
Gruss
Deni
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: ks300 min max werte speichern
... du solltest vielleicht meinen Beitrag nochmals lesen! SICHERN() gibt es nicht in Homeputer CL und SCHREIBENDATEI() kann man in Verbindung mit LÖSCHEDATEI() und LESEWERTEDATEI() verwenden; ist aber viel komplizierter: http://homematic-forum.de/forum/viewtop ... 894#p24894sickboy2711 hat geschrieben:Wenn ich aber die Anweisung SICHERN anstelle von SCHREIBEDATEI einsetze bekomme ich wieder den Syntaxfehler.
Deshalb die neue Möglichkeit zum Sichern ALLER Werte verwenden!
Viele Grüsse
Bümpi
-
- Beiträge: 250
- Registriert: 12.11.2011, 16:58
- System: CCU
- Wohnort: Schweiz
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 6 Mal
Re: ks300 min max werte speichern
Aha, OK ich dachte wenn ich "SICHERN" mit SCHREIBEDATEI" austausche wärs getan, aber wie gesagt, die einfachere Möglichkeit und das auskommentieren die du beschrieben hast funktioniert.
Danke noch mal
Danke noch mal
-
- Beiträge: 250
- Registriert: 12.11.2011, 16:58
- System: CCU
- Wohnort: Schweiz
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 6 Mal
Re: ks300 min max werte speichern
Ciao Buempi
Gibt es auch die Möglichkeit diese Daten bei Tageswechsel zu loggen
Z.B.Durch eim Macro Log_Aussentemperatur mit folgendem Inhalt:
Leider bekomme ich beim èbertragen eine Fehlermeldung
Gibt es auch die Möglichkeit diese Daten bei Tageswechsel zu loggen
Z.B.Durch eim Macro Log_Aussentemperatur mit folgendem Inhalt:
Code: Alles auswählen
Zeile := Datum + " Temperatur_aussen "
Schreibedatei("Aussentemperaturen.txt",Zeile,2)