IPS-Designer-Manuel

Hallo!
Wollte mich gerade mal etwas mit dem Desigber auseinander setzten.
Wollte soviel wie möglich lesen, bevor ich meine ersten fragen stelle :wink:
Diverse Leute werden von euch zu der Designer - Dokumentation im Downloadbereich verwiesen.
Wollte mir diese gerade mal ansehen.
Habe sie runter geladen und wollte sie öffnen.
Bekomme aber nur eine leere anzeige.

Nun muß ich doch wieder fragen:
Problem bekannt? oder liegt das an mir?
Steht da was anderes drinn als in der Online Dokumentation
„Visualisierung (IP-Symcon Designer)“
oder steht hier irgendwo im Forum etwas darüber, was ich in dieses IPSYMID reinschreiben soll?
Ich möchte doch nur eine Digitale Uhrzeit oben rechts im Desiger haben.
Habe auch schon ein Script dafür, weiß aber nicht, wie ich dieses nun in den designer bekomme.
Habe auch in der Doku nichts darüber gefunden.
Außer:

$IPS_SENDER = Designer
$IPS_COMPONENT -> gesteuert per IPSYMID

Aber was soll ich mit dem Befehl machen, ih vor mein Script setzten oder einfach in diese Zeile IPSYMID$IPS_COMPONENT(„Zeitanzeige“);
Gibt es denn keine Beispiele, wie und wo man diese $IPS_Componenten einsetzt?
Aber wie gesagt, ich wollte es ja selbst nachlesen und hoffe das solche sachen dann auch in der Datei "Designer - Dokumentation im Downloadbereich " beschrieben sind.
Gruß
Xanon

Das liegt am Betriebssystem (Sicherheitseinstellungen). chm-Dateien werden nicht (mehr) überall ausgeführt. Entweder in C:\windows\help\ kopieren oder die „Ausführungsrechte“ richtig einstellen (im IE oder direkt im Hilfe-Tool die Sicherheitszone anpassen).

Geht je nach Betriebssystem auch in den Eigenschaften der Datei.

Danke, aber ich bekommes nicht auf.
Alle anderen .chm datein auf dem Rechner laufen.
Nur noch kurz eine Frage, bevor ich mich jetzt hiermit den ganzen Abend vermiese.
Steht in der download Version denn was anderes drinn (Ausführlicher), als in der Online Duko?
Gruß
Xanon

Hallo Xanon,

dass das Designer-Manual bei manchen nicht läuft scheint an irgendwelchen Berechtigungen oder Sicherheitseinstellungen zu liegen. Welche das genau sind, kann ich Dir leider nicht sagen.

Die Download-Version hat mehrere Vorzüge:

  • sie ist aktueller
  • sie ist besser strukturiert
  • sie ist etwas ausführlicher

Ich habe hier eine reine HTML-Version angehängt. Zum Anzeigen musst Du nur den Link „IPS-Designer-Manual (html).html“ anklicken.

Achtung: die HTML-Version wird im InternetExplorer besser angezeigt, als im FireFox (wg. Frames).

Der Grund, warum die Wiki noch nicht nachgezogen ist, liegt darin, dass die Konvertierung in Richtung Wiki leider sehr umständlich und zeitraubend ist.

Gruß
HJH

IPS-Designer-Manual (html).zip (551 KB)

Ich danke dir!
Jetzt kann ich mir das wenigstens mal ansehen.
Ich nämlich bin schon total „Maddelich“ im Kopf.
Hoffe ich komme damit klar!
Vielen dank nochmal und einen schönen abend noch!
Gruß
Xanon

Mist, ich bekomme es einfach nicht hin!
Will doch nur eine Uhrzeit in meiner Seite anzeigen lassen :mad:
Habe bis jetzt folgendes gemacht!
Als erstes habe ich dieses Script!

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Zeitanzeige.ips.php
Trigger  :
Interval :
*/
$h = (int)date("H");
$m = (int)date("i");
$S2 = ($h . ":" . $m );

echo "Es ist jetzt ".$S2. " Uhr";
?>

Nun Habe ich eine Variable mit dem Namen „Zeit“ als Typen „String“ erstellt.
Nun wieder zum Script und im Event Fenster unter „Update“ die Variable „Zeit“ augewählt.
Dann bin ich in den IPS Designer gegangen und habe dort ein „Label“ hinzu gefügt.
Auf das Label einen Doppelklick und im darauffolgendem Fenster habe ich unter „Cation“ die Variable eingefügt und auf OK.
Aber da passiert nichts :confused:
Hab dann auch mal probiert die Update Funktion zu nutzen „1Sekunde“ eingestellt.
Auch ihne Erfolg.
Was mache ich denn verkehrt?
Könnte mir nochmal jemand helfen? Bitte!
Oder gibt es einen ganz einfachen befehl und ich brauche garnicht 1x in der sek. das Skript auszuführen.
Ist doch für den Datenverkehr bestimmt nicht so gut oder?
Gruß
Xanon

Hallo Xanon,

Du hast leider die Ablauf-Kette, die hier durchlaufen wird noch nicht ganz durchschaut.

Dein Script macht folgendes:

  1. Es erzeugt einen String mit der Uhrzeit in der Variablen $S2.
  2. Du gibst diese Variable mit „echo“ aus.

Du hast 2 Fehler gemacht:

  1. Der echo-Befehl macht seine Ausgabe auf das Standard-Device. Dieses ist in IPS das Ausgabe-Window am unteren Bildrand. Es funktioniert nur, wenn Du ein Script von Hand startest.
  2. Die Uhrzeit steht zwar in einer PHP-Variablen ($S2), aber der Designer hat keine Ahnung davon, weil er eine IPS-Variable namens „Zeit“ benötigt. Von der wiederum hat PHP keine Ahnung.

Damit diese beiden nun zusammenspielen, gibt es die IPS-Spezialfunktionen, wie z.B. SetValueString(…).
In Deinem Script fehlt also noch die Zuordnung der PHP-Variablen an die IPS-Variable:

SetValueString(„Zeit“, $S2);

Wenn Du nun den EventTimer auf 1 Sekunde stellst, wird jede Sekunde dieser String an die IPS-Variable zugewiesen.
Diese wird vom Designer angezeigt, sobald sie sich geändert hat, also ebenfalls jede Sekunde.

Die Zuweisung an $S2 geht auch schöner:

$S2 = date("H:i:s");
SetValueString("Zeit", $S2);

„date(…)“ liefert bereits den richtigen Datentyp (String).
Das ganze Script besteht also nur aus zwei Zeilen.

Du darfst auf keinen Fall das Script durch die IPS-Variable „Zeit“ triggern lassen, weil Du dann eine Endlosschleife bekommst.
Es ist dringend nötig sich den Ablauf vom Eintritt des ersten Ereignisses (TimerEvent) bis zur Ausgabe im Designer klar zu machen.

Gruß
HJH

Hallo HJH!
Vielen dank!
Habe es nun, durch deine hilfe hinbekommen, das ich die Uhrzeit auf meiner Seite angezeigt bekomme.
Ich weiß allerdings nicht ob er sie nicht doch jede sekunde triggert. :confused:
Denn in IPS unter Debug zeigz er jede Sekunde 4 sachen an.

-Datum und aktuelle Zeit Variable Manager Variable Zeit (String), Value: Aktulle Zeit
-Datum und aktuelle Zeit Execute Thread ID: 4868 Execute Result:
-Datum und aktuelle Zeit Execute Thread ID: 4868 Execute Ret: 1, Successful: True
-Datum und aktuelle Zeit Execute Thread ID: 4820 Executing Script:Nur_Zeit.ips.php~Sender:Timer Event

Wobei sich die „ID“ ständig ändert.
Sieht für mich als Laie so aus als wenn da jede sekunde was Ausgeführt wird.
(Allerdings bei einer Uhrzeit ist das wiederum klar, oder)
Wobei unter Verbose nichts passiert.
Ist das nun richtig?
Will natürlich keine Endlosschleife bekommen.
Unter Vaiables „Zeit“ sehe ich nun auch den Type"String" und unter Value die Uhrzeit.
Ich bin unter „Event Scripts“ auf Event gegangen und habe dort „nur“ den interval auf 1 Sek. gesetzt. ihn aber nicht triggern lassen.
Ist das so Richtig?

