Seite 9 von 33

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 10.12.2015, 22:15
von BausatzFan
Guten Abend,

leider gelingt es mir nicht die Skripte richtig auszuführen. Bei der Fehlerprüfung bekomme ich bei beiden Skripten einen Fehler. Kann mir jemand sagen wo mein Fehler liegt?

Skript 1 - bei Aktualisierung
var curTemp = dom.GetObject("Aussen.Temperaturfuehler.Sender").DPByHssDP("TEMPERATURE").Value();
var maxTemp = dom.GetObject("Außentemperatur Maximum").Value();
var minTemp = dom.GetObject("Außentemperatur Minimum").Value();
var jetzt = system.Date("%H:%M h");

if (curTemp > maxTemp)
{ dom.GetObject("Außentemperatur Maximum").State(curTemp);
dom.GetObject("Uhrzeit Maximum").State(jetzt);
}
if (curTemp < minTemp)
{ dom.GetObject("Außentemperatur Minimum").State(curTemp);
dom.GetObject("Uhrzeit Minimum").State(jetzt);
}]

Skript 2 - Mitternacht
var curTemp = dom.GetObject("Aussen.Temperaturfuehler.Sender").DPByHssDP("TEMPERATURE").Value();
var maxTemp = dom.GetObject("Außentemperatur Maximum").Value();
var minTemp = dom.GetObject("Außentemperatur Minimum").Value();

dom.GetObject("Außentemperatur Max Gestern").State(maxTemp);
dom.GetObject("Außentemperatur Min Gestern").State(minTemp);
dom.GetObject("Außentemperatur Maximum").State(curTemp);
dom.GetObject("Außentemperatur Minimum").State(curTemp);
dom.GetObject("Uhrzeit Maximum").State("00:00 h");
dom.GetObject("Uhrzeit Minimum").State("00:00 h");


Mein Servicemeldungen haben andere Ursachen.
Danke!

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 11.12.2015, 22:44
von Xel66
Ich würde auf Sonderzeichen verzichten, denn dieses meckert das Scriptmodul an (ß in Außentemperatur).

Gruß Xel66

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 11.12.2015, 22:46
von Xel66
Xel66 hat geschrieben:Ich würde auf Sonderzeichen verzichten, denn dieses meckert das Scriptmodul an (ß in Außentemperatur). Auch wenn einige Anwender hier schreiben, dass sie mit Sonderzeichen kein Problem haben, ist das das klassische Gegenbeispiel dazu. Um gar nicht erst in solche Probleme zu rennen, ersetze ich solche durch ss, ae, oe oder ue bzw. verwende Begriffe, die diese nicht enthalten. Darum heißt meine Gästetoilette in der CCU auch "Besucherklo".

Gruß Xel66

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 13.12.2015, 20:09
von BausatzFan
Danke, Xel66, für die schnelle Antwort.

Ich kenne das Problem mit den Sonderzeichen und habe sie bislang auch konsequent vermieden. Nur bei diesem Skript habe ich sie übernommen, da alle Vorredner beschrieben haben, dass es funktioniert.

Dennoch habe ich Deinen Rat befolgt und alle Sonderzeichen korrigiert - also alle ß gegegn ss ausgetauscht. In den Systemvariablen als auch in den Skripten. Das Resultat ist leider das gleiche wie schon zuvor...

Das Skript scheint schon nicht zu laufen. Die Fehlerprüfung im Skripteditor bringt den Fehler:

Error 1 at row 6 col 12 near ^ > maxTemp)
{ dom.GetObject("Aussentemperatur Maximum").State(curTemp);
dom.Ge
Parse following code failed:
var curTemp = dom.GetObject("Aussen.Temperaturfuehler.Sender").DPByHssDP("TEMPERATURE").Value();
var maxTemp = dom.GetObject("Aussentemperatur Maximum").Value();
var minTemp = dom.GetObject("Aussentemperatur Minimum").Value();
var jetzt = system.Date("%H:%M h");

if (curTemp > maxTemp)
{ dom.GetObject("Aussentemperatur Maximum").State(curTemp);
dom.GetObject("Uhrzeit Maximum").State(jetzt);
}
if (curTemp < minTemp)
{ dom.GetObject("Aussentemperatur Minimum").State(curTemp);
dom.GetObject("Uhrzeit Minimum").State(jetzt);
}
(Siehe auch Dateianhang/Bild zu meinem ersten Beitrag)

Anscheinend kommt er mit dem Ausdruck "if (curTemp > maxTemp)" nicht klar. Es wäre toll wenn mir noch mal jemand helfen würde. Ich würde diese Funktion gerne für eine Reihe an Messwerten anwenden.

Vielen Dank und Grüße aus Franken!

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 13.12.2015, 21:31
von Xel66
Ist dann vermutlich ein typisches Beispiel für die These, dass der CCU der Speicherplatz für die Variablen ausgeht oder ähnliches. Vermutlich läuft das Script, wenn Du die CCU mal neu bootest. Dieser Fehler kommt leider öfter vor. Es gibt verschiedene Ansätze das Problem zu umgehen. Keine Ahnung, welcher der richtige Ansatz ist. Der Hersteller "kennt das Problem" wohl nicht.

Gruß Xel66

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 13.12.2015, 23:04
von BausatzFan
ne, das glaub ich jetzt nicht! :shock:

Ich habe schon viel programmiert in meinem Leben - 5 verschiedene Sprachen sind es und Assembler ist dabei (hm ausgeschlossen) - aber noch keine erforderte einen "Reboot" des Systems vor dem Ausführen eines Skripts! Als leidiger Windows-Nutzer sollte ich zwar auf die Idee kommen mal neu zu booten, bevor ich die Schuld auf ein Programm schiebe, aber hier, bei sowas? - ohne Worte -

Danke Xle66, das hat geholfen. ich bekomme jetzt Werte angezeigt :)

Schade aber irgendwie, dass anscheinend alle Anfänger über die gleichen Unzulänglichkeiten stolpern wie ich. Zum Glück bin ich erst jetzt eingestiegen und habe Andere viel Vorarbeit machen lassen. Hab ich nicht genügend recherchiert, oder gibt's da einfach nicht genug Aufklärung?

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 14.12.2015, 15:09
von alchy
Unter anderem in diesem >> Thread << kannst du einiges darüber nachlesen.

Ich kann das immer noch nicht nachvollziehen. Trotz Einsatz vieler eigener Scripte und ständiger Testerei dafür.

Alchy

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 15.12.2015, 18:14
von prinzeisenherz1
Hi zusammen!
Ich möchte das hier auch gerne umsetzen!
Als Temperaturfühler hab ich aber nur die Werte über wunderground!
Kann ich das auch über eine variable (Wetter_Temperatur) auswerten?
Hab das mit dem Skript von BausatzFan probiert aber leider klappt das nicht!
Das angepasste Skript :

Code: Alles auswählen

var curTemp = dom.GetObject("Wetter_Temperatur").Value();
var maxTemp = dom.GetObject("Aussentemperatur_Maximum").Value();
var minTemp = dom.GetObject("Aussentemperatur_Minimum").Value();
var jetzt = system.Date("%H:%M h");

if ( curTemp.Value() > maxTemp.Value() )
{
dom.GetObject("Aussentemperatur_Maximum").State(curTemp);
dom.GetObject("Uhrzeit Maximum").State(jetzt);
}
if ( curTemp.Value() < minTemp.Value() )
{
dom.GetObject("Aussentemperatur_Minimum").State(curTemp);
dom.GetObject("Uhrzeit Minimum").State(jetzt);
}
Programm :
Screenshot_2015-12-15-18-12-03.png
Vielleicht kann mir da jemand weiterhelfen
Johnny

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 16.12.2015, 08:24
von prinzeisenherz1
Hab das Skript wie folgt geändert und jetzt klappt es!

Code: Alles auswählen

var curTemp = dom.GetObject("Wetter_Temperatur").Value();
var maxTemp = dom.GetObject("Aussentemperatur_Maximum").Value();
var minTemp = dom.GetObject("Aussentemperatur_Minimum").Value();
var jetzt = system.Date("%H:%M h");

if (curTemp > maxTemp)
{
dom.GetObject("Aussentemperatur_Maximum").State(curTemp);
dom.GetObject("Uhrzeit Maximum").State(jetzt);
}

if (minTemp > curTemp)
{
dom.GetObject("Aussentemperatur_Minimum").State(curTemp);
dom.GetObject("Uhrzeit Minimum").State(jetzt);
}

Re: Min.- Max. Temperaturen Gestern und Heute

Verfasst: 17.12.2015, 08:45
von Andronid
Hallo BausatzFan,

wenn ich das richtig sehe, hast du in der Systemvariablen "Uhrzeit Minimum" die Einheit "°C" statt "h" verwendet. Kann das evtl. daran liegen?