IP-Symcon Beispiel-Scripts

Hallo Forum,

es soll in Zukunft ab und zu Beispiel-Scripts (nicht nur für den Designer) zum Download geben. Sie sollen die Fähigkeiten von IP-Symcon und Designer demonstrieren.

Damit auch unerfahrene Forumsteilnehmer diese Beispiele ausprobieren können, wurden sie in einem geeigneten Format strukturiert. Ein spezielles Installations-Script sorgt für eine schnelle Einbindung.

Wer die Beispiel-Projekte nutzen möchte muss also zuerst das Installations-Script selbst installieren.

Achtung! Scripte ohne Anpassungen ab IPS V2.x nicht lauffähig !

Installation des Installations-Scripts:
1 - Nach dem Download den Ordner „Installation“ in das „scripts“-Verzeichnis von IP-Symcon kopieren. Der Ordner „scripts“ enthält danach also einen Unterordner „Installation“.
2 - Eine Kopie des Scripts „Install.ips.php“ im „scripts“-Verzeichnis ablegen.
3 - Jetzt in IPS ein gleichnamiges neues Script anlegen. Dadurch wird das zuvor kopierte Script sichtbar.
4 - Im Script den Projektnamen ggf. in „Installation“ ändern.
5 - Das Script ausführen.
6 - War die Installation erfolgreich, sollte das Script „Install.ips.php“ im „scripts“-Verzeichnis wieder gelöscht werden.
Da sich die Kategorienansicht z.Z. noch nicht selbst aktualisiert, muss man kurz ein anderes Tab anklicken (z.B. Variables) und danach wieder zurückkehren. Jetzt sollte eine neue Kategorie „Installation“ sichtbar sein, die ein Script „Install“ enthält.

Das Script „Install“ ist jetzt einsatzbereit und kann zur Installation von Projekten verwendet werden, die im Forum oder im Download-Bereich von IP-Symcon angeboten werden.

Beispiel für eine Projekt-Installation:
Zu installierende Projekte werden in einem Ordner geliefert, der den Projektnamen trägt, zB. „Thermometer“.
1 - Dieser Ordner wird in das „scripts“-Verzeichnis von IPS kopiert, so dass es danach also einen Unterordner namens „Thermometer“ enthält.
2 - Im Script „Install.ips.php“ muss der Projektname eingetragen werden. Die entsprechende Zeile lautet dann:
$project = „Thermometer“;
3 - Das Script ausführen.

Bei erfolgreicher Installation wird eine entsprechende Meldung ausgegeben, ansonsten eine Fehlermeldung.

**************************************************
Neuerungen:

  1. Die für die Installation relevanten Projekt-Daten sind jetzt in einer einzigen Datei zusammengefasst.
  2. Eine evtl. im Projekt enthaltene Designer-Datei (*.bin) wird jetzt automatisch registriert.
  3. Im Projekt enthaltene Grafiken werden jetzt automatisch in den ImagePool übernommen.
  4. Falls IPS noch nicht grafik-fähig sein sollte, wird die entsprechende DLL installiert. Danach muss IPS neu gestartet werden.
    **************************************************

**************************************************
Neuerungen zum 31.12.06:
Installation.zip enthält jetzt auch Scripts, für Leute, die selbst Projekte veröffentlichen wollen.
**************************************************

Eine letzte Aufgabe muss in jedem Falle vom Anwender selbst erledigt werden:
Die zu triggernden Variablen müssen in den „Instances“ mit einer entsprechenden Datenquelle verbunden werden.

IP-Symcon - Projekte können also „im Handumdrehen“ mit dem Installations-Script installiert werden. Die Projekte sollten sofort lauffähig sein und so dem interressierten User einen Einblick in den Umgang mit Scripten und der Programmiersprache PHP vermitteln. Die Scripts sind im Allgemeinen ausreichend kommentiert, so dass die Funktion der einzelnen (Befehls)-Zeilen gut nachzuvollziehen ist.
Wer schon einmal mit einer Programmiersprache gearbeitet hat, sollte auf Anhieb damit zurecht kommen.

Viel Spaß!

Gruß
HJH

AudioPlayer.zip (64.4 KB)

NanoTerminal.zip (4.72 KB)

Zeitansage.zip (1.82 KB)

Installation.zip (407 KB)

Bahnhofsuhr.zip (45.6 KB)

Thermometer.zip (22.1 KB)

Aber hallo ! Hut ab !

Super, da kommen mir doch gleich ein paar Ideen. Mehr davon.

sveto

Das ist eine Super-Idee!
Gerade für mich, da ich …siehe Signatur :smiley:

P.S. Könnte man noch eine Beschreibung für die ZIP´s hinzufügen, dass man gleich weiss, was man damit erreichen kann?

Super Sache, danke für die Beispiele

Dabei hätte ich eine Bitte an die Administratoren.
Könnte man nicht einen eigenen Download Bereich einrichten,
wo Beispiele, Skripte, Treiber usw. abgelegt werden.

Ich meine gesammelt an einer Stelle und nicht über das Forum verteilt.
Zumindest mir fallen beim Lesen von solchen Bereichen meist ein paar neue Ideen ein.
Zum anderen würde es die Suche noch der einen oder anderen Lösung erleichtern.

Was meint der Rest der Community?

Gruß
Astrastar

Hallo Astrastar,

genau so ist es auch geplant. Dann wird es auch zu jedem Beispiel die von nancilla bereits vermisste Beschreibung geben.

Die derzeitige Präsentation ist nur als Provisorium zu betrachten.

Gruß
HJH

Also erstmal großes Lob für das Projekt!

