2021-02-05 18:22:23 +00:00
---
title: oh-plan-marker - Floor Plan Marker
component: oh-plan-marker
label: Floor Plan Marker
description: A marker on a floor plan
source: https://github.com/openhab/openhab-webui/edit/main/bundles/org.openhab.ui/doc/components/oh-plan-marker.md
2021-03-01 14:42:17 +00:00
prev: /docs/ui/components/
2021-02-05 18:22:23 +00:00
---
2021-02-05 14:16:35 +00:00
# oh-plan-marker - Floor Plan Marker
2021-03-01 14:42:17 +00:00
<!-- Put a screenshot here if relevant:

-->
[[toc]]
<!-- Note: you can overwrite the definition - provided description and add your own intro/additional sections instead -->
<!-- DO NOT REMOVE the following comments if you intend to keep the definition - provided description -->
2021-02-05 14:16:35 +00:00
<!-- GENERATED componentDescription -->
A marker on a floor plan
<!-- GENERATED /componentDescription -->
## Configuration
2021-03-01 14:42:17 +00:00
<!-- DO NOT REMOVE the following comments -->
2021-02-05 14:16:35 +00:00
<!-- GENERATED props -->
### Marker Settings
2021-03-01 14:42:17 +00:00
< div class = "props" >
< PropGroup name = "marker" label = "Marker Settings" >
< PropBlock type = "TEXT" name = "name" label = "Name" >
< PropDescription >
The name of the marker (for identification)
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "coords" label = "Coordinates" >
< PropDescription >
The coordinates of this marker in the floor plan Coordinate Reference System; usually set by dragging the marker at design time
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "item" label = "Item" context = "item" >
< PropDescription >
The item whose state to display on this marker
< / PropDescription >
< / PropBlock >
2023-03-08 15:51:37 +00:00
< PropBlock type = "TEXT" name = "visible" label = "Visibility" >
< PropDescription >
Enter an expression to dynamically show the marker, see < a class = "external text-color-blue" target = "_blank" href = "https://www.openhab.org/docs/ui/building-pages.html#widgets-definition-usage" > Building Pages: < code > visible< / code > < / a >
< / PropDescription >
< / PropBlock >
2021-03-01 14:42:17 +00:00
< / PropGroup >
< / div >
2021-02-05 14:16:35 +00:00
### Icon
2021-03-01 14:42:17 +00:00
< div class = "props" >
< PropGroup name = "icon" label = "Icon" >
2022-07-29 20:23:45 +00:00
You can customize the styles further with CSS attributes in the < code > iconStyle< / code > parameter (in YAML only)
2021-03-01 14:42:17 +00:00
< PropBlock type = "TEXT" name = "icon" label = "Icon" >
< PropDescription >
2021-08-29 22:58:46 +00:00
Use < code > oh:iconName< / code > (< a class = "external text-color-blue" target = "_blank" href = "https://www.openhab.org/link/icons" > openHAB icon< / a > ), < code > f7:iconName< / code > (< a class = "external text-color-blue" target = "_blank" href = "https://framework7.io/icons/" > Framework7 icon< / a > ), < code > material:iconName< / code > (< a class = "external text-color-blue" target = "_blank" href = "https://jossef.github.io/material-design-icons-iconfont/" > Material icon< / a > ) or < code > iconify:iconSet:iconName< / code > (< a class = "external text-color-blue" target = "_blank" href = "https://icon-sets.iconify.design" > Iconify icon< / a > , requires being online if not in cache)
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
< PropBlock type = "BOOLEAN" name = "iconUseState" label = "Icon depends on state" >
< PropDescription >
Use the state of the item to get a dynamic icon (for openHAB icons only)
< / PropDescription >
< / PropBlock >
< PropBlock type = "INTEGER" name = "iconSize" label = "Icon Size" >
< PropDescription >
Size of the icon in pixels (40 by default)
< / PropDescription >
< / PropBlock >
2021-04-10 14:56:22 +00:00
< PropBlock type = "INTEGER" name = "iconWidth" label = "Icon Width" >
< PropDescription >
Width of the icon in pixels (for openHAB icons only, 40 by default)
< / PropDescription >
< / PropBlock >
< PropBlock type = "INTEGER" name = "iconHeight" label = "Icon Height" >
< PropDescription >
Height of the icon in pixels (for openHAB icons only, 40 by default)
< / PropDescription >
< / PropBlock >
2021-03-01 14:42:17 +00:00
< PropBlock type = "TEXT" name = "iconColor" label = "Icon Color" >
< PropDescription >
2021-08-29 22:58:46 +00:00
Color of the icon (for Framework7/Material/certain Iconify icons); use expression for dynamic colors
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
2022-07-29 20:23:45 +00:00
< PropBlock type = "INTEGER" name = "iconRotation" label = "Icon Rotation" >
< PropDescription >
Rotation of the icon in degrees
< / PropDescription >
< / PropBlock >
2021-03-01 14:42:17 +00:00
< / PropGroup >
< / div >
2021-02-05 14:16:35 +00:00
### Tooltip
2021-03-01 14:42:17 +00:00
< div class = "props" >
< PropGroup name = "tooltip" label = "Tooltip" >
You can customize the styles further with CSS attributes in the < code > tooltipStyle< / code > parameter (in YAML only)
< PropBlock type = "TEXT" name = "tooltip" label = "Tooltip Text" >
< PropDescription >
The tooltip text - leave blank to display the state of the item
< / PropDescription >
< / PropBlock >
< PropBlock type = "BOOLEAN" name = "tooltipPermanent" label = "Always display the tooltip" >
< / PropBlock >
< PropBlock type = "BOOLEAN" name = "useTooltipAsLabel" label = "Use Tooltip as Label" >
< PropDescription >
Put the tooltip text directly over the plan instead of displaying an icon
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "tooltipFontSize" label = "Tooltip Font Size" >
< PropDescription >
Font size of the tooltip text
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "tooltipColor" label = "Tooltip color" >
< PropDescription >
Color of the tooltip
< / PropDescription >
< / PropBlock >
2022-07-29 20:23:45 +00:00
< PropBlock type = "TEXT" name = "tooltipDirection" label = "Tooltip Direction" >
< PropDescription >
The direction of the tooltip
< / PropDescription >
< PropOptions >
< PropOption value = "top" label = "Top" / >
< PropOption value = "bottom" label = "Bottom" / >
< PropOption value = "left" label = "Left" / >
< PropOption value = "right" label = "Right" / >
< PropOption value = "center" label = "Center" / >
< PropOption value = "auto" label = "Auto" / >
< / PropOptions >
< / PropBlock >
< PropBlock type = "INTEGER" name = "tooltipOffsetX" label = "Tooltip Offset X" >
< PropDescription >
The X offset of the tooltip from the marker in pixels
< / PropDescription >
< / PropBlock >
< PropBlock type = "INTEGER" name = "tooltipOffsetY" label = "Tooltip Offset Y" >
< PropDescription >
The Y offset of the tooltip from the marker in pixels
< / PropDescription >
< / PropBlock >
< PropBlock type = "DECIMAL" name = "tooltipOpacity" label = "Tooltip Opacity" >
< PropDescription >
The opacity of the tooltip (0-1)
< / PropDescription >
< / PropBlock >
2021-03-01 14:42:17 +00:00
< / PropGroup >
< / div >
2021-02-05 14:16:35 +00:00
### Zoom Visibility
2021-03-01 14:42:17 +00:00
< div class = "props" >
< PropGroup name = "zoomVisibility" label = "Zoom Visibility" >
Hide this marker outside certain zoom labels
< PropBlock type = "INTEGER" name = "zoomVisibilityMin" label = "Zoom Visibility Minimum" >
< PropDescription >
Visible only when zoomed to above this level (no limit if empty)
< / PropDescription >
< / PropBlock >
< PropBlock type = "INTEGER" name = "zoomVisibilityMax" label = "Zoom Visibility Maximum" >
< PropDescription >
Visible only when zoomed to below this level (no limit if empty)
< / PropDescription >
< / PropBlock >
< / PropGroup >
< / div >
2021-02-05 14:16:35 +00:00
### Action
2021-03-01 14:42:17 +00:00
< div class = "props" >
< PropGroup name = "actions" label = "Action" >
Action to perform when the marker is clicked
< PropBlock type = "TEXT" name = "action" label = "Action" >
< PropDescription >
Type of action to perform
< / PropDescription >
< PropOptions >
< PropOption value = "navigate" label = "Navigate to page" / >
< PropOption value = "command" label = "Send command" / >
2022-10-09 00:40:07 +00:00
< PropOption value = "toggle" label = "Toggle Item" / >
2021-03-01 14:42:17 +00:00
< PropOption value = "options" label = "Command options" / >
2023-02-16 21:25:26 +00:00
< PropOption value = "rule" label = "Run scene, script or rule" / >
2021-03-01 14:42:17 +00:00
< PropOption value = "popup" label = "Open popup" / >
< PropOption value = "popover" label = "Open popover" / >
< PropOption value = "sheet" label = "Open sheet" / >
< PropOption value = "photos" label = "Open photo browser" / >
< PropOption value = "group" label = "Group details" / >
< PropOption value = "analyzer" label = "Analyze item(s)" / >
< PropOption value = "url" label = "External URL" / >
< PropOption value = "variable" label = "Set Variable" / >
< / PropOptions >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionUrl" label = "Action URL" context = "url" >
< PropDescription >
URL to navigate to
< / PropDescription >
< / PropBlock >
< PropBlock type = "BOOLEAN" name = "actionUrlSameWindow" label = "Open in same tab/window" >
< PropDescription >
Open the URL in the same tab/window instead of a new one. This will exit the app.
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionItem" label = "Action Item" context = "item" >
< PropDescription >
Item to perform the action on
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionCommand" label = "Action Command" >
< PropDescription >
2022-10-09 00:40:07 +00:00
Command to send to the Item. If "Toogle Item" is selected as the action, only send the command when the state is different
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionCommandAlt" label = "Action Toggle Command" >
< PropDescription >
2022-10-09 00:40:07 +00:00
Command to send to the Item when "Toggle Item" is selected as the action, and the Item's state is equal to the command above
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionOptions" label = "Command Options" >
< PropDescription >
2022-10-09 00:40:07 +00:00
Comma-separated list of options; if omitted, retrieve the command options from the Item dynamically. Use < code > value=label< / code > format to provide a label different than the option.
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
2023-02-16 21:25:26 +00:00
< PropBlock type = "TEXT" name = "actionRule" label = "Scene, Script or Rule" context = "rule" >
2021-03-01 14:42:17 +00:00
< PropDescription >
2023-02-16 21:25:26 +00:00
Scene, Script or Rule to run
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
2023-02-16 21:25:26 +00:00
< PropBlock type = "TEXT" name = "actionRuleContext" label = "Context" context = "script" >
2022-12-15 18:29:09 +00:00
< PropDescription >
2023-02-16 21:25:26 +00:00
Object representing the optional context to pass. Edit in YAML or provide a JSON object, e.g. < code > { "param1": "value1", "param2": { "subkey1": "testing", "subkey2": 123 } }< / code > .
2022-12-15 18:29:09 +00:00
< / PropDescription >
< / PropBlock >
2021-03-01 14:42:17 +00:00
< PropBlock type = "TEXT" name = "actionPage" label = "Page" context = "page" >
< PropDescription >
Page to navigate to
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionPageTransition" label = "Transition Effect" >
< PropDescription >
Use a specific < a class = "external text-color-blue" target = "_blank" href = "https://framework7.io/docs/view.html#custom-page-transitions" > page transition animation< / a >
< / PropDescription >
< PropOptions >
< PropOption value = "f7-circle" label = "Circle" / >
< PropOption value = "f7-cover" label = "Cover" / >
< PropOption value = "f7-cover-v" label = "Cover from bottom" / >
< PropOption value = "f7-dive" label = "Dive" / >
< PropOption value = "f7-fade" label = "Fade" / >
< PropOption value = "f7-flip" label = "Flip" / >
< PropOption value = "f7-parallax" label = "Parallax" / >
< PropOption value = "f7-push" label = "Push" / >
< / PropOptions >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionModal" label = "Modal Page or Widget" context = "pagewidget" >
< PropDescription >
Page or widget to display in the modal
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionModalConfig" label = "Modal component configuration" context = "props" >
< PropDescription >
Configuration (prop values) for the target modal page or widget
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionPhotos" label = "Images to show" >
< PropDescription >
2022-10-09 00:40:07 +00:00
Array of URLs or objects representing the images. Auto-refresh is not supported.< br / > Edit in YAML, e.g.< br / > < code > < pre > - item: ImageItem1< br / > caption: Camera< / pre > < / code > or provide a JSON array, e.g.< br / > < code > [ "url1", { "item": "ImageItem1", "caption": "Camera" } ]< / code > < br / > Objects are in the < a class = "external text-color-blue" target = "_blank" href = "https://framework7.io/docs/photo-browser.html#photos-array" > photos array format< / a > with an additional < code > item< / code > property to specify an item to view.
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionPhotoBrowserConfig" label = "Photo browser configuration" >
< PropDescription >
Configuration for the photo browser.< br / > Edit in YAML or provide a JSON object, e.g.< br / > < code > { "exposition": false, "type": "popup", "theme": "dark" }< / code > < br / > See < a class = "external text-color-blue" target = "_blank" href = "https://framework7.io/docs/photo-browser.html#photo-browser-parameters" > photo browser parameters< / a > (not all are supported).
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionGroupPopupItem" label = "Group Popup Item" context = "item" >
< PropDescription >
2022-10-09 00:40:07 +00:00
Group Item whose members to show in a popup
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionAnalyzerItems" label = "Item(s) to Analyze" context = "item" >
< PropDescription >
2022-10-09 00:40:07 +00:00
Start analyzing with the specified (set of) Item(s)
2021-03-01 14:42:17 +00:00
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionAnalyzerChartType" label = "Chart Type" >
< PropDescription >
The initial analyzing period - dynamic or a predefined fixed period: day, week, month or year
< / PropDescription >
< PropOptions >
< PropOption value = "(empty)" label = "Dynamic" / >
< PropOption value = "day" label = "Day" / >
< PropOption value = "isoWeek" label = "Week (starting on Mondays)" / >
< PropOption value = "month" label = "Month" / >
< PropOption value = "year" label = "Year" / >
< / PropOptions >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionAnalyzerCoordSystem" label = "Initial Coordinate System" >
< PropDescription >
The initial coordinate system of the analyzer - time, aggregate or calendar (only time is supported for dynamic periods)
< / PropDescription >
< PropOptions >
< PropOption value = "time" label = "Time" / >
< PropOption value = "aggregate" label = "Aggregate" / >
< PropOption value = "calendar" label = "Calendar" / >
< / PropOptions >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionFeedback" label = "Action feedback" >
< PropDescription >
Shows a toast popup when the action has been executed. Can either be a text to show or a JSON object including some of the < a class = "external text-color-blue" target = "_blank" href = "https://framework7.io/docs/toast.html#toast-parameters" > supported parameters< / a >
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionVariable" label = "Variable" >
< PropDescription >
The variable name to set
< / PropDescription >
< / PropBlock >
< PropBlock type = "TEXT" name = "actionVariableValue" label = "Variable Value" >
< PropDescription >
The value to set the variable to
< / PropDescription >
< / PropBlock >
2022-12-11 11:35:11 +00:00
< PropBlock type = "TEXT" name = "actionVariableKey" label = "Variable Key" >
< PropDescription >
Consider the variable value is an object and set the corresponding deep property within that object using a key syntax. Examples: < code > user.name< / code > , < code > user[0].address[1].street< / code > , < code > [0]< / code > , < code > [0].label< / code > . The inner property and its parent hierarchy will be created if missing.
< / PropDescription >
< / PropBlock >
2021-03-01 14:42:17 +00:00
< / PropGroup >
< / div >
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
<!-- GENERATED /props -->
2021-02-05 14:16:35 +00:00
2023-03-08 15:51:37 +00:00
## Examples
note that you must not have semicolons at the end of the css style
### iconStyle:
```yaml
iconStyle:
padding: 10px
border-radius: 4px
border: 5px solid #f00
```
### tooltipStyle:
```yaml
tooltipStyle:
textShadow: 0 0 15px red
fontSize: 40px
color: yellow
```
2021-03-01 14:42:17 +00:00
<!-- If applicable describe how properties are forwarded to a underlying component from Framework7, ECharts, etc.:
### Inherited Properties
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
-->
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
<!-- If applicable describe the slots recognized by the component and what they represent:
### Slots
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
#### `default`
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
The contents of the oh-plan-marker.
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
-->
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
<!-- Add as many examples as desired - put the YAML in a details container when it becomes too long (~150/200+ lines):
## Examples
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
### Example 1
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00

2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
```yaml
component: oh-plan-marker
config:
prop1: value1
prop2: value2
```
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
### Example 2
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00

2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
::: details YAML
```yaml
component: oh-plan-marker
config:
prop1: value1
prop2: value2
slots
```
:::
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
-->
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
<!-- Try to clean up URLs to the forum (https://community.openhab.org/t/<threadID>[/<postID>] should suffice)
## Community Resources
2021-02-05 14:16:35 +00:00
2021-03-01 14:42:17 +00:00
- [Community Post 1 ](https://community.openhab.org/t/12345 )
- [Community Post 2 ](https://community.openhab.org/t/23456 )
-->