Hallo und frohes neues Jahr.
Als blutiger Anfänger, steht man oft schon bei kleinsten Sachen auf dem Schlauch.
Ich versuche mich gerade an einer Lichtsteuerung.
Meine 2 Skripte reagieren auf Helligkeitswerte Die von einem Aussensensor kommen.
Einmal getriggert auf Grenzüberschreitung und einmal auf Grenzunterschreitung.
Wie kann ich denn diese nun erstellten Skripte auschalten im Webfont.
Da ich recht lange brauche mich in PHP einzuarbeiten,
würde ich die Skripte bis zur lauffähigen Version übers Webfont schaltbar zu machen.
wenn du mit „im Webfront ausschalten“ das Ausblenden meinst, dann sollte in der IPS-Verwaltungskonsole das Skript über „Objekt bearbeiten“ - Reiter „Option“ mit entsprechend gesetztem Haken, die Anzeige im Webfront ausgeschaltet werden.
Es bietet sich immer an, die sichtbaren Objekte über Links in einem eigenen Bereich (Ordner) für das WF zur Verfügung zu stellen.
Sonst über Variablenprofil und Aktionsskript über das Webfront schaltbar machen, gemäß Beispiele im Forum.
Das mit sichtbar und nicht sichtbar machen habe ich herausgefunden:D,
ich meinte wirklich das Skript an oder ausschalten.
Das hat den Hintergrund das mein Skript noch nicht so funktioniert wie es soll.
Ich muß es noch ausschalten können sonst kann ich mein Licht nicht mehr manuell bedienen.
Da wird Dir nichts anders überig bleiben als eine zusätzliche BOOL - Variable mit Profil „~Switch“ anzulegen und je nach Zustand in den Scripten zu reagieren, da kann der Trigger eben das Script auslösen aber es soll dann eben nichts passieren !!
… oder ein Togglescript der den Trigger eben aktiviert oder deaktiviert !!
Bolean-Variable entweder eine für beide Scripte oder wenn du getrennt steuern willst pro Script eine und im Script gleich ganz oben abfragen, in etwa so. Beispiel meines Gartenbrunnens:
$BrunnenDeaktiviert = GetValue(45686 /*[Garten\Springbrunnen Gerät\BrunnenKomplettDeaktivieren]*/ );
IF ($BrunnenDeaktiviert)
{
return;
}
//......... Hier gehts mit deinem Script weiter wie vorher...
Achja, fast vergessen, die Variable braucht natürlich ein Mini-Action-Script was den Wert setzt, sonst kannst du den Wert nicht aus dem Webfront ändern.
Danke für eure Hilfe.
Ich merke grade schmerzlich wie unwissend ich bin.
Ich konnte leider keinen einzigen Tipp umsetzen
aber ich arbeite dran
Wenn ich die Codeschnipsel lese verstehe ich zwar, was sie bedeuten
und machen, aber es scheitert einfach an ausreichendem Hitergrundwissen
das alles zu kombinieren und lauffähig zu bekommen.
@tgusi74
Ich habe eine Bool Variable angelegt, Profil Switch eingestellt.
Sehe das ganze auch im Webfont, habe aber wieder keinen Schalter.
@nancilla
Hier glaube ich ansatzweise zu verstehen, aber von allen Vorschlägen
leider hier am wenigsten
@Hagbard235
Deine Lösung schien mir am einfachsten umzusetzen ein,
aber hier kam ich auch auf keinen grünen Zweig.
Die beiden Ansätze sind gleich. Der Code kommt in ein Skript (nur die Zeile rein). Hinter dem SetValue muss die ID der o.g. Boolean-Variable rein. Skript fertig.
Die Bool-Variable in IPS doppelklicken, weiter, bei Profil muss ~switch rein und bei „Eigene Aktion“ das Skript auswählen.
Vom Prinzip verfolgt die Idee, den gleichen Ansatz, wie die anderen Vorschläge, nur dass hierbei am zudeaktivierenden Script selbst nichts geändert werden muss, sondern nur das Event(Trigger) aktiviert/deaktiviert wird.
…Also Variable(Bool) anlegen, Switch-Profil auswählen und Aktionsscript einbinden.
Ich bin jetzt schon ein gutes Stück weiter.
Im Moment hakt es bei der umsetzung der Helligkeitswerte.
Da ich im Moment noch keine volldynamische Lichtregelung hinbekomme,
versuche ich mich gerade an einer teildynamischen, das heißt das ich 5 Lichtbereiche
einrichten möchte. Das habe ich auch duch eine Integer Variable gelöst.
zB. <0lx Nacht, <700lx Dämmerung dunkel, <1200lx Dämmerung,<1900lx Bedeckter Himmel,
<3500lxKlare Himmel, >4500 Sonne.
Zuerst habe ich das mit Grenzunterschreitungen versucht zu lösen,
mit schlechten Ergebnissen, da ja unter einem gewissen Wert mehrere Bedingungen zutreffen.
An der PHP Lösung beiß ich mir grade die Zähne aus
<?
$lichtvar = GetValue(51257 /*[Klima\Helligkeit\Helligkeit]*/ );
$lichtintens = GetValue(44417 /*[Lichaußensteuerung\Helligkeitsstufen]*/ );
switch($lichtintens)
{
case ($lichtvar>= 0)
SetValue(44417 /*[Lichaußensteuerung\Helligkeitsstufen]*/ , 0);
break;
case ($lichtvar< 1 AND $lichtvar> 700)
SetValue(44417 /*[Lichaußensteuerung\Helligkeitsstufen]*/ , 1);
break;
case ($lichtvar< 701 AND $lichtvar> 1200)
SetValue(44417 /*[Lichaußensteuerung\Helligkeitsstufen]*/ , 2);
break;
case ($lichtvar< 1201 AND $lichtvar> 1900)
SetValue(44417 /*[Lichaußensteuerung\Helligkeitsstufen]*/ , 3);
break;
case ($lichtvar< 1901 AND $lichtvar> 3500)
SetValue(44417 /*[Lichaußensteuerung\Helligkeitsstufen]*/ , 4);
break;
case ($lichtvar< 3501 )
SetValue(44417 /*[Lichaußensteuerung\Helligkeitsstufen]*/ , 5);
break;
}
?>
Er meckert:
Parse error: syntax error, unexpected ‚SetValue‘ (T_STRING) in [Lichaußensteuerung\Helligkeitsstufen\steuerung] on line 9
Habs doch extra aus dem Handbuch rauskopiert und angepasst.
Aber ich werd da noch hintersteigen