Ich als blutiger IPS-Anfänger, habe etwas mit dem Designer experimentiert.
Ein paar Icons für TFK …funktioniert, FHT-IST-Temp-Anzeige …zeigt an, Trackbar mit Eventhandler „Onchange“ auf die Variable FHT-SOLL-Temp mit Wertebreich von 0-30°C.
Die nun eingestellte SOLL-Temperatur wird zwar an die Variable übergeben (Kontrolle über Variablenliste), aber am FHT erfolgt keine Reaktion bzw. wird nicht übermittelt …auch nicht nach Minuten.
Mit Variable „Evaluate/Modify“ funktioniert es.
Was mache ich falsch bzw. geht das überhaupt mit „trackbar“?
P.S. Ich habe leider überhaupt noch keine Ahnung von PHP* und werde deshalb zukünftig noch mehrere Fragen an euch haben
versuche mich aber weitestgehend selber einzuarbeiten
Hinter der schieberegler soll eine variable ran gehangt werden -> hast richtig gemacht
Jetzt brauchst du noch ein script die getriggert wird wenn deine variable ändert.
Also etwas wie dies hier :
$wert=GetValueFloat("[dein variable nahmen]");
FHT_SetTemp([instanz-id],$wert);
echo("gesendet wurde : $wert °C");
Mit Execute im script editor kannst du das script ausfuhren. Im output Fenster gibt es oder Fehler warnungen oder den tekst „gesendet wurde : 20.0°C“
Außer dem ?> hatte ich noch ein paar „kleinere Fehler“ …23104, $wert (Leerzeichen vergessen) …SetTemperature(e vergessen) :rolleyes:
Und nun läuft die Übermittlung mit dem Script und Execute.
Wenn ich nun das Script an die Variable binde (Variable Events_On Change), dann wird das Script jede Sekunde ausgeführt.
Was läuft noch falsch bzw. wie kann ich es an die Trackbar anbinden, dass es einmalig ausgeführt wird?
Können solche Anweisungen wie „FHT_SetTemperature“ durch (wie von Fredje) „FHT_SetTemp“ abgekürzt werden?
Sorry für meine Dummie-Fragen …das wird schon noch!
Bitte um Geduld!
Mir fehlt einfach das dicke PDF-Manual für IPS!!
Jetzt bricht der hammer (ehhmm das ist kein Deutsch)
On_change ist gefährlich -> endlos schleife verdacht
Ich probiere es dir bei zu bringen
in Designer dein schiebe regler verknupft mit dein variable
update jede secunde
Weil der wert jeder secunde geupdate wird -> On_Change event in IPS
Deshalb lauft dein script jede secunde.
Wie habe ich gelöst:
Ich habe ein knopf ‚Set‘ neben mein schiebe regler - und da hängt das script ran.
Also jede secunde wird der Wert deines schiebe reglers geupdate
aber du musst auf dieser knopf ‚Set‘ drucken bevor die neue soll-temp am FHT ubertragen wird uber dein script.
Wenn ich beim Trackbar als Event OnChange stehen habe, wird die Variable auch nur beim ändern des Trackbar geupdatet.
Oder liegt es evtl. an der aktuelle Beta, das dies bei mir funktioniert?
vielleicht habe ich da nur wieder einen Knoten reingebracht
Also ich gehe zur Liste „Variables“, wähle dort die entsprechende Variable(Edit Variable) aus, dann Variable Events-Availeble -add und -save das Script.
Wenn ich nun den Schieberegler bewege, sehe ich im Kernel-Debug, dass das Script jede Sekunde neu ausgeführt wird.
Eventuell ist das nur die falsche Stelle, an der ich das Script an die Variable binde?
Gibts noch eine andere Möglichkeit?
P.S. Wo kann ich eigentlich nachsehen, welche IPS-Version ich verwende?
Aktuell müsste doch 2.38 sein. Im Kernel sehe ich Kernel-Version 1.82 Build 32:eek:
D.h. ich muss das Script, wie von dir vorgeschlagen, an einen „SET“-Button binden, sonst gehts nicht?
Na, das ist nicht gerade das, was ich mir vorgestellt habe, werde es aber testen.
Wie kann ich es dann auswerten (Designer), wenn der Wert ordentlich übertragen wurde?
Denn die Variable …TargetTemp übernimmt ja den Wert sofort, auch wenn er noch nicht am FHT angekommen ist.
… nee, aber 10 Sekunden, aber denoch verändert sich die Variable nur einmal, wenn ich den Trackbar verschiebe, danach nicht mehr. Auch nicht, wenn sich der Trackbar alle 10 Sekunden von der Variablen updatet. Wäre ja auch blödsinn, wenn das passieren würde. Dann müsste sich ja jede Variable beim Pollen ändern, oder habe ich hier etwas falsch verstanden???
Ich denke da machst du einem kleinen fehler (oder ich mache einem grossen dir noch mehr zu verzweifeln)
variable -> objekt im designer -> variable ->
Erst lest der designer dem wert und schiebt den regler auf diesem wert.
Der wert ändert sich und dadurch triggert der schieber eine schreib kommando.
Variable ändert sich und dann geht es wieder von vorne raus.
Wenn du ein wert änderst, triggert der schieber den update von die variable, variable ändert und designer lest sie wieder (1s. später) und wieder von vorne. Zieht mir schleife verdächtig aus…
Oder Paresy macht eine andere aussprache.
Das setzten und auswehrten von die soll-temp meinen raum uber ein schiebe regler habe ich nur dahin bekommen wenn ich zusatslich einem ‚set‘ knopf dabei geholt habe. Ob ich jetzt die ON_CHANGE event genutzt habe soll ich noch prufen. Aber damals hatte ich eindeutlich eine schleife die mein FHT völlig uberlastet hat.
also ich habe es gerade noch einmal ausprobiert.
Ich kann diese Verhalten nicht nachvollziehen:
ändern der Variablen direkt bewegt den Trackbar, bewegen des Trackbars verändert die Variable, danach passiert nichts mehr, obwohl update des Trackbars im Designer auf 10 Sekunden steht. Die update time der Variablen ändert sich absolut nicht mehr, ein getriggertes Script auf diese Variable wird auch nur einmal ausgeführt, genau so wie es sein sollte.
Wenn ich den Designer starte, die Variable zwischenzeitlich einen anderen Wert bekommen hat (z.B. manuell am FHT), oder auch wenn die Variable direkt verändert wird, bleibt der Schieberegler trotzdem an der Stelle, die im Designer eingestellt wurde.
einfach bei dem Properties den Haken bei Position setzen, die Variable auswählen, dessen Wert angezeigt werden soll (ist wohl die gleiche wie die die geändert werden soll) und noch die Pollzeit auswählen, 10 Sekunden reicht hier wohl, das wars.
Hast du auch die aktuelle Beta des Designers installiert, weiss nicht genau, ob die alte Version das schon hatte.
Oh, ja …das hatte ich sogar schonmal probiert, aber leider mit der falschen Variablen :rolleyes:
Nun mit der richtigen Variablen funktionierts auch.
Danke!
P.S.
Nochmals darauf zurück zukommen …war noch nicht beantwortet:D :
Kann die Variablen beim Scripting abgekürzt werden, wie z.B. von Set_Temperature zu Set_Temp oder auch Set_Temper , soweit keine ähnlich lautende Variable vorhanden ist?
EDIT\
Also mit dem SET-Button, wie von Fredje vorgeschlagen, kapier ich nicht.
Der müsste doch auch wieder an eine Variable gebunden sein und diese wiederum an das Script.
D.h. noch eine neue Variable, extra für diesen Button?
Lässt sich diese Endlosschleife nicht anders beseitigen?
… das muss dir Fredje selber beantworten. Mit der Endlosschleife habe ich nicht kapiert, bei mir schleift hier gar nichts
Ich benutze zwar auch den Schieberegler, aber das mit den Endlosschleifen konnte ich nicht nachvollziehen.
Wenn du natürlich ein Script von dieser Variablen triggern lässt und in diesem Script diese Variable wieder änderst, führst du das Script natürlich immer wieder aus, aber das hat ja nicht mit dem Trackbar zu tun.