Wie kann ich eine private function aus form.json aufrufen

Vielleich ist der Titel falsch gewählt. Was ich möchte, ist eine Funktion auf einen Button legen, die ansonsten nicht für den User zugegänglich ist, also ausschließlich über diesen Button aufgerufen werden kann. Was muss ich dafür tun? :confused::confused::confused:

Viele Grüße
Jürgen

Das dürfte nicht funktionieren.

Grüße,
Kai

hmmm, blöd. Gibt es irgendeinen Workaround oder sind bei Dir sämtliche Buttons mit öffentlichen Funktionen belegt?
Grüße
Jürgen

Selbst mit Trick 17 kann der User sich ja einfach die Form anschauen und den Code klauen.
Was soll der Button den für eine Funktion haben?
Du kannst auch ganze Scripte in einen Button packen.
Michael
Trick 17:
https://www.symcon.de/forum/showthread.php?p=370053

es geht um nichts geheimnisvolles. Ich will eine Kalibrierfunktion aufrufen. Die macht aus meiner Sicht ausschließlich in der Modul-Konfig Sinn und sonst nicht.
Grüße
Jürgen

Gibt es eine analoge Funktion zu $this->SetBuffer, mit der man eine Buffervariable beschreiben kann?
Grüße
Jürgen

Bitte noch Mal…
Weil das ist der Befehl zum beschrieben eines Buffer.
Zum ersten Thema.
Ist doch eigentlich egal ob diese Methode nun Public ist oder nicht, musst sie ja nicht dokumentieren :wink:
Michael

Ok, dann muss ich das wohl so machen. Ich hatte gehofft, dass es irgendwie eine bessere Lösung gibt.
Danke
Jürgen

Das trifft auch auf Timer zu … die dürfen auch nur Public Funktionen aufrufen. Da würde ich mir auch wünschen wenn der Timer der den Watchdog auslöst, dass die entsprechende Funktion zumindest nicht vorgeschlagen wird.

Die sind vermutlich nur noch aus Gründen der Abwärtskompatibelität Public.
Da z.b. die OAuth und Webhook Methoden ja auch protected sind, sollte Paresy das wohl umsetzen können.
Nur ist das ja ein breaking Change.
Ist aber auch etwas ganz anderes bei den Timer als bei Buttons einer Form.
Erstere laufen ja quasi innerhalb IPS. Letzte sind aber User-Aktionen und somit öffentliche.
Ist doch egal ob ich auf den Button klicken oder das Script mit dem ‚Button-Klick‘ aufrufe.
Michael

Hier ein Beispiel, wie man so etwas lösen könnte: add example for timers without using a public function · symcon/SymconTest@96c8586 · GitHub

Ist nicht schön, aber funktional…

paresy