CUxD Timer unzuverlässig

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Franzens
Beiträge: 147
Registriert: 18.04.2014, 17:11
Hat sich bedankt: 15 Mal

Re: CUxD Timer unzuverlässig

Beitrag von Franzens » 28.02.2016, 10:37

Hallo Uwe,

ich setze seit längerem einen Timer mit 600sek beim öffnen eines Fensters.
Seit ca. Dezember hatte ich immer das Gefühl, dass die 10 Minuten verdammt lang sind.
Habe das Ganze jetzt mal öfter konkret beobachtet, auch mal auf 590sek geändert.
Tatsächlich wird der Timer z.B. um 10:05:41 gesetzt mit 590sek und läuft dann um 10:24:35 erst ab?
Ich bin im Dezember von der CCU2 auf die RaspberryMatic umgezogen - kann es damit zusammenhängen? Oder was kann ich tun?

Franzens
RasberryMatic auf Synology-VM - Sonos - pocket Control HM - CuL V2 868mHz & Somfy RTS Anbindung - Pushover - hm-pdetect - homebridge - homeassistant - Alexa - Netatmo - Shelly - hue...; 373 Kanäle in 100 Geräten und 209 CUxD-Kanäle in 18 CUxD-Geräten

Benutzeravatar
uwe111
Beiträge: 4807
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 240 Mal
Kontaktdaten:

Re: CUxD Timer unzuverlässig

Beitrag von uwe111 » 28.02.2016, 19:06

Franzens hat geschrieben:Oder was kann ich tun?
Also zuerst einmal die Geräte-Protokollierung aktivieren und dann im Systemprotokoll prüfen, ob Timer-Events ankommen.
Zusätzlich kannst Du den Timer-Countdown auf der CUxD-Statusseite verfolgen.

Wenn Du die Systemzeit nicht dauernd manuell veränderst, dann läuft ein 590 Sekunden gesetzter Timer genau 590 Sekunden. Das Problem muss woanders liegen.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Benutzeravatar
uwe111
Beiträge: 4807
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 240 Mal
Kontaktdaten:

Re: CUxD Timer unzuverlässig

Beitrag von uwe111 » 28.02.2016, 19:10

Vince hat geschrieben:Kannst du mir sagen wie man in cuxd Script Dateien einbindet? Bzw. den Punkt in der Anleitung von cuxd. Das wäre super 8)
Ich hatte doch geschrieben, dass man Shell- (TCL-) Scripts per CMD_EXEC Parameter nach Ablauf des Timers direkt aufrufen kann.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Benutzeravatar
Vince
Beiträge: 226
Registriert: 02.08.2014, 16:34

Re: CUxD Timer unzuverlässig

Beitrag von Vince » 28.02.2016, 20:16

Hi Uwe,

ja das hatte ich auch gelesen.... aber ich weiß nicht genau wie man TCl Scripte erstellt? Wie bekomme ich als Beispiel das Sonnenstandsberechnungs 2.0 Script in eine TCL Datei?

Einfach in ne Datei kopieren diese dann irgendwo auf der CCU Speichern und dann mit Pfad und allem in der CMD_EXEC eintragen? Sorry für die Beginner Fragen, aber ich hab Angst mir da was zu zerschießen.

Danke dir
Grüße Vince

aktueller Status = Homematic Padawan

Benutzeravatar
uwe111
Beiträge: 4807
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 240 Mal
Kontaktdaten:

Re: CUxD Timer unzuverlässig

Beitrag von uwe111 » 29.02.2016, 14:27

Vince hat geschrieben:Einfach in ne Datei kopieren diese dann irgendwo auf der CCU Speichern und dann mit Pfad und allem in der CMD_EXEC eintragen? Sorry für die Beginner Fragen, aber ich hab Angst mir da was zu zerschießen.
Du brauchst jemanden, der Dir das HM-Script in ein TCL packt und zur Verfügung stellt. Da sollte sich hier aber bestimmt jemand finden lassen, der Dir dabei helfen kann.
Es ist natürlich schon von Vorteil, wenn Du Dich zuerst ein wenig mit TCL beschäftigst. 8)

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: CUxD Timer unzuverlässig

Beitrag von Wortmann30 » 20.06.2016, 19:21

Hi

ich muss mich mal hier auch mal was fragen.

Ich habe die Raspberrymatic mit CUxD 1.6 am laufen und Programme am Skripte am laufen die alle 60 sec laufen.
Dabei habe ich festgestellt seit ich auf der Raspberrymatic bin, setzt sich nicht mehr jeder Timer Ablauf durch um das Skript auszulösen. Es kann sein das ein oder zwei ausgelassen werden.
Sowie läuft noch das Sonnenstandberechnung von Funkleuchturm alle 240 sec.
Alle Skripte sind auf tmp Variablen umgeschieben.

Die Timer sind auf protokolliereung gesetzt und in Systemprotokoll kommen auch alle brav.

Dann bin ich her gegangen und habe pro Skript einen Timer eingestellt und sie zu unterscheidlichen zeiten auslössen gelassen, also 241, 59,61 sec starten lassen aber irgenwie schein noch immer nicht alles durchzu kommen...

Skripte sind eben die Sonnenstandsberechnung.

