WFC_Reload

Hallo zusammen,

auch auf die Gefahr hin, das ich offene Türen einlaufe,
ich hab ein Problem mit WFC_Reload.
Ich habe ein Script das den Ausgang eines alten IO88 Modules schaltet.
Klappt alles wunderbar, nur muß ich, zwecks der Ansicht, die WF neu laden.
Im Browser klappt die Umschaltung des Scriptanzeige auch problemlos.
Damit ich nicht ständig manuell den Reload machen muß, wollte ich im Script das Kommando WFC_Reload verwenden, ich erhalte dann aber nur eine Fehlermeldung.
In Verwendung ist die 2.10.
Es ist auch die richtige ID des WF-Configurators angegeben.
Wo liegt mein Fehler ?

Danke für die Hilfe

Ich kann mich natürlich irren, aber gab es den Befehl mit der WFC_Reload Funktion aber nicht erst mit der 2.2 Beta? Das würde dann auch deine fehlermeldung erklären, ohne zu wissen, was dir denn als Fehler gemeldet wird.

Hallo obicom,

hab es mir nochmal in der Beschreibung durchgelesen und oben, ganz klein, steht Version 2.2.
Gibt es trotzdem ne Möglichkeit das ganze ohne Popup zu lösen ?
Ich bin bisher noch nicht auf eine Lösung gekommen.

Gruß Caveman

Dafür müsstest du dein Problem noch mal etwas detaillierter beschreiben, da ich es noch nicht wirklich kapiert habe. Auch das „alte“ Skript und ein Screenshot könnte hilfreich sein.

hallo obicom,

hier eines der beiden Scripts zu steuern des Ausganges.

<?
UIO88_SetOutput(16925 /*[Sensoren\UIO88]*/,85);
UIO88_setoutputbit(16925 /*[Sensoren\UIO88]*/,6,true);
Ips_sethidden(41948 /*[Sensoren\Reset]*/, False);
ips_sethidden(15559 /*[Sensoren\OutPut 6]*/, true);

?>

Das Script wird einwandfrei in der WF dargestellt, aber nur nach einem manuellen Refresh im Browser.

gruß

Was meinst du denn mit „Das Script wird einwandfrei in der WF dargestellt“?
Was genau soll denn angezeigt werden?
Ein Skript im WF wird doch „einfach nur“ angezeigt und kann angeklickt werden. Du willst doch bestimmt eher eine Variable visualisieren, oder nicht?
Dafür würde ich dann eine Trigger Variable anlegen, die bei anklicken Ihren Wert ändert (Aktionsskript) und dadurch dein Skript triggert. Oder ich kapier immer noch nicht wirklich worum es Dir geht.

P.S.: was spricht denn eigentlich bei dir gegen ein Update auf die Beta 2.2 um den Reload Befehl nutzen zu können?

Ich bin noch am Anfang und steig noch nicht so ganz durch wie ich manche Funktionen am besten umsetze.
Das Script wird ganz normal in der WF angezeigt.
Nachdem es aktiviert wurde, wird es auf unsichtbar geschaltet, dafür wird ein anderes Script sichtbar.
das 2. Script wird aber erst sichtbar, wenn ich den Browser reloade.

Sieh dir mal das an.

Variablenprofile - IP-Symcon :: Automatisierungssoftware

Damit kannst Du einiges realisieren. Um den Reload nutzen zu können, kommst Du um ein Update nicht drumrum.

Also wie schon oben geschrieben, würde ich das so umsetzen:

Leg eine Boolen Variable an und lass diese im WebFront anzeigen.
Verknüpfe diese mit einem Aktionsskrip :

<?php
if($IPS_SENDER == "WebFront")
{
    SetValue($IPS_VARIABLE, $IPS_VALUE);
}
?>

und lass mit dieser Variablen dein eigentliches Skript, über ein Ereignis, ausführen. Entweder in dem Skript dann mit einer If-Then Abfrage das eine oder das andere ausführen, oder jeweils ein Skript was auf TRUE reagiert und das andere was auf FALSE reagiert.

Wenn du nun noch ein eigenes VAR Profil anlegst, wird diese sogar mit „Reset“ und „Set“ beschriftet, je nachdem ob False oder True gesetzt ist.

Ich hoffe, ich konnte das einigermaßen vernünftig erklären.

P.S.: Wenn du mal beide Skripte hier veröffentlichst, kann ich Dir das vielleicht eben mal umschreiben, damit das mit der Variable geht. Es geht natürlich auch ohne obiges Aktionsskript und die Ereignisse, ich nutze das Aktionsskript bei mir aber für alle möglichen Aktionen im WF.

Hier mal ein Beispiel, wie ich mir das Skript vorstelle, das als Aktionsskript bei der VAR eingetragen wird.

<?php
if($IPS_SENDER == "WebFront")
{
if($IPS_VARIABLE)
{UIO88_SetOutput(16925 /*[Sensoren\UIO88]*/,85);
UIO88_setoutputbit(16925 /*[Sensoren\UIO88]*/,6,true);}
else
{
// NUR als Beispiel, hier müsste der Inhalt des 2. Skripte rein !!
UIO88_SetOutput(16925 /*[Sensoren\UIO88]*/,58);
UIO88_setoutputbit(16925 /*[Sensoren\UIO88]*/,6,false);}

    SetValue($IPS_VARIABLE, $IPS_VALUE);
}
?>

Hallo obicom,

auch wenn jetzt bei mir die Verwirrung total ist,
hier mal beide Scripte.

 
<?
 
UIO88_SetOutput(16925 /*[Sensoren\UIO88]*/,85);
UIO88_setoutputbit(16925 /*[Sensoren\UIO88]*/,6,true);
Ips_sethidden(41948 /*[Sensoren\Output 6\Reset]*/, False);
ips_sethidden(15559 /*[Sensoren\Output 6\OutPut 6]*/, true);
 
?>


 
<?
 
UIO88_setoutputbit(16925 /*[Sensoren\UIO88]*/,5,false);
Ips_sethidden(15559 /*[Sensoren\Output 6\OutPut 6]*/, False);
ips_sethidden(41948 /*[Sensoren\Output 6\Reset]*/, true);
 
 
?>

Sind ganz simple Scripte die auch problemlos laufen.
Aber ich hab wohl ne Backsteinmauer vorm Hirn,
aber ich hab keine Ahnung wie ich das in der Webfront besser umsetzen soll.

Gruß Caveman

Also was genau verstehst du denn nicht?

Leg bitte erst mal eine Boolen Variable an.
Dann lege ein neues Skript an mit folgendem Inhalt:

   <?php
if($IPS_SENDER == "WebFront")
{
if($IPS_VARIABLE)
{UIO88_SetOutput(16925 /*[Sensoren\UIO88]*/,85);
UIO88_setoutputbit(16925 /*[Sensoren\UIO88]*/,6,true);}
else
{
UIO88_setoutputbit(16925 /*[Sensoren\UIO88]*/,5,false);}

    SetValue($IPS_VARIABLE, $IPS_VALUE);
}
?> 

Dann klickst du doppelt auf die Variable in der Verwaltungskonsole, drückst „Weiter“ und wählst dann unter „Eigene Aktion:“ das eben angelegte Skript aus. Die Variable lässt du Dir im WebFront anzeigen und schaust dann mal was beim Anklicken passiert.

Wenn dann noch Fragen offen sind, melde dich einfach noch mal.

Hallo obi,

hab das Problem jetzt gelöst.
Das Grundgerüst von dir und zusätzlich etwas geändert und ein 2. Script beigepackt.

Funktioniert super jetzt.

Vielen Herzlichen Dank
Gruß Caveman