diff --git a/infrastructure/home-assistant/3d-printer-dashboard.yaml b/infrastructure/home-assistant/3d-printer-dashboard.yaml index 1142844..0d7c672 100644 --- a/infrastructure/home-assistant/3d-printer-dashboard.yaml +++ b/infrastructure/home-assistant/3d-printer-dashboard.yaml @@ -6,77 +6,6 @@ cards: - type: horizontal-stack cards: - # ───────────────────────────────────────── - # AD5M / ForgeX (Moonraker / Klipper) - # ⚠️ Connect Moonraker integration first: - # Settings → Devices → Add Integration → Moonraker - # Host: 10.0.10.30 Port: 7125 - # Then verify entity IDs below match what HA reports - # ───────────────────────────────────────── - - type: vertical-stack - cards: - - type: custom:mushroom-title-card - title: "🔧 AD5M (ForgeX)" - subtitle: Klipper / Moonraker - - - type: picture-glance - title: ForgeX Webcam - camera_image: camera.ad5m_camera - entities: [] - - - type: custom:mushroom-entity-card - entity: sensor.ad5m_print_status - name: Status - icon: mdi:printer-3d-nozzle - fill_container: false - - - type: custom:mushroom-template-card - primary: "{{ states('sensor.ad5m_filename') | default('Idle') }}" - secondary: > - Layer {{ states('sensor.ad5m_current_layer') }} / - {{ states('sensor.ad5m_total_layer') }} - icon: mdi:file-cog - entity: sensor.ad5m_filename - - - type: gauge - entity: sensor.ad5m_progress - name: Progress - min: 0 - max: 100 - severity: - green: 75 - yellow: 40 - red: 0 - - - type: glance - title: Temperatures - entities: - - entity: sensor.ad5m_nozzle_temperature - name: Nozzle - - entity: sensor.ad5m_nozzle_target_temperature - name: Nozzle Target - - entity: sensor.ad5m_bed_temperature - name: Bed - - entity: sensor.ad5m_bed_target_temperature - name: Bed Target - - - type: history-graph - title: Temp History (4hr) - hours_to_show: 4 - entities: - - entity: sensor.ad5m_nozzle_temperature - name: Nozzle - - entity: sensor.ad5m_bed_temperature - name: Bed - - - type: glance - title: Job Info - entities: - - entity: sensor.ad5m_print_duration - name: Duration - - entity: sensor.ad5m_eta - name: ETA - # ───────────────────────────────────────── # Bambu Lab A1 (fully integrated ✅) # ───────────────────────────────────────── @@ -186,3 +115,175 @@ cards: name: AMS Temp - entity: sensor.a1_03919d522604085_ams_1_humidity name: Humidity + + # ───────────────────────────────────────── + # Bambu Lab P2S (fully integrated ✅) + # ───────────────────────────────────────── + - type: vertical-stack + cards: + - type: custom:mushroom-title-card + title: "🐼 Bambu P2S" + subtitle: Bambu Lab Integration + + - type: picture-glance + title: P2S Webcam + camera_image: camera.p2s_22e8aj5b1800745_camera + entities: [] + + - type: custom:mushroom-entity-card + entity: sensor.p2s_22e8aj5b1800745_print_status + name: Status + icon: mdi:printer-3d-nozzle + + - type: custom:mushroom-template-card + primary: "{{ states('sensor.p2s_22e8aj5b1800745_task_name') | default('Idle') }}" + secondary: > + Layer {{ states('sensor.p2s_22e8aj5b1800745_current_layer') }} / + {{ states('sensor.p2s_22e8aj5b1800745_total_layer_count') }} + • {{ states('sensor.p2s_22e8aj5b1800745_current_stage') }} + icon: mdi:file-cog + entity: sensor.p2s_22e8aj5b1800745_task_name + + - type: gauge + entity: sensor.p2s_22e8aj5b1800745_print_progress + name: Progress + min: 0 + max: 100 + severity: + green: 75 + yellow: 40 + red: 0 + + - type: glance + title: Temperatures + entities: + - entity: sensor.p2s_22e8aj5b1800745_nozzle_temperature + name: Nozzle + - entity: sensor.p2s_22e8aj5b1800745_nozzle_target_temperature + name: Nozzle Target + - entity: sensor.p2s_22e8aj5b1800745_bed_temperature + name: Bed + - entity: sensor.p2s_22e8aj5b1800745_bed_target_temperature + name: Bed Target + - entity: sensor.p2s_22e8aj5b1800745_chamber_temperature + name: Chamber + + - type: history-graph + title: Temp History (4hr) + hours_to_show: 4 + entities: + - entity: sensor.p2s_22e8aj5b1800745_nozzle_temperature + name: Nozzle + - entity: sensor.p2s_22e8aj5b1800745_bed_temperature + name: Bed + - entity: sensor.p2s_22e8aj5b1800745_chamber_temperature + name: Chamber + + - type: glance + title: Job Info + entities: + - entity: sensor.p2s_22e8aj5b1800745_remaining_time + name: Remaining + - entity: sensor.p2s_22e8aj5b1800745_speed_profile + name: Speed + + - type: entities + title: Controls + entities: + - entity: light.p2s_22e8aj5b1800745_chamber_light + name: Chamber Light + - entity: binary_sensor.p2s_22e8aj5b1800745_door_open + name: Door + - type: button + entity: button.p2s_22e8aj5b1800745_pause_printing + name: Pause + icon: mdi:pause + action_name: Pause + - type: button + entity: button.p2s_22e8aj5b1800745_resume_printing + name: Resume + icon: mdi:play + action_name: Resume + - type: button + entity: button.p2s_22e8aj5b1800745_stop_printing + name: Stop + icon: mdi:stop + action_name: Stop + + - type: entities + title: External Spool + entities: + - entity: sensor.p2s_22e8aj5b1800745_active_tray + name: Active Filament + + # ───────────────────────────────────────── + # AD5M / ForgeX (Moonraker / Klipper) + # ⚠️ Connect Moonraker integration first: + # Settings → Devices → Add Integration → Moonraker + # Host: 10.0.10.30 Port: 7125 + # Then verify entity IDs below match what HA reports + # ───────────────────────────────────────── + - type: vertical-stack + cards: + - type: custom:mushroom-title-card + title: "🔧 AD5M (ForgeX)" + subtitle: Klipper / Moonraker + + - type: picture-glance + title: ForgeX Webcam + camera_image: camera.ad5m_tapo_c113 + entities: [] + + - type: custom:mushroom-entity-card + entity: sensor.ad5m_print_status + name: Status + icon: mdi:printer-3d-nozzle + fill_container: false + + - type: custom:mushroom-template-card + primary: "{{ states('sensor.ad5m_filename') | default('Idle') }}" + secondary: > + Layer {{ states('sensor.ad5m_current_layer') }} / + {{ states('sensor.ad5m_total_layer') }} + icon: mdi:file-cog + entity: sensor.ad5m_filename + + - type: gauge + entity: sensor.ad5m_progress + name: Progress + min: 0 + max: 100 + severity: + green: 75 + yellow: 40 + red: 0 + + - type: glance + title: Temperatures + entities: + - entity: sensor.ad5m_nozzle_temperature + name: Nozzle + - entity: sensor.ad5m_nozzle_target_temperature + name: Nozzle Target + - entity: sensor.ad5m_bed_temperature + name: Bed + - entity: sensor.ad5m_bed_target_temperature + name: Bed Target + + - type: history-graph + title: Temp History (4hr) + hours_to_show: 4 + entities: + - entity: sensor.ad5m_nozzle_temperature + name: Nozzle + - entity: sensor.ad5m_bed_temperature + name: Bed + + - type: glance + title: Job Info + entities: + - entity: sensor.ad5m_print_duration + name: Duration + - entity: sensor.ad5m_eta + name: ETA +