Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von thkl » 04.12.2014, 17:12

Guten Abend,

ich habe ein kleines Problem mit div. HM Scripts. Scripts die syntaktisch korrekt sind, und bis vor kurzem noch problemlos liefen verweigern seit gestern den Dienst.
Die Dinger sind schon ewig aktiv, und ich habe nichts dran geändert. Mir ist das nur aufgefallen, da sich das System seit gestern irgendwie komisch verhalten hat.
Im Script Executor Plugin laufen sie problemlos.

Beispiel, das setzen einer Variable funktioniert nicht mehr ....

Code: Alles auswählen

var ph = dom.GetObject("PreHeat");
if (ph) {
 ph.State(false);
}
Ergibt :

Error 1 at row 2 col 7 near ^) {
ph.State(false);
}


Ich bin leicht ratlos ....

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von thkl » 04.12.2014, 18:00

ok, Backup erstellen ; CCU Reset und Backup wieder einspielen hat geholfen.

... Wat ein Bananensystem ....

jm1536
Beiträge: 25
Registriert: 24.11.2014, 11:22
Hat sich bedankt: 1 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von jm1536 » 07.12.2014, 10:22

Hallo,

ich habe seit Kurzem ein ähnliches Problem.

Mein Feiertagsskript ist auf der CCU1 schon ewig fehlerfrei gelaufen. Nach Wechsel auf die CCU2 anfangs auch. Aber nach ein Paar Tagen kommen nachts Syntaxfehler.
Dec 7 00:01:01 homematic-ccu2 local0.err ReGaHss: Error: IseESP::SyntaxError= Error 1 at row 71 col 18 near ^/100; !! Säkularzahl integer m = 15 + (((3*k^M [../Platform/DOM/iseESP.cpp (1067)]
Dec 7 00:01:01 homematic-ccu2 local0.err ReGaHss: Error: ParseProgram: SyntaxError= /100; !! Säkularzahl integer m = 15 + (((3*k) + 3) / 4) - (((8*k) + 13) / 25); !! Säkulare Mondschaltung integer s = 2 - (((3*k) + 3) / 4);
Dec 7 00:01:01 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 0 0x00 [1] 0 0x00 [2] 0 0x00 [3] 0 0x00 [4] 0 0x00 [../Platform/DOM/iseESPexec.cpp (11622)]
Ich habe das eingrenzen können. Wenn ich in einem neuen Program folgendes Skript eingebe:

Code: Alles auswählen

integer x = 1;
WriteLine(x);
kommt der Sytaxfehler
Error 1 at row 2 col 20 near ^(x);
Parse following code failed:
integer x = 1;
WriteLine(x);
(immer bei der 1. Verwendung einer neu angelegten Variablen). Der Code wird bei "Skript testen" aber fehlerfrei ausgeführt. Wenn ich die CCU2 boote, funktioniert alles wieder ein paar Tage, bis nachts der "Syntaxfehler" wieder zuschlägt.

Gibt es eine Idee, wie man das umgehen kann, oder bringt es etwas, das Problem bei ELV zu melden?

Viele Grüße, Jürgen

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von Herbert_Testmann » 07.12.2014, 11:26

jm1536 hat geschrieben:Hallo,
Ich habe das eingrenzen können. Wenn ich in einem neuen Program folgendes Skript eingebe:

Code: Alles auswählen

integer x = 1;
WriteLine(x);
kommt der Sytaxfehler
Error 1 at row 2 col 20 near ^(x);
Parse following code failed:
integer x = 1;
WriteLine(x);
(immer bei der 1. Verwendung einer neu angelegten Variablen). Der Code wird bei "Skript testen" aber fehlerfrei ausgeführt. Wenn ich die CCU2 boote, funktioniert alles wieder ein paar Tage, bis nachts der "Syntaxfehler" wieder zuschlägt.

Gibt es eine Idee, wie man das umgehen kann, oder bringt es etwas, das Problem bei ELV zu melden?

Viele Grüße, Jürgen
Hallo

wenn Du das schon so weit eingegrenzt hast, dann würde ich es auf jeden Fall zum Hersteller schicken.
Ist nur die Frage, auf welchem WEg es auch sicher in der Entwicklungsabteilung an kommt ???
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

EnergyStar
Beiträge: 1276
Registriert: 27.07.2010, 11:38
Danksagung erhalten: 1 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von EnergyStar » 08.12.2014, 14:33

Am Besten nach Leer fahren und persönlich überreichen. :mrgreen:

Gruß
EnergyStar
--------------------------------------------
CCU1 mit 1.514, CUxD 0.59b, Historian V0.7.6hf1
161 Kanäle in 35 Geräten
in schrittweiser Migration auf die
CCU2 mit 2.15.5, CUxD 0.68, Historian V0.7.6hf1
254 Kanäle in 88 Geräten
gesamte Funktionalität über die
CL-Box mit homeputer CLX Ver. 4.0 Rel. 150625
Ansichten: 17, Objekte: 882, Zeilen: 19863, Variablen: 1966

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von thkl » 08.12.2014, 21:07

EnergyStar hat geschrieben:Am Besten nach Leer fahren und persönlich überreichen. :mrgreen:

Gruß
EnergyStar
Oh in einem schwarzen taktischem Kleinbus . Ich bin dabei ;)

(Disclaimer: Scherz !)

jm1536
Beiträge: 25
Registriert: 24.11.2014, 11:22
Hat sich bedankt: 1 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von jm1536 » 10.12.2014, 13:20

Hallo,

ich habe weiter getestet. Es ist wohl so, dass die CCU einmal angelegte Variablen nicht mehr freigibt, sie sind dann sogar in anderen Skripts bekannt und ohne Deklaration benutzbar. Da ich viele Strings deklariert hatte (Zeitleisten für Heizungsthermostatskript, Feiertage, Listen für foreach...), ist der Speicher irgendwann voll, dann kommen die Syntaxfehler (sind ja eigentlich Laufzeitfehler wegen mangelndem Speicher...). Erst ein Reboot gibt den Speicher wieder frei.

Ich habe jetzt meine Skripts auf Speicherplatz optimiert. Wenn ein neues Skript nach vielem Rumprobieren fertig ist, erstmal Reboot, damit die Variablen der vorherigen Versuche weg sind.

Das Problem schein es wohl schon länger zu geben (http://homematic-forum.de/forum/viewtop ... atz#p20088):
TrauMatic hat geschrieben:Muss eine Systemvariable einer Script-Variablen nur einmal in einem beliebigen Script vereinbart werden?
Wann werden die Systemvariablen entgültig gelöscht?
Wird der Speicherplatz für die Systemvariablen nicht von gelöschten Variablen befreit?
Wann ist dann der Speicher der HOMEMATIC voll?
Wie dokumentiere ich diesen Fehler jetzt am Besten? Soll das ins Forum "bekannte Bugs"? An eQ-3 herantragen klappt ja anscheinend nicht, oder kennt jemand einen (ernsthaften :wink:) Weg?

Viele Grüße, Jürgen

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von Herbert_Testmann » 10.12.2014, 13:50

Hallo

mail an ELV schreiben
mail an eq-3 schreiben
text in ELV Kundenforum schreiben

Ob das dabei erstellte Ticket mit der Nummer ....... dann jemals den Entwickler erreicht und ob der sich damit ernsthaft beschäftigt , wirst Du vermutlich nie erfahren.

Man(n) könnte auch zu einem der Usertreffen mit eq-3 Beteiligung fahren und einen Aktenordner mit Fehlerbeschreibungen an die Vertreter des Herstellers übergeben ;-)
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von paul53 » 11.12.2014, 14:13

jm1536 hat geschrieben:Wie dokumentiere ich diesen Fehler jetzt am Besten? Soll das ins Forum "bekannte Bugs"?
Ja, bitte in der Reihenfolge: Beobachtung (Fehler) - Ursache - Workaround.
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

jm1536
Beiträge: 25
Registriert: 24.11.2014, 11:22
Hat sich bedankt: 1 Mal

Re: Script mit Syntaxfehlern, die bis vor kurzem noch liefen

Beitrag von jm1536 » 11.12.2014, 15:02

Erledigt, siehe http://homematic-forum.de/forum/viewtop ... 34&t=21969

Kleinbus und E-Mail spare ich mir, bringt wohl nichts.

Viele Grüße, Jürgen

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“