ich versuche gerade eine Statusvariable anzulegen und diese einmalig bei Installation vom Modul zu initialisieren.
Die Funcktion Create() wird leider auch beim IPS neustart aufgerufen.
Momentan habe ich folgende Zielen am Ende von Create():
Naja ich wollte halt die Variable beim Erstellen der Instanz initialisieren :-). Es soll ein Funkcode als Statusvariable generiert werden (wie bei Z-Wave die BaseID). Da man diesen auch ändern können soll, habe ich das jetzt als Property gelöst:
Zusätzlich finde ich trotzdem noch cool, wenn an der Instanz noch ne readonly Variable hängt, wo immer das drin steht, was in dem Property steht. Dazu lasse ich die Variable einfach in ApplyChanges() immer auf das Property aktualisieren. Kann ich die Variable jetzt noch irgendwie auf „Nur lesen“ setzen? Momentan kann man sie über die Konsole noch ändern. Auch ein DisableAction bringt nichts.
Davon abgesehen dass die Variable ja keine Funktion und somit sinnlos ist; kannst du Variablen immer über die Console ändern.
Die Warnmeldung ‚nur lesen‘ fehlt noch bei den Modulen.
Wenn der Code eine sicherheitstechnische Funktion hat, ist es sogar eine schlecht Idee ihn in eine Variable zu schreiben.
Property ist ja genau das, was du brauchst.
Michael
Alles klar vielen Dank! allerdings kann ich die Statusvariablen von richtigen Modulen nicht aus der Konsole verändern, dann kommt ne Fehlermeldung das diese Variable als „Nur lesen“ markiert ist.
Gut, dann gehts jetzt an die serielle Kommunikation. Da ich buffern und Antworten auswerten muss und diese dann auch noch auf verschiedene Devices verteilen muss, werde ich nicht drum herum kommen, mal dein Modul IPSXBeeZigBee anzuschauen. Das wird spaßig, in der Uni haben wir nie was mit serieller Kommunikation gemacht.