Problem mit Timer-Abfrage

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

Moderator: Co-Administratoren

Antworten
longuwe
Beiträge: 23
Registriert: 19.05.2009, 22:18

Problem mit Timer-Abfrage

Beitrag von longuwe » 29.06.2017, 14:31

Hallo zusammmen,

ich taste mich so langsam an die Skript-Programmierung ran und habe nun ein Problem bei dem ich nicht mehr weiter komme
und euere Hilfe brauche

Ich möchte einen CUxD-Timer abfragen, 300sec vor Ablauf des Timers eine Systemvariable setzten und dann eine Handlung auslöesen.
Dazu habe ich folgendes Skript erstellt:

Code: Alles auswählen

integer tmpa = dom.GetObject("CUxD.CUX2800001:6.TIMER_GET").State();
integer rz = 300;
dom.GetObject("Test 3").State(tmpa);

if (tmpa < rz) {dom.GetObject("Test 2").State(true);}
Wenn ich dieses Skript mit "Skript testen" benütze funktioniert alles einwandfrei.

Stelle ich es aber in ein Programm das ich alle zwei Minuten über einen anderen Timer starte dann
lädt das Skript immer den Wert 0 aus dem Timer.
Der Timer läuft aber. Das kann ich über die CUxD Oberfläche beobachten.

Kann mir da jemand helfen und erklären was ich falsch mache.
Ich komme hier einfach nicht weier und habe im Forum auch keine Lösung gefunden.
Was mich vor allem verwirrt ist, das es über "testen" finktioniert.

Vielen Dank schon mal für euere Hilfe. :D

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

Re: Problem mit Timer-Abfrage

Beitrag von Cash » 30.06.2017, 13:38

Wie das Script läd immer den Wert 0 aus dem Timer?

Mit dem Script änderst Du doch nur (sofern der Timer kleiner als 300 die Systemvariable auf true. Sonst nix.

Die Systemvariable sollte also immer auf true stehen sofern nur einmal die Bedinung erfüllt worden ist. Oder laufen andere Programme die den Wert auch mal auf false ändern?

Ist das das ganze Scripte?

Zum testen nutze ich sehr gerne das zentrale Push-Programm und baue dann in den Scripts immer eine Pushnachricht ein somit weiß ich genau welcher Teil eines Programms gelaufen ist und innerhalb des Scripts welchen Zweig gewählt wurde... Meist erkenne ich dann meinen Fehler.

longuwe
Beiträge: 23
Registriert: 19.05.2009, 22:18

Re: Problem mit Timer-Abfrage

Beitrag von longuwe » 30.06.2017, 14:17

Danke Cash für deine Hilfe !!

Es war so das die Variable immer sofort nach dem ersten Start des Programms auf "true" gesetzt wurde
obwohl der Timer einen großen Wert hatte.

Dann bin ich hin gegangen und habe den Timer-Wert auch noch in eine Variable geschrieben.
Da ist mir dann aufgefallen das der Wert des Timers immer null ist.

Gestern abend bin ich dann noch experimentiert.
Bis jetzt ha ich die Skripte immer im Windows-Editor erstellt und dann in die Programme koppiert.
Nun habe ich den Skript direkt im WebUI komplett neu erstellt und auf einmal hat er funktioniert !

keine Ahnung wieso, ich habe Ihn genau gleich abgeschrieben.

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Problem mit Timer-Abfrage

Beitrag von Homoran » 30.06.2017, 19:51

longuwe hat geschrieben:keine Ahnung wieso, ich habe Ihn genau gleich abgeschrieben.
^M


Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

longuwe
Beiträge: 23
Registriert: 19.05.2009, 22:18

Re: Problem mit Timer-Abfrage

Beitrag von longuwe » 30.06.2017, 20:08

Homoran hat geschrieben:
longuwe hat geschrieben:keine Ahnung wieso, ich habe Ihn genau gleich abgeschrieben.
^M


Gruß
Rainer

Muß ich das verstehen ?
Ich bin noch nicht so lange dabei !

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Problem mit Timer-Abfrage

Beitrag von Homoran » 30.06.2017, 20:15

Der Windows Zeilenumbruch ist anders als bei Unix.
im UNix Editor steht dann zusätzlich ein ^M

Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

longuwe
Beiträge: 23
Registriert: 19.05.2009, 22:18

Re: Problem mit Timer-Abfrage

Beitrag von longuwe » 30.06.2017, 20:19

Homoran hat geschrieben:Der Windows Zeilenumbruch ist anders als bei Unix.
im UNix Editor steht dann zusätzlich ein ^M

Gruß
Rainer
Okay, wusste ich nicht !
Danke für die Info

longuwe
Beiträge: 23
Registriert: 19.05.2009, 22:18

Re: Problem mit Timer-Abfrage

Beitrag von longuwe » 01.07.2017, 19:16

Hallo Rainer,

ich habe noch eine Frage !

Kannst du mir einen guten UNiX-Editor unter Windows nennen ?

Ich weiß nicht welchen ich unter der Vielzahl der Verfügbaren einsetzen soll

Danke für deine Hilfe
Gruß Uwe

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Problem mit Timer-Abfrage

Beitrag von Homoran » 01.07.2017, 19:20

longuwe hat geschrieben:Kannst du mir einen guten UNiX-Editor unter Windows nennen ?
Notepad++

den kannst/musst du auf Windows oder Unix einstellen
notepad_pp_unix.jpg

Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

longuwe
Beiträge: 23
Registriert: 19.05.2009, 22:18

Re: Problem mit Timer-Abfrage

Beitrag von longuwe » 01.07.2017, 19:25

Homoran hat geschrieben:
longuwe hat geschrieben:Kannst du mir einen guten UNiX-Editor unter Windows nennen ?
Notepad++

den kannst/musst du auf Windows oder Unix einstellen
notepad_pp_unix.jpg

Gruß
Rainer
Super, vielen Dank für deine Hilfe !!
Den werde ich testen.

Gruß Uwe

Antworten

Zurück zu „CUxD“