ich brech mir hier schon wieder einen ab. Ich möchte über eine Dropdown-Liste (enthält Temperatur-Werte 17.0 18.0 19.0 usw.) meine Soll-Temperatur verstellen.
Werte habe ich hinterlegt, tauchen auch auf, Variable (AZ_FHT_SollTemp) auch hinterlegt, aber in meinem FHT tut sich nichts.
Was mache ich falsch bzw. wie macht man es richtig?
Aber, entschuldige die Frage, wie bekomme ich für jeden Wert der Dropdown-Auswahl den Wert gesetzt? Oder setzte ich den Wert auf eine virtuelle Variable und übertrage ihn dann auf ein Script, dass die FHT-Variable mittels Script versorgt?
in statt von einer dropdown benutze ich ein schieber:
(gleicher schieber … aber versetzt in zeit)
sehe abbildungen
script die getriggert wird durch dem schieber:
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Setminmax.ips.php
Trigger : vliv_temp_state, vkeu_temp_state, vsl1_temp_state, vsl2_temp_state
Interval : ZnullZ
*/
//$IPS_VARIABLE="vliv_temp_state"; // <- debug !!
$state=GetValueFloat($IPS_VARIABLE);
if ($state<10.5){
$min=5.5;
$max=15;
}elseif($state>24.5){
$min=20;
$max=30.5;
} else {
$min=$state-3; // <- hier variationen eingeben
$max=$state+3;
}
/* um diese untere zeile 'arbeiten' zu lassen brauch man ein wenig
'organisation' in die zuweisung von die Variabeln
bei mir ist
vliv_temp_state
----- state: eingestellter soll-wert am rad des FHT's
---- temp: es bezieht zu eine FHT (lamp: leuchte, swch: switch)
--- liv: der platz (keu: kuchen, sl1: schlaff1 ....
- v: wie Variable (s: script, t: trigger, o:output, m:mixed)
Ihr braucht unbedingt feste-länge-variabln wenn diese Zeile arbeiten sollen
*/
SetValueFloat(substr($IPS_VARIABLE,0,10)."min",$min); /*nimm zb. vliv_temp_ aus
den $IPS_VARIABLE-string
und hange 'min' ran
also: vliv_temp_state
als resultat. */
SetValueFloat(substr($IPS_VARIABLE,0,10)."max",$max);
?>
und der ‚set‘ knopf macht dies :
der triggert diesem script:
–edit–
oie oie oie !! das funzt doch uberhaupt nicht … du Fredje pass mal auf !!
wenn du etwas im forum reinschickst bitte aber wirklich bitte lass es funzen…
-ende deit-
ODER
das gleiche script wie oben triggeren lassen uber den variable „AZ_FHT_SollTemp“.
Also:
erst script anfertigen
dann im Designer die properties von dein drop-down box änderen unter ‚tabblad‘ (ehhm auf deutsch ‚reiter‘ glaube ich) ‚events‘ wählen
und da die ‚on change‘ änderen und verweisen nach dein neues script.
Nur !! Diese lösung ist in bezug zum FHT nicht ganz ok, weil du den buffer uberflutet mit neue soll-werte. De klikst 4x rum um die richtige temperatur aus zu wählen gleicht 4x neuer soll-temp zu dem FHT. -> da wird es bestimmt falsch laufen.
Deshalb meine lösung. Erst in alle ruhe die gewunschte temp-wert wählen und dann NUR 1x FHT_SetTemperature…
Verknüpf die Variable mit dem OnChange Event im Designer und gucke in IPS welche Werte ankommen.
Du wirst sehen, dass nicht die Temperatur übertragen wird, sondern der ausgewählte Index! D.h. du musst einfach noch ein switch case bauen, welches dir die richtige Temperatur setzt.
Jetzt wird mir auch klar, wie die „1“ bei der Variable gesetzt wurde:o
Hast Du ein Beispiel für mich, bin absoluter php-DAU.
Ich hatte mich mit dem Problem nicht weiter beschäftigt, da momentan massive Performance-Probleme aufgetreten sind:
Meine CPU_last hängt bei 100% 24h.
Ich habe nur ein paar Scripte am Laufen, das Webinterface (erzeugt momentan 2 Graphen und einen M-Graph) und den Designer.
Warum läuft meine Kiste plötzlich am Anschlag? Andere Programme laufen auf der Kiste nicht, nur IPS.
Das Webinterface braucht momentan ca. zehn Minuten für den Aufruf einer Seite. Das Ausführen eines zehnzeiligen Scriptes dauert auch fast zehn Minuten.
Meine Variablen werden im Abstand von einer Minute abgefragt (früher hatte ich zehn Minuten):
Guck mal ob du nicht vielleicht eine Endlosschleife in deinen IPS Scripten hast. Das siehst du daran, dass im Kernel-Debug ganz schön was los ist und der Script Queue nach oben geht…