drapple
21. Dezember 2015 um 19:00
21
Bei mir sieht das so aus unter IPS 4 :rolleyes:
Aber ich habe die Lösung !!!
Warum auch immer nur Bei ReadOnly er so ein geschieß macht :
So geht es nicht :
IPS_SetProperty($instanzid1,"'ReadOnly", true);
aber so :
IPS_SetProperty($instanzid1, ‚ReadOnly‘, true);
Danke für dein Bild !!! Ein Bild sagt eben 1000000x mehr aus als immer zu schreiben doch es geht
Aber warum ist das IPS 3.4 egal ?
Ich habe mich nur an die Doku gehalten :
Beispiel
IPS_SetProperty($id, „Open“, true); //I/O Instanz soll aktiviert sein.
AHHHH
Das mußte jetzt sein
Schau dir mal deinen eigenen Screenshot an.
Warum steht da schon wieder:
"false"
anstatt wie in den Beispielen, welche du selbst zitierst.
false
Es ist völlig egal ob du „ReadOnly“ oder ‚ReadOnly‘ schreibst.
Und auch verhalten sich IPS 4 & 3.4 hier völlig gleich.
Versuch mal folgendes:
<?
$InstantID =15831;
echo "Wir schreiben bool:".PHP_EOL;
IPS_SetProperty($InstantID,"ReadOnly",false);
var_dump(IPS_GetProperty($InstantID,'ReadOnly'));
IPS_SetProperty($InstantID,'ReadOnly',true);
var_dump(IPS_GetProperty($InstantID,'ReadOnly'));
echo "Wir schreiben int:".PHP_EOL;
IPS_SetProperty($InstantID,"ReadOnly",0);
var_dump(IPS_GetProperty($InstantID,'ReadOnly'));
IPS_SetProperty($InstantID,'ReadOnly',1);
var_dump(IPS_GetProperty($InstantID,'ReadOnly'));
echo "Wir schreiben String:".PHP_EOL;
IPS_SetProperty($InstantID,"ReadOnly","false");
var_dump(IPS_GetProperty($InstantID,'ReadOnly'));
IPS_SetProperty($InstantID,'ReadOnly',"true");
var_dump(IPS_GetProperty($InstantID,'ReadOnly'));
Das ergibt immer:
Wir schreiben bool:
bool(false)
bool(true)
Wir schreiben int:
bool(false)
bool(true)
Wir schreiben String:
bool(false)
bool(false)
Wie du an var_dump siehst, ist es ‚egal‘ was du da für einen Datentyp schreibst, er wird automatisch umgewandelt so das nachher ein boolean dabei rauskommt.
Bei integer zu boolean geht das noch mit 1 & 0.
Bei String kommt da ‚Müll‘ raus => immer false.
Michael
drapple
21. Dezember 2015 um 19:25
23
Ok du hast gewonnen, es lag echt nur daran das ich true/false so geschrieben haben : „true“ „false“
So eine Sch…:mad::mad::mad:
Danke euch für eure Geduld :rolleyes:
Wobei tatsächlich diese Fehlermeldung in IPS 4 fehlt :eek:
Warning: Could not convert variant of type (String) into type (Boolean)
Dann würde man darauf vielleicht nicht so schnell reinfallen.
Michael
drapple
21. Dezember 2015 um 19:48
25
Ja und das komische ist auch, das er sonst die Werte die ich in die Instanz schreibe auch mit z.B: „0“ oder „5000“ geschrieben habe und es auch geklappt hat.
Nur bei der ReadOnly wollte es nicht so klappen Ist das normal ?