Dann CPU load

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801002:1.CMD_SETS").State("cat /proc/loadavg");
dom.GetObject("CUxD.CUX2801002:1.CMD_QUERY_RET").State(1);
var tmpW = dom.GetObject("CUxD.CUX2801002:1.CMD_RETS").State();
var tmpX = tmpW.Substr(0,4);
var tmpY = tmpW.Substr(5,4);
var tmpZ = tmpW.Substr(10,4);
WriteLine(tmpW #"\n" #tmpX # " | "# tmpY # " | "# tmpZ);
dom.GetObject("Load_1min").State(tmpX);
dom.GetObject("Load_5min").State(tmpY);
dom.GetObject("Load_15min").State(tmpZ);
Und Stromzähler Skript:

Code: Alles auswählen

! Script Start 
!! alle Variablen in Objekte lesen
!! Die automatische Zählvariable
var tmpT1 = dom.GetObject("homeduino_1_imp2");
!! Der Zwischenspeicher
var tmpU1 = dom.GetObject("WR1_save");
!! die Variable für Heute
var tmpV1 = dom.GetObject("WR1_tag_counter");
!! die Variable für Heute
var tmpW1 = dom.GetObject("WR1_min_counter");

integer tmpX1 = tmpT1.State();
integer tmpY1 = tmpU1.State();
integer tmpZ1 = tmpV1.State();

!! Differenz wird berechnet
integer tmpS1 = 0;

!! alter Wert kleiner als aktueller Wert -> Nulldurchlauf
if (tmpX1<tmpY1) {
  tmpS1 = (65535-tmpY1)+tmpX1;
} else {
  tmpS1 = tmpX1-tmpY1;
}

!! Jetzt Wert zur Countervariable addieren
tmpZ1 = tmpZ1 + (tmpS1);

!! und alles wieder in Variablen speichern

!! dabei den aktuellen Stand in der _save Variable speichern
tmpU1.State(tmpX1);

!! den neuen Tages Counter speichern
tmpV1.State(tmpZ1);


!! den neuen Min Counter speichern
tmpW1.State(tmpS1);

!! We are done
!! Script Ende
Was kann das sein?
Grüsse


To be continued...

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: CUxD Timer unzuverlässig

Beitrag von Wortmann30 » 21.06.2016, 12:39

Da hab ich nochmal ne Frage

Ist das so richtig das da unbekannte Meldungen kommen? Oder geht da was nicht richtig?
Capture.PNG
Bin da etwas verwirrt?

Dann habe ich derzeit 6 timer am laufen und da shieht man schön wie viele verschlukt warden alle lösen eine action aus, die zeiten sind:
1: 241 sec
2:60 sec
4:58 sec
5:59 sec
6:61 sec
7:62 sec
So das es möglichst wening Überschneidungen gibt.
Capture.PNG
Manchmal fallen gleich 5 nacheinader aus.

Dann habe mal probehalber die Timer 5-7 gestoppt aber dann immer noch das sele Bild gesehen.
Und wie gesagt ich arbeite mit einem Raspbery Pi2 und der sollte ja wesentlich mehr Rechenleistung als die CCU2 haben...
Capture.PNG
Grüsse


To be continued...

Benutzeravatar
uwe111
Beiträge: 4807
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 240 Mal
Kontaktdaten:

Re: CUxD Timer unzuverlässig

Beitrag von uwe111 » 22.06.2016, 20:41

Wortmann30 hat geschrieben:Ist das so richtig das da unbekannte Meldungen kommen? Oder geht da was nicht richtig?
Ja, die CCU-Firmware kennt nur bestimmte Datenpunkte. Alles andere sind unbekannte Meldungen.
Wortmann30 hat geschrieben:Die Timer sind auf protokolliereung gesetzt und in Systemprotokoll kommen auch alle brav.
Dann liegt das Problem nicht am CUxD sondern an der Triggerung der Events in der CCU-Firmware.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: CUxD Timer unzuverlässig

Beitrag von Wortmann30 » 22.06.2016, 21:13

uwe111 hat geschrieben: Dann liegt das Problem nicht am CUxD sondern an der Triggerung der Events in der CCU-Firmware.
Ok und wie komme ich dem Problem dann auf die Schliche es ist wie gesagt die Raspberrymatic haben da andere auch solche erscheiningen???
Grüsse


To be continued...

zehensocke
Beiträge: 155
Registriert: 06.10.2011, 00:42
Wohnort: Im Südwesten von Frankreich
Danksagung erhalten: 2 Mal

Re: CUxD Timer unzuverlässig

Beitrag von zehensocke » 29.08.2016, 17:40

@ Wortmann30

Bist Du inzwischen mit Deinem Problem weiter gekommen bzw. hast Du es lösen können ?
Ich habe das gleiche Problem - laut Systemprotokoll werden die Timer gesetzt, aber die
Geräte der CCU werden manchmal nicht entspr. getriggert.

MIr scheint, dass die CUxD-Timer ohne Zweifel zuverlässig sind, nur mit der "Übergabe"
der Timersignale an den Aktor scheint es wohl Probleme zu geben. Ich habe vor zwei Tagen einmal

Code: Alles auswählen

SYSTEM|CMD_EXEC extra/timer.tcl BidCos-RF.JEQ0346751:1.STATE 1
ausprobiert - läuft absolut problemlos und vor allem stabil. Wird aber auch schnell unübersichtlich,
das dieses Programm dann nicht im WEB GUI der CCU2 sichtbar ist. Zumal wenn man 4 Kanäle ein-
und wieder ausschalten möchte = 8 Timer (Kann aber auch sein, daß ich etwas übersehen habe).

Wenn Du also eine Problemlösung hast - ich bin sehr interessiert.

gerd

Gesperrt

Zurück zu „CUxD“