Floorplan disapear from custom panel after update to v0.115

After updating home assistant v0.115 the floorplan custom panel dissapeared. I guess, that with this new release it is needed an extra parameter in the configuration.

I tried to add the modul_url:

panel_custom:
  - name: floorplan
    sidebar_title: Floorplan
    sidebar_icon: mdi:floor-plan
    url_path: floorplan
    module_url: /local/custom_ui/floorplan/ha-floorplan.html
    config: !include floorplan.yaml

and now appears the floorplan icon but when I click on it appears the message: Unable to load custom panel from htpp://my_host:8123/local/custom_ui/floorplan/ha-floorplan.html

Do you know the fix for that?

Same problem here…

See also this tread
(related issue I guess)

Same problem here…

The fix is to stick with 0.114. Some time back, breaking changes had been announced. See here.
I set my container images to stick with the 0.114 tag since I use HA only for the panel.

this is by no means a solution but it is a method of falling behind

and now how can it be done? there will be an update to fix it or tap to switch the custom Lovelace card?

To ease your fear of missing out, you will have to still ditch floorplan and move to Picture Elements. I am myself looking into this, so I am not sure if I can replicate my current floorplan dashboard with this.
Have a look at this.

Edit: And this

1 Like

I have successfully migrated to lovelace-floorplan, took me a day, mainly to understand what need to be changed.

Actually it not that difficult. From floorplan.yaml to lovelace card configuration:

  • Make sure the path of “image” and “stylesheet”
  • change from “groups” to “rules”
  • action: move domain to service

Here is mine:

