Bild im Konfigurator anzeigen und aktualisieren

Hi,

ich erweitere gerade das Roborock Modul um eine Kartenanzeige.

Dazu möchte ich gerne im Konfigurationsformular eine Testfunktion anbieten („Zeige Karte“), die die Karte ausliest und dann auch gleich anzeigt.

Kann ich das mit einem Popup umsetzen? Also PopUp öffnen mit einem MediaObjekt und einem Button (‚aktualisieren‘)? Würde sich dann das Bild automatisch aktualisieren, wenn sich der Inhalt des MediaObjektes ändert?

Ich dachte, ich frage mal, bevor ich viel und vielleicht vergeblich experimentiere :slight_smile:

Vielen Dank schon mal für die Hilfe.

Burkhard

So?

Ergänzend: der Update Button ist in der form.json
Michael

Vielen Dank für das Beispiel!

Ja, so ähnlich habe ich versucht. Aber das Image wird nur beim Laden der Konfiguration geholt :frowning:

Auch nach einem „Jetzt aktualisieren“ bleibt es beim ursprünglichen Bild. Erst wenn man die Konfiguration erneut öffnet wird das neue Bild angezeigt. Auch in deinem Modul schön zu sehen :slight_smile:

Dann machst du beim reload Button noch ein ReloadForm rein :slight_smile:

Michael
Edit: danke für den Hinweis, dass es auch bei ONVIF nicht funktioniert. Habe mir gleich Mal ein Merker gemacht :slight_smile:
Issues ONVIF

Leider nicht so einfach :slight_smile:

Mein Versuch mit

[
'type'    => 'Button',
'label'   => 'Actualize',
'onClick' => '$module = new IPSModule($id); if (Roborock_GetMap($id)){echo $module->Translate(\'OK\'); $module->ReloadForm();} else {echo $module->Translate(\'Error\');};'
],

scheitert leider, da ReloadForm protected ist.

Hast du eine Idee, wie ich sonst das ReloadForm aufrufen kann?

Habe es eben Mal online bei mir eingebaut.
Ich nutze ja gerne IPS_RequestAction zum Kapseln der Funktion.
Somit ruft der Button jetzt IPS_RequestAction($id, ‚UpdateImage‘, true); auf und im Modul bei RequestAction wird das Image neu geladen und ein reload der Form angefordert.

Michael

So werde ich es dann auch machen. Danke!