Fehler im Script aber Script testen geht ? ! ? ! ?

Fehler in Firmware und WebUI & Workarounds

Moderator: Co-Administratoren

Benutzeravatar
koppenho
Beiträge: 227
Registriert: 27.12.2013, 09:12
Wohnort: Bad Neustadt, Deutschland
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von koppenho » 22.07.2016, 23:19

koppenho hat geschrieben:...
Mein Wert: 176.
Das Ergebnis dürfte bei mir stimmen.
Oops, das muss ich gleich relativieren:
Auf der CCU in meiner Zweitwohnung komme ich auf 318.
Das kann nicht stimmen, denn dort habe ich nur ganz wenige Programme im Vergleich zur CCU in meiner Hauptwohnung (Wert: 176).
--
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------

nash1970
Beiträge: 21
Registriert: 05.01.2016, 09:06

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von nash1970 » 24.07.2016, 07:50

Ich bin zwischenzeitlich konstant bei 228 und alles funktioniert stabil. Eure Feedback ist sehr interessant. Und wirft natürlich die Frage auf wie der Cache wirklich funktioniert und implementiert ist. Ich habe den wagen Verdacht, dass gleiche Variablen mehrfach im Cache abgelegt werden, was die ganze Sache noch schlimmer macht mit der großen Hoffnung, dass sich dieser Verdacht niemals bestätigen wird.

Leider habe ich nur eine CCU und kann keine beliebigen Tests durchführen. Mich würde aber interessieren wie sich folgende beiden Varianten im Cache widerspiegeln

var tmp = 1
var tmp = 2

bzw.

var tmp = 1
tmp = 2

BTW: Ich möchte ungern alle meine Script auf tmpA - tmpZ umschreiben u.a. wegen dem Aufwand und weil mein Informatiker Herz blutet. Code hat neben Funktionalität halt auch was mit Eleganz und Ästhetik zu tun. Sofern man bei dieser Script Sprache überhaupt davon sprechen kann.

Benutzeravatar
papi
Beiträge: 371
Registriert: 18.12.2013, 08:40
Wohnort: Willich, NRW
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von papi » 24.07.2016, 08:26

Beide Varianten erhöhen den Wert jeweils nur um 1

Edit:
Ich habe für die beiden Tests unterschiedliche VAR-Namen verwendet, damit das Ergebnis bzw. die Wertänderung eindeutig wird:

Test1:
var fleischrollespezial =1;
var fleischrollespezial =2;

Test2:
var danishbuttercookies = 1;
danishbuttercookies = 2;

Noch´n Edit:
Kann man die Namen der gezählten Variablen irgendwo ausgeben um nachvollziehen zu können, was genau gezählt wird?
Ich stehe dem Ganzen nämlich etwas skeptisch gegenüber, da die Anzahl der Variablen nach einem gestrigen Neustart heute von 329 auf 139 gesunken ist.
Normalerweise wäre das ja nachvollziehbar, aber um diese Uhrzeit müssten bei meiner CCU heute schon alle Skripte mehrfach durchgelaufen sein und ich habe fast ausschließlich tmp-Variablen.
(tmpA-tmpZ, tmpA1-tmpZ1, tmpA2-tmpR2, also 70)(plus eine Handvoll Ausnahmen)

Edit3:
Zu Deinem letzten Satz: Recht hast Du, aber was willst Du machen, wenn die Kiste sonst läuft, wie ein Sack Nüsse?!

Benutzeravatar
papi
Beiträge: 371
Registriert: 18.12.2013, 08:40
Wohnort: Willich, NRW
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von papi » 25.07.2016, 07:45

Ich habe gerade nochmal ein wenig gebastelt und dabei festgestellt, dass jedes Mal, wenn ich das Skript verändere und das Programm, das dieses Skript beinhaltet speichere und ausführe, die Zahl der lokalen Variablen um einen Wert zwischen 1 und 40 steigt.

Ich habe nur den Namen der System-Variablen verändert und einen Timestamp angehängt, damit ich sehe, ob das Programm gelaufen und von wann der Wert ist.
Getriggert wird das Skript vom CuxD-Timer alle 300 Sekunden.

Code: Alles auswählen

dom.GetObject("Lokale_Variablen").State(system.CacheInfo().Substr(system.CacheInfo().Find("Cache info (IseESP::sm_cc; ")+27,system.CacheInfo().Find("entries):")-(system.CacheInfo().Find("Cache info (IseESP::sm_cc; ")+27)));
dom.GetObject("VAR_letzte_lokale_Variable").State(system.Date("%Y-%m-%d %H:%M:%S"));
Da stehen doch gar keine lokalen Variablen drin?!

Ich weiß nicht, was dieses Skript zählt, aber die Zahl meiner Zweifel steigt gerade auch stetig.

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von Cash » 25.07.2016, 08:21

Das Script zählt nicht die Scriptvariablen.

Wie eine Seite zuvor schon von jmaus geschrieben

Code: Alles auswählen

system.CacheMode(0);
unter Script testen eingeben und Euer Script liefert 0 Variablen :mrgreen:

Das das Script nicht das richtige Ergebnis liefert zeigt auch das keine ccu stabil läuft wenn man mehr als 200 Varibalen im Gebrauch hat.

Benutzeravatar
papi
Beiträge: 371
Registriert: 18.12.2013, 08:40
Wohnort: Willich, NRW
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von papi » 25.07.2016, 08:41

Ach herrje, ich werde alt. Ich hatte darauf sogar bereits geantwortet.
OK, Thema erledigt, Programm und Hoffnung gelöscht, Danke!

BadenPower

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von BadenPower » 26.07.2016, 12:58

Um die verwendetet Skriptvariabelnamen und deren Anzahl zu ermitteln gibt es nun hier etwas:

"verwendetet Skript-Variabeln zählen" - Skript

Antworten

Zurück zu „HomeMatic - bekannte Bugs“