ioBroker / ioBroker.vis-2

Next generation visualisation for ioBroker platform.
Other
26 stars 3 forks source link

[enhancement]: Extended options for visibility of widgets #364

Closed manuxi closed 3 months ago

manuxi commented 3 months ago

No existing issues.

Related problems

A visualization is to be used on two tablets. Separate, device-specific information should be displayed there according to the tablet (e.g. battery status). This should be done in one visualization, as most of the outputs and data are identical (DRY) and double maintenance is not possible in the long term.

There is already a thread for this, but the ideas for the procedure are anything but uncomplicated and may slow down the displays considerably: https://forum.iobroker.net/topic/72671/vis-auf-zweitem-tablet-anzeigen.

Description

The "Visibility" tab (widgets) is a good place to work as simply as possible.

In addition to the ObjectId, further options for identifying the caller could be selectable there (possibly via dropdown?).

  1. query parameter: The query parameter can be specified when the visualization is called (e.g. /vis-2/index.html?device=Tablet01#Overview). It is retained when navigating (tested in the Browser & Fully Kiosk Browser). It could be used as a comparison under Visibility.

  2. instance id: I am not sure if this option does not require too much readjustment, as the Id can change. Otherwise analogous to 1.

  3. port: Unfortunately a little more complicated here too, but the port could certainly be used to uniquely identify a caller.

Additional context

No response

foxriver76 commented 3 months ago

Why not use two different users and set permissions accordingly? Either under visibility or project wide permissions.

manuxi commented 3 months ago

Well that could be interesting, but I didn't get it to work so far in Vis-2. Whenever I select a group in widget visibility, the editor disappears, Error in console: "MUI: The value prop must be an array when using the Select component with multiple."

Is it documented somewhere how to proceed?

foxriver76 commented 3 months ago

You could export the widget that makes the problem and post here so I can test what goes wrong, for me it works well tested on Image 8 widget right now. Alternatively you can use https://github.com/ioBroker/ioBroker.vis-2?tab=readme-ov-file#permissions-system to achieve the same + not showing whole views, disallowing edit mode for specific users etc

manuxi commented 3 months ago

Weird. Just tested it with "Image 8": draw the widget to a test view, opened visibility. As soon as I click on a group (e.g. FireTablet), the whole screen wents black. image

Console output: image Then I have to reload the editor.

Tested in Vis-2 editor on web.0 with port 8082 and web.1 with port 9082. This does not happen in Vis-1.

Seems that all my projects were imported in Vis-2. I also tested this behavior also in the DemoView (think it's the default demo project), widget "Sleeping room status".

manuxi commented 3 months ago

The export of the widget (pretty empty): [ { "tpl": "tplContainerView", "data": { "g_fixed": true, "g_css_font_text": false, "g_css_background": false, "g_css_shadow_padding": false, "g_gestures": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "contains_view": "Header", "name": "Header View", "bindings": [], "visibility-oid": null, "visibility-cond": "!=", "visibility-val": 1, "visibility-groups": null, "visibility-groups-action": "hide", "g_visibility": true }, "style": { "left": "0", "top": "0px", "width": "1280px", "height": "80px", "bindings": [] }, "widgetSet": "basic", "_id": "i000001" } ]

manuxi commented 3 months ago

Forget about the upper. Was on the stable repo in ioBroker, changed to beta, made iob update and installed the 2.9.32. Seems to work now.

foxriver76 commented 3 months ago

Ah yeah think stable needs an update a lot of stuff fixed since then

foxriver76 commented 3 months ago

Stable update is requested. Did you got everything to work what you need?

manuxi commented 3 months ago

Yes. Thank you for that hint! I'll close this ticket.