Benötige Hilfe vom Speichern und Laden von Schaltern.

  • nichtgedacht
  • nichtgedacht's Avatar
  • New Member
  • New Member
  • Thank you received: 0

TPL_KUNENA_MESSAGE_REPLIED_NEW Benötige Hilfe vom Speichern und Laden von Schaltern.

17 Feb 2020 14:59
#19
Der einfache Fall:

Man läd eine Zuweisung für einen Schalter mit pLoad() in der Init Section.
Mangels erfolgtem Setup ist beim ersten Mal die Zuweisung NIL (ohne Default Ansage)

Man präsentiert im Setup eine addInputBox(), der User wählt einen Schalter mitsamt der
Info in der er ON sein soll, speichert das "SwitchItem" mit pSave für den nächsten
Start vom Script im Modellspeicher und weist es auch einer Variablen zu.

Mit system.getInputsVal(Variable) kann man dann in der Hauptschleife jederzeit erfahren
ob der Schalter ON (1) ist oder nicht.

Beim nächsten Start vom Script kommen Schaltername + ON-Stellung aus dem Modellspeicher
und laden direkt die Variable korrekt.


Um das modellübergreifend zu machen, müsste man das "SwitchItem" nicht nur im Modellspeicher
ablegen, sondern mit io.write in eine Datei schreiben.
Die Doku sagt hier was geschrieben werden kann: data – any Lua type that can be converted into string.
Ich habe nicht probiert ob das für "SwitchItem" zutrifft. Der Modellspeicher
enthält jedoch auch nur Text. Insofern sollte das kein Problem sein.


Was im Script von Thorn passiert ist, dass die vom User in der InputBox definierte Variable mit
createSwitch() überschrieben wird und in diesem neuen virtuellen Schalter diejenige Stellung als ON
definiert wird die vorher mit getSwitchInfo() als aktuelle physische Stellung ausgelesen und
über die Datei transportiert wurde. Ich verstehe nicht was das soll.

Wenn man sein eigenes Programm nicht mit Kommentaren versehen kann ... wie soll es da ein
anderer tun?

Gruß
Dieter

Please Log in or Create an account to join the conversation.

  • nichtgedacht
  • nichtgedacht's Avatar
  • New Member
  • New Member
  • Thank you received: 0

TPL_KUNENA_MESSAGE_REPLIED_NEW Benötige Hilfe vom Speichern und Laden von Schaltern.

17 Feb 2020 18:22
#20
Moin

Ich habe es ausprobiert.

Ein switchItem ist vom Type userdata.

Da kann man mit lua selber nicht reingucken und die Daten auch nicht mit lua in eine Datei schreiben.
Es sei denn der Host stellt die Tools dazu bereit.
pSave() und pLoad() speichern die Daten nicht nur im Modellspeicher sondern wandeln sie auch um.
Das kann nur der Host und nicht Lua.

Die einzige Möglichkeit des Speicherns sehe ich darin, die Json Datei eines Dummy-Modells zu nutzen und die
Bedeutung der Felder von Schaltern durch Probieren zu ermitteln. Dummerweise wird pSave() auch erst beim
Modellwechsel oder beim Ausschalten wirksam.

Jedenfalls könnte man am Ende mit json.decode die Daten lesen.

Gruß
Dieter

Please Log in or Create an account to join the conversation.

  • Thorn
  • Thorn's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Posts: 3464
  • Thank you received: 1485

TPL_KUNENA_MESSAGE_REPLIED_NEW Benötige Hilfe vom Speichern und Laden von Schaltern.

17 Feb 2020 19:00
#21
Hoffe nur das eventuell bald die 5.03 auch als Emulator kommt, dann kannst du sehen wenn du in der TXT Datei -1.0 eine 0.0 machst oder eine 1.0 zeigt er es perfekt an. Aber trotzdem vielen lieben Dank die Information die du mir gezeigt hast.

Mit freundlichen Grüßen
Thorn
!! Bitte alle meine Apps vom Sender Löschen!

Sorry, wegen meiner Rechtschreibung und Grammatik!!!

Lg Thorn

Please Log in or Create an account to join the conversation.

  • nichtgedacht
  • nichtgedacht's Avatar
  • New Member
  • New Member
  • Thank you received: 0

TPL_KUNENA_MESSAGE_REPLIED_NEW Benötige Hilfe vom Speichern und Laden von Schaltern.

21 Feb 2020 12:50
#22
Hi,

ich finde es eigentlich auch ziemlich daneben, wenn jemand seine eigenen Scripte nur als .lc Dateien
veröffentlicht und dann hier um Hilfe ersucht wenn er mit seiner nächsten Idee nicht weiter kommt.

Gruß
Dieter

Please Log in or Create an account to join the conversation.

  • davidmcq137
  • davidmcq137's Avatar
  • Offline
  • Senior Member
  • Senior Member
  • Posts: 79
  • Thank you received: 87

TPL_KUNENA_MESSAGE_REPLIED_NEW Benötige Hilfe vom Speichern und Laden von Schaltern.

19 Oct 2021 04:00
#23
I've been around and around on this one for my Maps app. My goal was to persist switch settings even with an app refresh. pLoad and pSave can't do that. In order to make it work, you would have to save the switchItem or the switch information in another form in a file.

I was encouraged by the system.createSwitch call recently introduced in the API and indeed it does work correctly. BUT ... system.getSwitchInfo does not provide the equivalent activeOn information.

You will see that if you assign a switch using the standard dialog, whichever way you flip the switch is called "on" or +1 .. Jeti knows which way it was flipped, and they save it when they persist the switchItem in pSave and restore it with pLoad.

But that direction info is not provided by system.getSwitchInfo .. so you cannot reliably "reconstruct" the switch state with system.createSwitch. I've talked to Jeti about it and they seem to be interested to improve getSwitchInfo in the future so users can do what pSave/pLoad do today.

If anyone is curious, I have an alternate (unfortunately non-standard) way to assign switches which CAN be persisted in the file system, and can be properly re-created ... we are using it in our Maps app. Because new maps are downloaded with the app we would constantly be forcing users to re-set switch assignments every time they got new maps, even if the app was the same if we used pSave and pLoad. For apps that are rarely updated this is probably not a big deal .. but it is for us.

Dave
The following user(s) said Thank You: Thorn, skyfreak

Please Log in or Create an account to join the conversation.

  • Thorn
  • Thorn's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Posts: 3464
  • Thank you received: 1485

TPL_KUNENA_MESSAGE_REPLIED_NEW Benötige Hilfe vom Speichern und Laden von Schaltern.

19 Oct 2021 18:22
#24
I really need it in the display app and have already managed it with a trick but every now and then mega rare it crashed. If you install it there, I would be very happy. Had me at that time from jeti wished and they have me yes then installed, but exactly as you described it, incorrectly installed!

Thorn
!! Bitte alle meine Apps vom Sender Löschen!

Sorry, wegen meiner Rechtschreibung und Grammatik!!!

Lg Thorn

Please Log in or Create an account to join the conversation.

Moderators: ThornIG-Modellbau
Time to create page: 0.352 seconds
Powered by Kunena Forum