Guten Tag,
ich habe auf meiner CCU2 einen CuxD-Exec laufen.
Dieser ruft mir auf meinem RasPi alle halbe Minute ein Skript auf, welches unter anderen auch Eintrage in einer MySQL-Datenbank anlegt.
Nun tauchen die Einträge allerdings doppelt auf. Da ich da auch einen Zeitstempel mitgebe konnte ich bereits feststellen, dass es definitiv zweifache Aufrufe sind, da dieser Zeitstempel manchmal um eine Sekunde abweicht und ich dieses Verhalten mit manuellem Aufruf des php-Skriptes über URL nicht reproduzieren kann.
Woran kann das liegen?
MfG
CuxD WebRequest doppelt
Moderator: Co-Administratoren
-
- Beiträge: 12929
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1604 Mal
- Danksagung erhalten: 222 Mal
Re: CuxD WebRequest doppelt
Glaskugel ....
ggw wären da die beteidigten programme usw ein hilfe bei der fehlersuch - nur mal so.
sorry, für den blöden kommentar.
ggw wären da die beteidigten programme usw ein hilfe bei der fehlersuch - nur mal so.
sorry, für den blöden kommentar.
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
Re: CuxD WebRequest doppelt
Nunja mir fällt außer den drei bereits genannten (CuxD-System.Exec, php, mysql) nichts ein was da noch reinpfuschen sollte.
Auf der CCU läuft noch die XML API, auf das PHP Skript wird nicht anderweitig zugegriffen (außer zu Testzwecken über den direkten URL-Aufruf im Browser).
Höchstens das Skript selber habe ich vergessen:
Dabei ist zu beachten das ein MySQL Eintrag nur bei einem aufruf ohne sämtlich GET-Parameter erstellt wird, d.h. lediglich beim ersten Aufruf.
Auf der CCU läuft noch die XML API, auf das PHP Skript wird nicht anderweitig zugegriffen (außer zu Testzwecken über den direkten URL-Aufruf im Browser).
Höchstens das Skript selber habe ich vergessen:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - 'http://192.168.1.42/photovoltaik/day.php'");
dom.GetObject("CUxD.CUX2801001:1.CMD_RUNS").State(1);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var power = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
var sysvar = dom.GetObject("Leistung Photovoltaik");
sysvar.Variable(power);
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - 'http://192.168.1.42/photovoltaik/day.php?output=average&span=5'");
dom.GetObject("CUxD.CUX2801001:1.CMD_RUNS").State(1);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
power = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
sysvar = dom.GetObject("Leistung Photovoltaik Durchschnitt");
sysvar.Variable(power);
Re: CuxD WebRequest doppelt
Genau deshalb kam der Kommentar von dondaik.PhOst hat geschrieben:Nunja mir fällt außer den drei bereits genannten (CuxD-System.Exec, php, mysql) nichts ein was da noch reinpfuschen sollte.
Das sieht so aus, als ob das Programm zweimal getriggert wird.dondaik hat geschrieben:Glaskugel ....
ggw wären da die beteidigten programme usw ein hilfe bei der fehlersuch
Daher Screenshot des Programmes zur weiteren Fehleranalyse hier posten.
.
Re: CuxD WebRequest doppelt
Okay, also hier ist jetzt der Screenshot von dem Programm.
Die Zeitsteuerung löst in einem Zeitintervall alle 30 Sekunden aus und das hinterlegte Skript steht ja bereits in meinem vorherigen Beitrag.
Es gibt keine anderen Skripte die einen CuxD-System.Exec verwenden, geschweige denn einen WebRequest über "Bordmittel" auf das PHP-Skript schicken.
Die Zeitsteuerung löst in einem Zeitintervall alle 30 Sekunden aus und das hinterlegte Skript steht ja bereits in meinem vorherigen Beitrag.
Es gibt keine anderen Skripte die einen CuxD-System.Exec verwenden, geschweige denn einen WebRequest über "Bordmittel" auf das PHP-Skript schicken.
Re: CuxD WebRequest doppelt
Habe es inzwischen doch selber hinbekommen.
Die problematische Zeile war
Sobald ich diese entfernt hatte läuft es so wie gewünscht.
Die problematische Zeile war
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: CuxD WebRequest doppelt
eigentlich sind *IMHO* die
zuviel, da es sich lt. Handbuch um ein HM-Script mit Rückgabe von STDOUT handelt.
Alchy
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_RUNS").State(1);
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.