ks300 min max werte speichern

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: ks300 min max werte speichern

Beitrag von buempi » 21.12.2011, 09:12

sickboy2711 hat geschrieben:Leider bekomme ich beim èbertragen eine Fehlermeldung
... ich hab mal meine Kristallkugel befragt, und die sagt, dass da wohl was von

Code: Alles auswählen

Ausdruck: ZEILE
stehen könnte??? - Das wäre dann ein starkes Indiz dafür, dass du die Zeichenvariable "Zeile" noch nicht angelegt hast!

Wenn du das nachgeholt hast, wird in deine Datei aber nur

Code: Alles auswählen

21.12.2011 Temperatur_aussen
geschrieben; nämlich das Datum und der Text, den du der Variablen übergibst. Willst du auch noch den Wert drin haben, musst du den auch reinschreiben!

Code: Alles auswählen

Zeile := Datum + " Temperatur aussen: " + KS300_Temp.MittelwertTemp
Schreibedatei("Aussentemperaturen.txt",Zeile,2)
Aufgepasst: Wenn du das in einem speziellen Tageswechsel-Makro loggst, musst du die Nullstellungen auch dort machen, weil du die Ausführungs-Reihenfolge der bei Tageswechsel auszuführenden Makros nicht selbst bestimmen kannst.

Viele Grüsse
Bümpi

sickboy2711
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

Beitrag von sickboy2711 » 21.12.2011, 12:44

Hallo Bümpi

Ja das ist richtig, das da die Fehlermeldung betreffend Zeile kommt

Was genau muss ich denn da in den Variablen Zeile angenen / definieren?
Aufgepasst: Wenn du das in einem speziellen Tageswechsel-Makro loggst, musst du die Nullstellungen auch dort machen, weil du die Ausführungs-Reihenfolge der bei Tageswechsel auszuführenden Makros nicht selbst bestimmen kannst.
Wie genau muss ich die Sache mit der Nullstellung denn bewerkstelligen?

Was Muss ich dann zusätzlich in das Makro Aussentemperaturen zu

Code: Alles auswählen

Zeile := Datum + " Temperatur aussen: " + KS300_Temp.MittelwertTemp
Schreibedatei("Aussentemperaturen.txt",Zeile,2)
eintragen?
Dieser Code speichert aber nur den Mittelwert und nicht die Min/Max Temperaturen wenn ich das richtig verstanden habe oder?
Für diese müsste ich die Ausdrücke

Code: Alles auswählen

Zeile := Datum + " Temperatur aussen: " +Zeit + KS300_Temp.MaxTemp +Zeit + KS300_Temp.MinTemp
Schreibedatei("Aussentemperaturen.txt",Zeile,2)
nehmen?
Das das Ganze wie folgt ausschaut:

Code: Alles auswählen

20.12.2011 12:00 02.10 22:45 -00.50
Sorry für mein Unwissen aber auf dem Gebiet Haussteuerung bin ich echt "Blutiger Anfänger"

Danke und Gruss

Denni

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: ks300 min max werte speichern

Beitrag von buempi » 21.12.2011, 14:21

sickboy2711 hat geschrieben:Was genau muss ich denn da in den Variablen Zeile angenen / definieren?
Vielleicht solltest du die ersten Kapitel der Homeputer-Hilfe mal durchlesen und die enthaltenen Beispiele durcharbeiten. Variablen definiert man unterhalb des Feldes, wo man Makros einträgt. Man kann den Namen (Zeile), den Typ (Zeichen) und - wenn gewünscht - den Startwert (in unserem Falle nichts) eintragen.
sickboy2711 hat geschrieben:Wie genau muss ich die Sache mit der Nullstellung denn bewerkstelligen?
Die ist in meinem Makro am Anfang des Themas bereits vorgesehen, indem das Makro auch bei Tageswechsel ausgeführt wird und dann um 00:00:00 eben alle Variablen zurückgesetzt werden. Wenn du das Logging in diesem WENN-Block vornimmst (natürlich VOR den Nullstellungen), brauchst du kein zusätzliches Makro!
sickboy2711 hat geschrieben:Dieser Code speichert aber nur den Mittelwert und nicht die Min/Max Temperaturen wenn ich das richtig verstanden habe oder?
Ja, war ja auch als Beispiel gedacht!