Die Installation ist super gelöst, mit der Methode kann ich auch meine Scripte weitergeben. (Habe ich sogar mit meinen geringen PHP-Kenntnissen verstanden) :cool:
Die gezeigten Beispiele bringen mich auf viele neue Ideen. :smiley:
… aber da bin ich wohl nicht der Einzige.

Beim Studieren der install-Prozedur bin ich allerdings schon auf ein Problem gestoßen:
Jede gute Software stellt eine Methode bereit, mit der man sie auch wieder los wird. So wie ich das sehe, bringen ips und php scheinbar alles mit, um das zu integrieren (alles was sich registrieren lässt, kann man auch wieder deregistrieren). Entweder man schafft eine Variable wie „uninstall=True/False“ oder man verlagert das in ein anderes Script. Vielleicht „uninstall.ips.php“??? :wink:

Also die Bemerkung soll die Leistung in keiner Weise schmälern, aber wenn man den Leuten den Einstieg erleichtern will, muss man auch eine Leiter für den Ausstieg bereit halten. :rolleyes:

Gruß
Fabian

„… eine Leiter für den Ausstieg bereit halten“ : rechte Maustaste „Delete Script“
(und ggf. auf der HD löschen)

MST

Schon klar, aber wenn man die Übersicht bei den Vars behalten will, sollten auch die mit raus.

Gut dafür könnte man die cfg nutzen und alle dort aufgeführten Variablen löschen.

Fabian

Hallo Fabian,

wenn Du ein Projekt erfolgreich installiert hast, dann wirst Du sowohl bei den Scripts, als auch bei den Variablen (im Treeview) eine neue Kategorie mit dem Namen des Projekts (z.B. Thermometer) finden. Du siehst also folglich mit einem Blick, welche Scripts bzw. Variablen zum Projekt gehören und welche nicht. Daher ist es überhaupt kein Problem diese dann gezielt zu löschen, da sie alle hintereinander in der Kategorie aufgelistet sind.

Es ist somit völlig unnötig irgendwelche Dateien zu durchsuchen. Das Projekt-Format wurde bewusst für ein hohes Maß an Übersichtlichkeit geschaffen.

Es gibt aber ein anderes Script („Collect.ips.php“), das ich dazu benutze ein Projekt zu erstellen. Es sammelt alle Projekt-relevanten Informationen (wie Scripts, Variablen, Events…) und erzeugt daraus die .cfg-Dateien. Ich werde es demnächst ebenfalls zur Verfügung stellen.

Gruß
HJH

Gut zu wissen.

Danke nochmal und großes Lob für das Projekt! Ich hätte mir sowas gewünscht, als ich eingestiegen bin… :wink:

Gruß
Fabian

Hallo HJH,

das finde ich super, dann kann ich meinen MySQL Timer für GGGs mal zusammenbauen, der ist was Komplexer. Ich hoffe ich komme dann mit deinem Tool klar.

Super
Gruß
Oliver

Wenn ich das Beispielskript Bahnhofsuhr installiere, bekomme ich unter Kernel jede Sekunde eine Meldung:

<br />
<b>Fatal error</b>: Call to undefined function imagecreatefrompng() in <b>C:\Programme\IP-Symcon\scripts.currentscript</b> on line <b>26</b><br />

Was ist das falsch?

Gruß

Carsten

Hallo Carsten,

nichts ist falsch. Du musst nur die Grafikbibliothek einbinden. Suche einfach mal im Forum danach, Du musst aus der aktuellen PHP Version 5.1.x diese Bibliothek ins IP-SYMCON Verzeichnis kopieren und in der PHP.INI diese Extension eintragen.

Gruss Torro

Hallo Carsten,

Torro hat recht. Standardmäßig ist IPS nicht grafikfähig.
Um dies zu erreichen muss die DLL „php_gd2.dll“ vorhanden sein.
Quellen hierfür findet man auf der PHP-Homepage. Z.B.: hier
Üblicherweise muss man das gesamte Paket downloaden, auch wenn man nur die DLL benötigt.
An die Datei „php.ini“ muss folgende Zeile hinzugefügt werden:

extension = „php_gd2.dll“

Von da an ist IPS grafikfähig.

Ich werde diesen Hinweis mit in die Beschreibungen aufnehemen.

Gruß
HJH

Hallo HJH.

ich faende es besser, wenn das in Deinem Paket gleich enthalten ist und mit installiert wird. Du hast dies doch gerade fuer diejenigen entwickelt, die von PHP keine bzw. wenig Ahnung haben, oder? Solange die PHP.INI Datei auch Konformitaet aufweisst- und davon sollten wir immer ausgehen-, ist dies die sauberste Variante, nutze ich genauso bei WIIPS. in der install.php

Gruss Torro

Hallo Torro,

da hast Du eigentlich Recht.

Danke für den Hinweis. :slight_smile:

Gruß
HJH

Hallo HJH,

ich habe heute mal dein Script zur Steuerung der Displays getestet. Leider bekomme ich das ST7036 316 Display nicht richtig zum laufen.
Die erste Zeile wird zwar korrekt dargestellt, dann aber der Inhalt der 3.Zeile mittig in der 2. Zeile, das wars dann.
Ich denke es liegt an dem Init in deinem LCD_Funktions, das fürs 3
16 evtl. nicht funktioniert. Habe mal versucht, dies nach dem Init des Herstellers anzupassen, leider ohne Erfolg.
Hast du evtl. noch eine Idee?

Gruß,
Doc

Hallo Doc,

HJH ist für 10 Tagen im Herbsturlaub.
Spätestens zu diesem Termin zurück: www.electronica.de
(Anwendungen für IPS wie z.B. von enocean auf deren Messestand)

MST

@Steiner

danke für die Info. Dann werde ich mal warten oder selber weiter probieren. Evtl. hat das Display ja auch schon der eine o. andere in Gebrauch?

Grüße,
Doc