Du glaubst garnicht wie MICH das nervt, immer hier im Forum wegen jeder kleinigkeit zu fragen.

Du hast geschrieben:[QUOTE]2. Die Uhrzeit steht zwar in einer PHP-Variablen ($S2), aber der Designer hat keine Ahnung davon, weil er eine IPS-Variable namens „Zeit“ benötigt. Von der wiederum hat PHP keine Ahnung.[QUOTE]
Habe mir überlegt vielleicht doch dieses PHP für dummies zu kaufen.
macht das in solchen fällen nicht doch sinn?
Zumindest um mich mit PHP mal ein wenig auseinander zu setzten.
Ich weiß nicht wie ich das sonst lernen soll.
In der Wiki steht immer nur wie man was machen könnte, aber nicht die zusammengehörigkeit.
Ich bin eigentlich nicht ganz so begriff-stutzig aber IPS und PHP bringen mich und irgendwann euch „glaube ich“ noch mal um den Verstand.
Wenn man keine Programier kenntniss hat, ist das echt schwer. "Komme mir vor, als wenn ich Chinesisch lernen müßte.

Aber danke für deine Hilfe!
Hruß
Xanon

Es ist ein gutes Einsteigerbuch. Mach es ruhig. Aber grade in solchen Fällen macht es keinen Sinn, weil über IPS nämlich nichts drin steht. Über den unterschied von PHP-Variablen und IPS-Variablen wirst du nichts finden.

nur hier - ja, ich nerve, ich weiss… :smiley:

Wie sollte das auch darinstehen, wo doch alles irgendwie zusammen gehört. Schreib doch einfach mal auf, wie du dir vorstellst was darin stehen sollte. Ich meine, als Entwickler neigt man natürlich dazu Anleitungen so zu schreiben, wie man als Entwickler es kennt und gut mit arbeiten kann. Paresy macht das so und ich auch. Nur ist das vielleicht für Nicht-Entwickler nicht der richtige Weg. Darum hab ich mal was völlig anderes versucht. Das „kleine Programmierhandbuch“.

Glaub mir, das geht jedem Programmierer in der Ausbildung/Studium so. :smiley: Das wird besser mit der Zeit. Aber du musst dich an den Gedanken gewöhnen, dass auch Profis, die damit ihr Geld verdienen, teilweise für 20 Zeilen Code, was wenig ist, mehrere Stunden gelesen haben. Nur bekommen die 100 Euro (und mehr) die Stunde.

Toni

ja, ich nerve, ich weiss…

Du kannst garnicht nerven :o
OK, werde es mir trotzdem mal zulegen:)
Was sagst du nun zur Endlosschleife?
Ist es eine oder nicht!
Ich weiss noch nicht genau wann es eine ist und wann nicht .
Ich meine bei einer Uhrzeit, kann es doch nur eine sein, da er den String ja alle sekunden ausgiebt!
Oder nicht :confused:

Eine Endlosschleife hast du dann gebaut, wenn sich der Rechner „aufhängt“ und nicht mehr beenden lässt. Wenn du alle Sekunde (eine Ewigkeit für einen PC) die Uhrzeit änderst ist das okay. Vielleicht unnötig und systembelastend, aber nicht unbedingt verwerflich.

PHP würde zum Beispiel, was in deinem Fall jetzt nicht zutrifft, nach 29 Sekunden melden, dass ein Script nicht „vom Aufruf zurückgekehrt“ ist und deine Endlosschleife per „Holzhammer“ beenden. Das ist auch ein Grund warum man die se Grenze, wir hatten das in einem anderen Thread besprochen, nicht anfassen sollte.

Toni

Tja, das ist, wenn ein Hund sich selbst in den Schwanz beissen will und sich im Kreis dreht !

Auf IPS übertragen: Ein Skript, dass sich immer wieder selbst triggert !

mfG Franz

@Tonic1024
Danke für die Aufklärung!

Eine Endlosschleife hast du dann gebaut, wenn sich der Rechner „aufhängt“ und nicht mehr beenden lässt.

Ok, dann habe ich wohl keine Endloschleife eingebaut, denn mein Rechner ist nicht hängengeblieben.:slight_smile:
Gruß
Xanon