Um eine Ausgabe-Zeile zu generieren, wie du sie wünschst, muss man einfach das, was in die Variable "Zeile" reingeschrieben werden soll "zusammensetzen" und natürlich nicht "Zeit" (= aktuelles Datum und Uhrzeit) sondern die Variablen, welche die betreffenden Zeiten enthalten, verwenden:

Code: Alles auswählen

Zeile := Datum + " " + MaxZeit + " " + MaxTemp + " " + MinZeit + " " + MinTemp
Schreibedatei("Aussentemperaturen.txt",Zeile,2)
Bei den Variablen musst du immer noch ein "KS300_Temp." voranstellen, wenn du das Datei-Schreiben trotz dem oben Gesagten aus einem anderen Makro heraus erledigst.

Viele Grüsse
Bümpi

sickboy2711
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

Beitrag von sickboy2711 » 25.12.2011, 13:21

Hallo Buempi

Die erweiterung Schreibe Datei funtioniert nun reibungslos.
Ich bekomme jeden Tag einen neuen Logeintrag mit den min und max Temperaturwerten.
Nur habe ich noch folgendes Problem, das das Datum vom nächsten Tag genommen wird (denke mal wegen der Ausführung bei Tageswechsel und "der anweisung wenn 00:00:00" wie kann ich das noch einstellen, das das Datum vom Vortag im Logeintrag genommen wird?
Mit

Code: Alles auswählen

DATUM-1
oder

Code: Alles auswählen

(DATUM-1)
komme ich auch nicht weiter.

Besten Dank für deine Antwort

Gruss

Denni

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: ks300 min max werte speichern

Beitrag von buempi » 25.12.2011, 13:33

Hallo Denni

Du musst eine Variable "Gestern" vom Typ Datum anlegen. Dann kannst du damit "rechnen":

Code: Alles auswählen

Gestern := Datum - 1
Nachher weist du der Variablen Zeile nicht mehr "Datum", sondern "Gestern" zu.

Viele Grüsse
Bümpi

sickboy2711
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

Beitrag von sickboy2711 » 25.12.2011, 14:10

Hallo Buempi,

Vielen Dank für die Antwort,
Ich habe lange im Forum undden Hilfetexten gesucht jedoch nichts gefunden.
Macht Ihr die Sache mit Homematic Hauptberuflich oder ist dies nur Hobby? Dass Ihr diese Sachen alle aus dem Stegreif kennt?

Werde morgen Früh nachschauen ob es funktionier hat ( möchte jetzt nicht extra die Systemzeit ändern, damit ich die Ausführung testen kann (Oder gibt es Möglichkeiten ohne viel Aufwand das Makro manuel auszulösen ohne dies in die Visualiesierung aufzu nehmen?)

Gruss

Denni

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: ks300 min max werte speichern

Beitrag von buempi » 25.12.2011, 14:20

sickboy2711 hat geschrieben:Macht Ihr die Sache mit Homematic Hauptberuflich
... nur Hobby und Spass an der Freude!
sickboy2711 hat geschrieben:Oder gibt es Möglichkeiten ohne viel Aufwand das Makro manuel auszulösen
... du könntest bei «Wenn UHREIT = "00:00:00"» z.B. «Wenn UHREIT > "15:00:00"» eintragen und die Zeilen mit den Nullstellungen auskommentieren. - Dann wird natürlich ab 15:00 Uhr jedes Mal in die Datei, bis du die Änderung wieder rückgängig machst.

Viele Grüsse
Bümpi

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“