[OH3] Main UI - main_widget - part 1.2 - The main_widget_Floor_Card

[:crayon: Add a primary screenshot or a logo here. The first image of the post will be promoted seen in the add-on list in the UI.]

[:crayon: Replace with your description.]

Screenshots

[:crayon: Upload other screenshots if necessary or remove the section.]

Changelog

Version 0.2

  • added RadiatorControl_Card
  • fixed missing Rollershutter label

Version 0.1

  • initial release

Resources

uid: main_widget_Floor_Card
tags: []
props:
  parameters:
    - description: A text prop
      label: Prop 1
      name: prop1
      required: false
      type: TEXT
    - context: item
      description: An item to control
      label: Item
      name: item
      required: false
      type: TEXT
  parameterGroups: []
component: f7-block
config:
  visible: '=!vars.objVar ? false : !(vars.objVar.selectSection=="SECTION2") || vars.objVar.room ? false : true'
  style:
    flex: 1 1 auto
    overflow: scroll
    margin-top: 1em
    margin-bottom: -1em
slots:
  default:
    - component: oh-repeater
      config:
        fetchMetadata: semantics,metadata,widgetOrder
        for: roomItem
        sourceType: itemsInGroup
        groupItem: =vars.objVar.floor
        filter: (loop.roomItem.metadata) && (loop.roomItem.metadata.semantics.value).includes("Room")
      slots:
        default:
          - component: f7-block
            config:
              flex-direction: row
              margin-left: 2.5rem
            slots:
              default:
                - component: Label
                  config:
                    text: =loop.roomItem.label
                    style:
                      font-size: 20px
                      font-weight: 600
                      margin-left: 35px
                      margin-top: 0px
                      line-height: 1.1
                - component: Label
                  config:
                    text: =loop.roomItem.name
                    style:
                      color: var(--f7-list-item-footer-text-color)
                      font-size: 18px
                      font-weight: 400
                      margin-left: 35px
                      margin-top: 0px
                      line-height: 1.2
          - component: oh-repeater
            config:
              fetchMetadata: semantics,metadata,listWidget
              fragment: true
              for: equipmentItem
              itemTags: Lightbulb
              sourceType: itemsWithTags
              filter: loop.equipmentItem.metadata.semantics.config.hasLocation == loop.roomItem.name
            slots:
              default:
                - component: widget:main_widget_Light_Card
                  config:
                    equipmentItem: =loop.equipmentItem.name
          - component: oh-repeater
            config:
              fetchMetadata: semantics,metadata,listWidget
              fragment: true
              for: radiatorItem
              itemTags: RadiatorControl
              sourceType: itemsWithTags
              filter: loop.radiatorItem.metadata.semantics.config.hasLocation == loop.roomItem.name
            slots:
              default:
                - component: widget:main_widget_HVAC
                  config:
                    Setpoint: =loop.radiatorItem.name
          - component: oh-repeater
            config:
              fetchMetadata: semantics,metadata,listWidget
              fragment: true
              for: shutterItem
              itemTags: Blinds
              sourceType: itemsWithTags
              filter: loop.shutterItem.metadata.semantics.config.hasLocation == loop.roomItem.name
            slots:
              default:
                - component: widget:main_widget_Rollershutter_Card
                  config:
                    RollerItem: =loop.shutterItem.name
                    Title: =loop.shutterItem.label
          - component: oh-repeater
            config:
              fetchMetadata: semantics,metadata,listWidget
              for: radiatorItem
              sourceType: itemsWithTags
              itemTags: RadiatorControl
              filter: loop.radiatorItem.metadata.semantics.config.hasLocation == loop.roomItem.name
            slots:
              default:
                - component: widget:main_widget_RadiatorControl_Card
                  config:
                    groupItem: =loop.radiatorItem.name
                    Title: =loop.radiatorItem.label