Yes, absolutely. I use it as my main dashboard! Thank you!
Good day Adizanni, Yes, I have the card on one of the tabs in HA, but do not use it as it does not load on my iPhone or any of my older wall tablets. On the computer it takes 3 minutes or longer to load. Its a pity since I put long hours making it work, but unusable.
I know, if the model is too heavy the card shows its limits. You need to strike a balance between the quality of the rendering and the performances. I use mine as the home page for my HA and it loads fast, but I reduced the model to the bare minimum and still I think it is nice and useful.
Yes… Allowing an option for the card to open a default floor when using a multi floor model. e.g. 3 floors in a model but want floor 2 to open as the default view.
Hi
I am trying to make a dashboard with a sidebar card to the left with a meny and the rest of the screen to the right i use floor-card.
This works nice on the desktop but on my tablet the floor card is more to the left and the sidebar hides a part of it.
Why ?
I have tried alot to make this work but it will not.
I am using Panel:True and i have tried many variants of combining CSS styles and Card-mod but it’s always the same. It will not work between different resolutions.
Maybe the sidebar card i use on GitHub - DBuit/sidebar-card do something.
Are there somebody who knows ?
Have you tried @media queries to pick up different screen sizes?
See this post for how to use. Also see CSS left, right or padding to possibly move your card.
One thing I have noticed with the card when setting a camera view is it does not look the same on different devices. You are better off creating a conditional card that is specific to each screen resolution.
Hello @adizanni,
I’m using it as a view to my HA installation. The rendering speed relays on the client used. A 20Mb GLB model is well handled by a Rpi4 with 4Mb and fairly fast rendered by a modern (less than 5 years old) client computed with an average GPU.
There is a library called DRACOloader that is used to compress and uncompress threejs models: three.js docs. It is possible that the Digital Twin could benefit from this library. Keep on this awesome card.
Thanks Andrew.
Yes it looks like i have to use @media queries.
I used this and changed height and margin-top in a card-mod.
It looks like this works.
I am pleased to hear
Hi
I can see somebody have used Browser mod for popup.
I could only do this with gesture and running a script with browser mod configuration.
This works great.
The problem is that browser mod popup shows on all screens.
I know that to get this work on active screen i have to use a fire-dom-event.
This i have not succided to configure with floor card and gesture.
Anybody who have an ide on how to do this ?
I do not know how to confine the browser mod popup to the active screen. It’s not really an issue for me, since I typically only have one screen open, but please let me know if you figure it out.
For what it’s worth, here’s the script for one of my popup cards.
alias: 3D Family Room
sequence:
- data:
card_mod:
style:
ha-dialog$: |
div {
background-color: transparent !important;
}
content:
type: custom:stack-in-card
mode: vertical
card_mod:
style:
.: |
ha-card {
--ha-card-background: #637f8a60;
--paper-item-icon-color: white;
backdrop-filter: blur(4px);
border-radius: 15px;
color: white;
}
cards:
- type: custom:room-card
title: Family Room
card_mod:
style:
.: |
ha-card {
color: white;
--primary-text-color: white;
}
templates:
- name: t1
template:
show_icon: true
state_color: true
styles:
color: white
tap_action:
action: toggle
- name: t2
template:
show_icon: true
state_color: true
styles:
color: white
tap_action:
action: more-info
info_entities:
- entity: switch.amplifier_switch
icon: mdi:surround-sound
show_icon: true
name: Amplifier
- entity: sensor.amplifier_power
entities:
- entity: switch.mini_plug_with_power_meter_2
name: Bookcase Light
icon: mdi:wall-sconce-flat
template: t1
- entity: switch.in_wall_paddle_switch_qfsw_700s_11
icon: mdi:server-network
name: Closet Light
template: t1
- entity: switch.desklight_switch
name: Desk Lamp
icon: mdi:wall-sconce-flat
template: t1
- entity: switch.fr_fan_light_x
name: Fan Light
icon: mdi:ceiling-fan-light
template: t1
- entity: switch.kauf_plug_12
name: Floor Lamp
template: t1
- entity: switch.shellyplugus_b48a0a1b633c_switch_0
name: Table Lamp
icon: mdi:lamp
template: t1
- entity: fan.fr_helper_fan
name: Fan
template: t2
- entity: switch.amplifier_switch
icon: mdi:audio-video
template: t1
- entity: remote.family_room_tv
icon: mdi:television-classic
name: TV
show_icon: true
tap_action:
action: call-service
service: script.3d_tv_fr
size: normal
action: browser_mod.popup
icon: mdi:lightbulb
mode: single
Yes this is something similar to what i have.
But it popup on all screens.
Yes i will tell you if i figure it out.
For now i have set a destination inside the script and the dashboard link is opened with ?BrowserID=Dashboard in the end ,this will be the name of the registered browser , in this way popup always shows on that screen.
But in this way if i want to show the popup on a other screen it will not work.
I think this will have a simple answer.
I have a light object that has been split into 52 separate objects:
KitchenCeilingLight_1
to KitchenCeilingLight_52
If I click on the light object, I could get any of these 52 objects. For my first attempt at setting this object up, I am linking to just 1 of these.
- entity: light.kitchen_ceiling_bulbs
type3d: light
object_id: KitchenCeilingLight_1
light:
lumens: "1500"
If I click KitchenCeilingLight_1
or indeed turn it on via the entity itself, the light on the plan does turn on.
I would like to have as little code as possible so do not want 51 copies of this.
I realise there is an object group. Can I add these to a single group and use the group name instead. eg
- object_group: KitchenCeilingLights
objects:
- object_id: KitchenCeilingLight_1
'
'
- object_id: KitchenCeilingLight_52
- entity: light.kitchen_ceiling_bulbs
type3d: light
object_id: KitchenCeilingLights
light:
lumens: "1500"
I ask the question because I tried it and it did not seem to even show any light in the plan when I turned on the light but did not have errors when loading
This should be bracketed with greater-than and less-than signs:
object_id: <KitchenCeilingLights>
Not sure if case matters, but perhaps keep everything lower case, e.g. kitchenceilinglights, as well.
Thanks that sorted it.
Hi to All
I have problem with display of text on the frame. I have few frames and on the last 2 frames I don’t see text. Entity is added to the frame correctly because after double click I see information about the entity. Can anybody help me?
after double click
my code behind:
type: custom:floor3d-card
path: /local/3D/
name: Home
objfile: home.obj
lock_camera: "no"
header: "yes"
click: "yes"
overlay: "no"
hideLevelsMenu: "no"
shadow: "yes"
extralightmode: "yes"
show_axes: "no"
sky: "no"
overlay_bgcolor: transparent
overlay_fgcolor: black
overlay_alignment: top-left
overlay_width: "33"
overlay_height: "20"
north:
x: 0
z: -1
camera_position:
x: -990.6527459533339
"y": 1700.3763626116745
z: -588.082873358446
camera_rotate:
x: -1.8646942157990536
"y": -0.5280001553799772
z: -2.1117682562799307
camera_target:
x: 33.73270710090323
"y": 19.297690487047873
z: -79.28298229623606
object_groups:
- object_group: RoundTable
objects:
- object_id: Round_table_1
- object_id: Round_table_2
- object_id: Round_table_3
- object_group: EntranceDoor
objects:
- object_id: Door_9
- object_id: Door_7
- object_id: Door_5
entities:
- entity: light.light_3
type3d: light
object_id: Ceiling_lamp_1_2
light:
shadow: "no"
- entity: light.light_3
object_id: Ceiling_lamp_2_2
type3d: light
light:
shadow: "no"
- entity: light.light_4
type3d: light
object_id: Ceiling_lamp_3_2
light:
lumens: "800"
shadow: "no"
- entity: light.light_5
object_id: Ceiling_lamp_4_2
type3d: light
light:
shadow: "no"
- entity: light.living_room_lamp
object_id: Pendant_lamp_2
type3d: light
light:
lumens: "900"
shadow: "yes"
vertical_alignment: bottom
- entity: light.book_lamp
action: more-info
type3d: light
object_id: Floor_uplight_2
light:
shadow: "no"
vertical_alignment: top
lumens: "800"
- entity: light.old_lamp
action: more-info
type3d: light
object_id: Lamp_8
light:
vertical_alignment: top
- entity: binary_sensor.door_zigbee_sensor_1_door
object_id: Door_1_5
type3d: door
door:
direction: inner
side: right
degrees: "65"
doortype: swing
- entity: binary_sensor.door_zigbee_sensor_2_door
object_id: Double_French_window_1_1
type3d: door
door:
doortype: slide
side: right
direction: inner
percentage: "90"
- entity: sensor.t_h_zigbee_sensor_2_temperature
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_7_3
- entity: sensor.t_h_zigbee_sensor_2_humidity
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_8_3
- entity: sensor.t_h_ir_sensor_temp
object_id: Frame_3_3
type3d: text
text:
textfgcolor: black
- entity: sensor.t_h_ir_sensor_hum
object_id: Frame_4_3
type3d: text
text:
textfgcolor: black
- entity: sensor.t_h_sensor_1_temp
object_id: Frame_1_3
type3d: text
text:
textfgcolor: black
action: more-info
- entity: sensor.t_h_sensor_1_hum
type3d: text
text:
textfgcolor: black
object_id: Frame_2_3
action: more-info
- entity: sensor.t_h_sensor_2_temperature
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_14_5
- entity: sensor.t_h_sensor_2_humidity
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_15_5
- entity: sensor.t_h_sensor_3_temperature
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_5_3
- entity: sensor.t_h_sensor_3_humidity
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_6_3
- entity: sensor.t_h_z_sensor_out_g_temp
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_9_3
- entity: sensor.t_h_z_sensor_out_g_hum
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_10_3
- entity: sensor.esp_pool_teplota_vody
action: more-info
type3d: text
text:
textfgcolor: black
object_id: Frame_13_5
- entity: camera.gate
action: more-info
type3d: camera
object_id: CCTV_gate_3
- entity: camera.garden
action: more-info
type3d: camera
object_id: CCTV_garden_3
- entity: camera.kitchen
action: more-info
type3d: camera
object_id: CCTV_indoor_1_2
zoom_areas: []
mtlfile: home.mtl
selectionMode: "no"
editModeNotifications: "yes"
backgroundColor: black
globalLightPower: "0.9"
Hey @Roberto555 , if the frame object in Sweethome3d is exactly the same as the one working, it may be reversed (outside in) and the visible part being against the wall; try to pivot it in the z axis 180 degrees and see if the text appears.
Hi @adizanni , I tried to add another frame, unfortunately situation is the same. On click I see additional info but text not.
from other side
I thought about storing of data. Maybe floor3d card store some temporary data to another invisible folder. Something goes wrong during storing of data and now it is stuck in some strange situation. I tried to uninstall floor 3d card, delete all my files, install back and store my data in another folder, but this proces didn’t help.
Did you clear cache and data from browser?
Hello @Roberto555, as suggested by @Chykan, clearing the cache is the best way to ensure that any change to models and materials will be refreshed, it is also possible to add a fake version to the model URL using a URL query parameter such as model: home.obj?ver=1 (changing the version number each time you change the model) it is also working with the material file (home.mtl).
Second, I see that you are not using the basic frame from SH3D, which is the one that I tested and always working. Also it is strange that the majority of object ID from the frame that you bind to the text entity have the “_3” id, whereas some of them have the “_5” id; usually for the same compound object in SH3D the sub objects have always the same id, try to use _3 in all the frame that you bind to text.
If nothing works, please send me a private message with your model attached either here or in GitHub and I will try to perform some tests.