Skript im Webfont ein und ausschalten

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.

Bin für Tips dankbar, gruß Marcus.

Hallo,

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.

Gruß
Jörg

Hallo,

Konsole --> Am Script rechte Maustaste --> Kontexmenü „Objekt bearbeiten“ --> Reiter „Optionen“ --> Auswahlbox „Versteckt“ setzen

tgusi74

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.

Du meinst also den Trigger deaktivieren --> dazu Doppelklick auf den Trigger und Haken „Ereignis aktiv ??“ wegnehmen

tgusi74

ja so mach ich das jetz auch,
aber ich hätte im Webfont dafür gerne, so eine Art Schalter.:slight_smile:

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 !!

Kommt ganz auf deine Umsetzung an
tgusi74

@mac106

Ist dir IPS_SetEventActive: IP-Symcon :: Automatisierungssoftware ein Denkanstoss?

Vielen Dank für die Denkansätze.
Werde mich heute Abend wieder damit auseinandersetzen
und eure Vorschläge versuchen umzusetzen.

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.

	SetValue(45686/*[Garten\BrunnenAnAUS]*/  , $IPS_VALUE);

Danke für eure Hilfe.
Ich merke grade schmerzlich wie unwissend ich bin.
Ich konnte leider keinen einzigen Tipp umsetzen :confused:
aber ich arbeite dran :slight_smile:

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.

Wo muß ich diesen code einfügen?

SetValue(45686/*[Garten\BrunnenAnAUS]*/  , $IPS_VALUE);

Ich habe dieses Script an die Bool Var angehängt, das funktioniert aber nicht.

So, ich werd mir jetzt erstmal weiter Basics aneignen und weiter versuchen.

Schon mal vielen Dank für eure Mühe, Gruß Marcus

Super, das Jammern bringt nix … :smiley:

Sehe das ganze auch im Webfont, habe aber wieder keinen Schalter.
Wo muß ich diesen code einfügen?

SetValue(45686/*[Garten\BrunnenAnAUS]*/  , $IPS_VALUE);

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.

Mach mal das, dann geht es weiter. :smiley:

Gruß
Bruno

Super das war der fehlende Hinweis.

Ich hatte das Skript immer mit angefügt, vielen Dank.

Ach so, janz verjessen: :rolleyes:

Das

SetValue(45686/*[Garten\BrunnenAnAUS]*/  , $IPS_VALUE);

soll zukünftig so sein

SetValue(45686/*[Garten\BrunnenAnAUS]*/  , $_IPS['VALUE']);

Gruß
Bruno

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.

@nancilla
Danke für die Erklärung.

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
:confused:
Habs doch extra aus dem Handbuch rauskopiert und angepasst.
Aber ich werd da noch hintersteigen :loveips:

Da fehlt überall der Doppelpunkt bei case.

case ($lichtvar>= 0): 

Die Klammern kannst Du auch weg lassen.

Hatten wir doch schon mal … :smiley:

Größer 0 ist doch 1, Kommawerte gibt es doch nicht, oder?

Gruß
Bruno

Vielen Dank, ihr habt mich ans Ziel gefürt.
Habe eine menge gelernt und kann nun beschwingt weitermachen :slight_smile:

Gruß Marcus