type: 'custom:floorplan-card'
title: Wit Floorplan
config:
  image: /local/floorplan/house-rangsit/floorplan.svg?v=1.1.14
  stylesheet: /local/floorplan/house-rangsit/floorplan.css?v=1.1.14
  log_level: error
  date_format: 'MMM DD, YYYY'
  last_motion_entity: sensor.template_last_motion
  last_motion_class: last-motion
  rules:
    - name: BedRoomLights
      entities:
        - light.bedroom
        - light.entertainment_room
        - light.entertainment_front
        - light.n_nkhuuhlang
        - light.n_nkhuuhnaa
        - light.table
      states:
        - state: 'on'
          class: light-on
        - state: 'off'
          class: light-off
      action:
        service: homeassistant.toggle
    - name: Lights
      entities:
        - light.br_bl
        - light.br_br
        - light.br_fl
        - light.br_fr
        - light.ent_fl
        - light.ent_fr
        - light.ent_bl
        - light.ent_br
      states:
        - state: 'on'
          class: light-on
        - state: 'off'
          class: light-off
    - name: Fan
      entities:
        - switch.bedroom_fan
        - switch.ceiling_ventilator
        - switch.fan2
        - switch.power_cord_1
      states:
        - state: 'on'
          class: fan-on
        - state: 'off'
          class: fan-off
      action:
        service: homeassistant.toggle
    - name: Switches
      entities:
        - switch.powersocket01
        - switch.lamp_1
        - remote.bedroom_harmony
      states:
        - state: 'on'
          class: switch-on
        - state: 'off'
          class: switch-off
      action:
        service: homeassistant.toggle
    - name: TextSensors
      entities:
        - sensor.time
        - sensor.bedroom_harmony
        - sensor.tv_samsung_entroom_media_title
        - sensor.tv_samsung_livingroom_media_title
      text_template: '${entity.state ? entity.state : ""}'
    - name: DateMonthDayYear
      entities:
        - sensor.date_long
    - name: Presence BLE
      entities:
        - person.wit
        - person.laddawan
    - name: Temperature
      entities:
        - sensor.bedroom_temperature
        - sensor.linuxturbine_temperature
      text_template: '${entity.state ? Math.round(entity.state) : "unknown"}'
    - name: Temperature1
      entities:
        - sensor.outside_weather_temperature
        - sensor.ceiling_temperature
        - sensor.under_roof_temperature
        - sensor.out_east
        - sensor.out_west
        - sensor.powersocket01_temperature
        - sensor.lamp_1_temperature
        - sensor.temperature_02
        - sensor.temperature_05
        - sensor.temperature_06
        - sensor.temperature_07
        - sensor.entroom_sensibo_temperature
        - sensor.xiaomi_airpurifier_2s_01_temp
      text_template: '${entity.state ? Math.round(entity.state *10 ) /10 + "°": undefined}'
    - name: Humidity
      entities:
        - sensor.bedroom_humidity
        - sensor.linuxturbine_humidity
        - sensor.ceiling_humidity
        - sensor.under_roof_humidity
      text_template: '${entity.state ? Math.round(entity.state) : "unknown"}'
    - name: Humidity_unit
      entities:
        - sensor.powersocket01_humidity
        - sensor.lamp_1_humidity
        - sensor.humidity_02
        - sensor.humidity_05
        - sensor.humidity_06
        - sensor.humidity_07
        - sensor.outside_weather_humidity
        - sensor.xiaomi_airpurifier_2s_01_humidity
      text_template: '${entity.state ? entity.state : "unknown"}%'
    - name: Humidity_absolute
      entities:
        - sensor.bedroom_abshumidity
        - sensor.aqara_abshumidity_07
        - sensor.aqara_abshumidity_02
        - sensor.aqara_abshumidity_05
        - sensor.aqara_abshumidity_06
        - sensor.powersocket01_abshumidity
        - sensor.ceiling_abshumidity
        - sensor.aqara_abshumidity_03
      text_template: '${entity.state ? entity.state : "unknown"}g/mÂł'
    - name: pm25
      entities:
        - sensor.airvisual_pro_bedroom_pm2_5
        - sensor.xiaomi_airpurifier_2s_01_air_quality_pm25
        - sensor.xiaomi_airpurifier_2s_02_air_quality_pm25
      text_template: 'pm2.5   ${entity.state ? (entity.state) : "unknown"} µg/m³'
    - name: co2
      entities:
        - sensor.airvisual_pro_bedroom_co2
      text_template: 'COâ‚‚   ${entity.state ? (entity.state) : "unknown"} ppm'
    - name: wind_unit
      entities:
        - sensor.outside_weather_wind_speed
      text_template: '${entity.state ? (entity.state) + " m/s" : undefined}'
    - name: wind_unit
      entities:
        - sensor.outside_weather_wind_speed
      text_template: '${entity.state ? (entity.state) + " m/s" : undefined}'
    - name: Illuminance
      entities:
        - sensor.bedroom_illuminance
        - sensor.linuxturbine_light
      text_template: '${entity.state ? Math.round(entity.state * 100) / 100 : "unknown"}'
    - name: Illuminancelux
      entities:
        - sensor.powersocket01_illuminance
        - sensor.lamp_1_illuminance
      text_template: '${entity.state ? Math.round(entity.state) + " lux" : undefined}'
    - name: Pressure
      entities:
        - sensor.bedroom_pressure
      text_template: '${entity.state ? Math.round(entity.state * 100) / 100 : undefined}'
    - name: Media Players
      entities:
        - media_player.tv_samsung_entroom
        - media_player.tv_samsung_livingroom
      states:
        - state: 'off'
          class: av-off
        - state: idle
          class: av-off
        - state: 'on'
          class: av-playing
        - state: paused
          class: av-paused
        - state: playing
          class: av-playing
      action:
        service: homeassistant.media_player.toggle
        service_data:
          entity_id: entity
    - name: Entroom TV Netflix
      entities:
        - script.entroom_tv_app_netflix
      action:
        service: script.entroom_tv_app_netflix
    - name: Entroom TV Youtube
      entities:
        - script.entroom_tv_app_youtube
      action:
        service: script.entroom_tv_app_youtube
    - name: Entroom TV Thairath
      entities:
        - script.entroom_tv_app_thairath
      action:
        service: script.entroom_tv_app_thairath
    - name: Entroom TV 3HD
      entities:
        - script.entroom_tv_app_3hd
      action:
        domain: script
        service: entroom_tv_app_3hd
    - name: AV Reciever
      entities:
        - media_player.av_rx_a1050_bedroom
        - media_player.av_rx_a2060_entroom
      text_template: >-
        ${ entity.state == "playing" ?  entity.attributes.media_title + " - " +
        entity.attributes.media_artist : entity.state }
    - name: BedroomActivities
      entities:
        - script.bedroomactivity
      action:
        service: script.bedroomactivity
      text_template: Bedroom
    - name: GotosleepActivities
      entities:
        - script.gotosleep
      action:
        domain: script
        service: gotosleep
      text_template: Go to Sleep
    - name: WatchipadActivities
      entities:
        - script.watchipad
      action:
        domain: script
        service: watchipad
      text_template: Watch iPAD
    - name: WatchmovieActivities
      entities:
        - script.watchmovie
      action:
        domain: script
        service: watchmovie
      text_template: Watch Movie
    - name: WatchtvActivities
      entities:
        - script.watchtv
      action:
        domain: script
        service: watchtv
      text_template: Watch TV
    - name: Webcam
      entities:
        - camera.webcam_bedroom
        - camera.netatmo_netatmocam
      states:
        - state: idle
          class: camera-idle
    - name: Presence
      entities:
        - device_tracker.beacon_witcar
        - device_tracker.beacon_lekcar
      class_template: ' var presence  = entity.state; if (presence == "not_home") return "presence-away"; else return "presence-exist"; '
    - name: wind
      entities:
        - sensor.linuxturbine_speed
      text_template: '${entity.state ? "Wind " + Math.round(entity.state) : "unknown"}'
    - name: rotor
      entities:
        - sensor.rotor_blade
      class_template: ' var speed = entity.state; if (speed < 3) return "speed-verylow"; if (speed < 5) return "speed-low"; if (speed < 14) return "speed-middle"; if (speed < 20) return "speed-high"; else return "speed-veryhigh"; '
    - name: power
      entities:
        - sensor.linuxturbine_power
      text_template: '${entity.state ? "PWD " + Math.round(entity.state) : "unknown"}'
    - name: depreciation
      entities:
        - sensor.linuxturbine_depreciation
      text_template: >-
        ${entity.state ? "Depreciation " +  Math.round(entity.state * 100) /
        100  : "unknown"}
    - name: LED
      entities:
        - sensor.linuxturbine_status
      states:
        - state: GREEN
          class: led-green
        - state: YELLOW
          class: led-yellow
        - state: RED
          class: led-red
        - state: 'OFF'
          class: led-off

3 Likes

Great, it works!!

Thanks a lot!

Thanks for share it with us!

Hi all,

after converting towards Lovelace-floorplan the text labels are not updating themself with a value of the entity any longer. but they are clickable to see the more info dialogue.
Anybody has the same issue or fixed it already?

Best
Dominik

Hi, I’m working in order to fix the custom panel. I can share with you the actual state with HA 0.116

In next days I hope share with community the result

2 Likes

this is my first DRAFT:

1 Like

Fantastic, I look forward to the result

Waiting for that. Thanks!

Hi,
I fix all issue and now you can see also on mobile App your floor-plan!

1 Like

thank you as I successfully implemented your code and my wallpanel is working once again.

1 Like

Thank you for fixing floorplan custom panel. The only issue happens when I see the floorplan in my screen computer in full screen. I have to scroll down because it become bigger than the screen. See the attached snapshot.
Could it be possibe to avoid that the image doesn’t grow more than the screen? It worked fine before updating home assistant to v0.115.

I see, which browser are you using?