Hilfe für Anfänger

Programme bitte in php-Tags, wird dann übersichtlicher.

Die Fehlermeldung sagt es doch eigentlich, wenn ich es richtig sehe … „cannot find association … value 1.0000“ … also fehlt eine Definition. Zugehörige Zeile im Skript, sonst aber nirgends

IPS_SetVariableProfileAssociation("EinAus", 1, "AN", "", 0xFFFF00);

Gruß
Bruno

Hallo,

ich habs gefunden. https://www.symcon.de/forum/images/smilies/biggrin.gif

Mir war nicht klar, das ein Aktionsskript unterschiedlich ist zu einem Ereignisskript, OK im Nachinein wohl Saudoof
Ich beschäftige imch aber auch erst seit 3-4 Tagen mit IP-Symcon und PHP

Also nachdem ich das Script bei „Eigene Aktion“ eingetragen hatte ging es :slight_smile:

Jetzt ist nur noch die Timergeschichte offen.

Was das Timer Skript betrifft gestaltet sich das ganze für mich noch als unüberwindbare Hürde.

Hier nochmal mein Skript.

<?
if($_IPS['SENDER'] == "TimerEvent") 
{ 
    //Aus Befehl 
    HM_WriteValueBoolean(27320 /*[OG\Toilette\og_toil_deckenschalt]*/, "STATE", FALSE ); 

    //Timer ausschalten 
    IPS_SetScriptTimer($_IPS['SELF'], 0); 
} else { 
    //An Befehl 
    HM_WriteValueBoolean(27320 /*[OG\Toilette\og_toil_deckenschalt]*/, "STATE", TRUE);

    //Timer anschalten 
    IPS_SetScriptTimer($_IPS['SELF'], 10); 
}  
?>

Dies funktioniert manuell einwandfrei. Ich habe nun das Skript unter eigene Aktion hier :

10404 /*[OG\Toilette\og_toil_deckenschalt\STATE]*/

eingetragen.

Nun funktioniert es beim starten aus dem WebFront. Aber es funktioniert nicht vor Ort beim betätigen des Schalters.
Was ebenfalls nicht funktioniert ist das ausschalten bei noch laufenden Timer aus dem Webfront.

Um den genauen Ablauf zu verstehen, wird eigentlich beim Starten des Scripts durch 10404…\State der Timer gesetzt und das Licht eingeschaltet und anschließend das Skript beendet um dann beim Abgelaufenen Timer neu zu starten und das Licht auszuschalten ?

Wenn ich nun das Skript doch über ein ausgelöstes Ereignis der Variabel 10404…\State auf Variablenänderung starte (und nicht als als Eigene Aktion in der Variabel), kann ich dann auswerten ob die Variabeländerung von False auf True oder von True auf False erfolgt ist ?

Das Skript prüft ob es durch einen Timer aufgerufen wurde, wenn dies der Fall ist schaltet es das Gerät aus und setzt den Timer auf Null, andernfalls wird der Timer erstellt und das Gerät angeschaltet.

Wenn Das Skript jetzt irgendwie anderes gestartet wird sei es durch einen anderen Timer oder ein anderes Skript muss diese Bedienung dann noch ergänzt werden.

Übersicht der Systemvariablen in IP-Symcon

Dadurch, dass das Script beim Betätigen des Schalters nicht startet, vermute ich, dass evtl. auf die falsche Variable getriggert wird? Screenshot aus der Verwaltungskonsole könnte helfen.

Hallo,
ich war jetzt 3 Tage nicht am rechner.
Hier ist der Projektbaum.
Wie gesagt, habe ich das Skript jetzt lediglich in die State Variable als „eigene Aktion“ eingetragen

Ich vermute, bin mir aber unsicher, dass das Skript unter „eigene Aktion“ nur ausgeführt wird, wenn über das WebFront geschaltet wird. Wie gesagt, ich weiß nicht so recht, wo Du das Skript wirklich eingetragen hast. Wenn es dort ist, wo ich denke, dann wird das so sein.
Teste mal, das Skript dort auszutragen und ein ausgelöstes Ereignis bei Änderung der Variable an das Script zu hängen.

Hallo,

das hatte ich schon. Bei einem Ereignis auf Variabeländerung startet das script ja auch bei einer Änderung von 1 auf 0 und das Licht geht wieder an. Deshalb hatte ich weiter vorne nach einer Abfrage der Statusänderung 0-1 und 1-0 gefragt.
Ich setze es mal auf

Ich habe es gefunden.
Ich habe das Triggern der Variabel auf einen bestimmten Wert gesetzt mit dem Wert „True“

Der Unterschied zum letzten mal ist das ich die Option „Nachfolgende Ereignisse ausführen“ abgewählt habe.
Das ist zwar in der Doku gut beschrieben und ich habs gelesen aber nicht in den Zusammenhang mit der Auswirkung in diesem Fall gebracht. Bei den ca 30 Threats zum Timer die ich vermutlich mittlerweile gelesen habe ist von dem Haken auch nie die Rede gewesen :slight_smile:

So, Vielen Dank an Alle die mir geholfen haben, insbesondere an DerStandart

Aber keine Angst, mein nächstes Problem kommt bestimmt :slight_smile:
Ich möchte jetzt versuchen das Script zu erweitern um zum einen den Timer in der Visu ein und ausschaltbar sowie
die Zeit parametrierbar zu machen. mal schhaun wie weit ich komme :slight_smile:

Gruss

Pentti

Och nööööö … :eek: In #12 schreibst Du doch:

Hierbei ist das Kästchen Nachfolgende Eréignisse ausführen angeklickt.

Das hatte ich damals überlesen …

Egal, Hauptsache, es geht jetzt. :loveips: