Wie kann ich Designer-Objekte per IPS-Script erstellen

Hallo zusammen,

ich möchte gerne per IPS-Script ein Grafik-Objekt im Designer erzeugen.
Konkret:

Ich lass mir meine FS20 Sensoren auf einem Bitmap-Grundriss meines Hauses als grün/roten Punkt anzeigen. Wenn der Sensor ausgelöst hat (z.B. TFK - auf), ändert sich die Farbe von grün auf rot.

Jetzt möchte ich aber neue Sensoren nicht jedesmal neu im Designer gestalten, sondern zur Laufzeit generieren.

Ich denke, so eine Funktion könnte für andere Objekte wie z.B. Label etc. auch interessant sein.

Gruß,
kpiep

Laufzeit Objekte sind meisst recht aufwendig. Ich weiss nicht ob sie einfach zum Funktionsumfang von IPS hinzugefügt werden können, Aber deren Verwaltung und Initialisation, das ist dann der Part, den du in deinen PHP-Scripten übernehmen musst, ist nicht „mal eben“ gemacht. Ich bin mir nicht sicher, aber gibt es denn schon PHP-Funktionen, die auf die Propertys der Designer-Objekte zugreifen können?

Meinst du nicht, dass es vielleicht eine andere Lösung gibt für dein Problem?

Toni

Das brauchs du ja auch nicht. Du benutzt jedesmal das gleiche Bild aus dem ImagePool, oder in deinem Fall Rot/Grün Kombination. Du muss dann nur das Bild jedesmal mit einer anderen Variable verknüfpen, eben diejenige, die für den Status des PIRI zuständig ist.

Ansonsten verstehe ich die Frage nicht ! :confused:

mfG Franz

Dafür ist der Designer nicht ausgelegt. Geht nicht. Wird es nicht geben. Sorry.

paresy

@paresy

Schade.

Dann muß ich mir doch mal das Delphi-SDK ansehen…

Hallo kpiep,

im Prinzip könntest Du so vorgehen:

Du benutzt als Grundlage immer einen unveränderten Grundriss im .PNG oder .GIF - Format. Beim .BMP - Format sind die Dateien und damit die Ladezeiten unverhältnismäßig lang.

Wenn sich der Zustand eines Sensors geändert hat, startet ein Script, das den Grundriss lädt und dann alle Sensoren mit dem aktuellen Zustand darin einträgt. Da die Sensoren, wie Du sagst, nur rote und grüne Punkte oder (kleine) Flächen sind, sollte der grafische Aufwand nicht allzu hoch sein.
PHP kann .PNG und .GIF-Dateien laden und bearbeiten und hält eine Menge Grafik-Funktionen bereit. Die Grafik wird nicht im Designer sondern in Deinem Script jeweils bei Bedarf (OnUpdate) erzeugt.

Die so erzeugte Grafik wird dann im Image-Pool unter dem richtigen Namen zur Verfügung gestellt.

Bei mir läuft etwas ähnliches einwandfrei. Es werden zwar keine Sensoren sondern Graphen angezeigt. Insofern ist dies durchaus mit Deinem Vorhaben vergleichbar.

Die Idee, den Zustand der Sensoren im Grundriss anzuzeigen finde ich gut.

Gruß
HJH

Die Idee find ich Klasse…

@Paresy,

Könntest du kein ‚dynamishes‘ pen-objekt machen, wo ein dot gezeichet werden kann auf x,y-wert (per IPS-variable) und ein farbe wert?
Könnte man an auf beliebige stelle ein dot zeichen (und dan eben auch wieder weg-mahlen)…
Im script:


$points["kuche"]["x"]=250;
$points["kuche"]["y"]=400;
$points["wohn"]["x"]=250;
$points["wohn"]["y"]=100;
$pointx=$points[$sensor]["x"];
$pointy=$points[$sensor]["y"];
if ($var) {
$pointc="&hFF0000"; //rot
}else{
$pointc="&h00FF00"; //grun
}

my 2 cents
wie immer … wie steht’s mit mein Konto? :cool: