"Fehler" bei Modul-Erstellung (Instanz-Feld muss als String registriert werden)

Hi!

Wenn ich ein Modul erstelle und in der form.json z.B. eine SMTP-Instanz einbaue mit:

{ "type": "SelectInstance", "name": "SmtpInstanceID", "caption": "SMTP-Instanz" }

…und dieses dann in der module.php, wie man es erwarten würde, als Integer registriert, dann kommen die folgenden Fehler im IPS-Meldungen-Fenster:

24.12.2015 16:36:51 | InstanceManager | <br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/etc/symcon/scripts/__ipsmodule.inc.php</b> on line <b>47</b><br />
<br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/etc/symcon/scripts/__ipsmodule.inc.php</b> on line <b>47</b><br />
<br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/etc/symcon/scripts/__ipsmodule.inc.php</b> on line <b>47</b><br />

Nimmt man allerdings in der module.php „String“, dann klappt alles ohne Probleme. Auch ein „ReadPropertyInteger“ geht dann im weitere Code-Verlauf. Aber mit der folgenden Zeile kommen die Fehler oben im Code-Block:

$this->RegisterPropertyString("SmtpInstanceID", "");

Bug in IPS?! Wie gesagt, ich würde da eigentlich bei der Instanz-ID einen Integer erwarten…aber IPS möchte es als String registriert haben… :confused:

Grüße,
Chris

Das klingt sehr nach einem Fehler. Werde ich überprüfen :slight_smile:

Hast du zufällig ein Modul zur Hand, wo ich den Fehler mit schnell produzieren kann?

paresy

HostMonitor:slight_smile: Einfach die 3 Instanz-Felder als Integer registrieren lassen und updaten, zack sind alle im Modul vorher eingetragenen Werte weg und im Meldungen-Fenster kommen die Fehler.

BY_HostMonitor/module.php at master · BayaroX/BY_HostMonitor · GitHub
> Zeilen 19,20,21

Ändert man wieder auf „RegisterPropertyString“ (so wie es jetzt ist), dann tauchen alle eingetragenen Werte wieder auf und das Modul funktioniert wieder.

Grüße,
Chris

Hört sich aber echt merkwürdig an.
Hast du nach dem Umstellen es mit einer ‚alten‘ Instanz probiert ?
Weil dann könnte der Fehler aus dem laden der Settings kommen.
Was ist wenn du eine neue Instanz erstellst ? Gleicher Fehler?
Michael

Hab jetzt mal alle HostMonitor-Instanzen gelöscht, auf „ReadPropertyInteger“ geändert. IPS-Dienst neu gestartet, neue HostMonitor-Instanz erstellt und schon werde ich wieder mit den oben geposteten Fehlern begrüßt :frowning:

Danach wieder in „ReadPropertyString“ geändert und sofort läuft wieder alles wunderbar :slight_smile:

Ist also irgendwas in IPS „schief“…
…tritt sowohl bei „WebFront-Instanz“, „SMTP-Instanz“ als auch bei „Skript-Select“ auf! Also quasi bei allen :smiley:

Edit: Auch finde ich den Text in der Doku mehr als verwirrend! Keine Ahnung was da mit $name und dem ganzen Kram gemeint wird :smiley: Auch könnte man bei so etwas als Beispiel das „RegisterProperty…“ jeweils als Beispiel mit dazu machen :slight_smile:
https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectinstance/

Grüße,
Chris

Ach verdammt :smiley:

Was fällt euch auf? :smiley:

FALSCH (erzeugt oben genannte Fehler):

$this->RegisterPropertyInteger("WebFrontInstanceID", "");
$this->RegisterPropertyInteger("SmtpInstanceID", "");
$this->RegisterPropertyInteger("EigenesSkriptID", "");

RICHTIG

$this->RegisterPropertyInteger("WebFrontInstanceID", 0);
$this->RegisterPropertyInteger("SmtpInstanceID", 0);
$this->RegisterPropertyInteger("EigenesSkriptID", 0);

Thema erledigt :smiley: Hab mich -mal wieder- als Noob geoutet :smiley:

> IPS ist aber auch empfindlich :rolleyes: :wink: Außerdem wollte ich prüfen, wie nüchtern ihr alle noch seid…Fazit > Alle hackedicht :stuck_out_tongue:

-Chris-

Noch nicht… aber das falsche Beispiel fehlte ja auch im ersten Post [emoji14]
In diesem Sinne… frohes Fest.
Michael

Ich bin der Grinch :cool: Die Z-Wave Teile die ich mir geschenkt hab, die funktionieren nicht mit IPS :frowning: Dazu wurde mir pünktlich heut Mittag das Internet wieder abgeschaltet…lief ja immerhin fast 24h…
> Von daher schreibe ich jetzt lieber nicht was ich denke und von diesen Tage halte :rolleyes: :smiley:

Da vergnüge ich mich lieber noch ein wenig mit IPS-Modulen…die meisten Fehler baue ich da wenigstens selbst ein und darüber kann ich dann lachen :smiley: :smiley:

Grüße,
Chris