From 35643f23d81ea5f0d2d4f741a6cfa81acbdf12ce Mon Sep 17 00:00:00 2001 From: Home Assistant Version Control Date: Sat, 22 Aug 2026 00:48:37 +0000 Subject: [PATCH] .storage/lovelace.ender5_printer, zigbee2mqtt/state.json --- .storage/lovelace.ender5_printer | 389 +++++++++++++++++++++++++++++++ zigbee2mqtt/state.json | 40 ++-- 2 files changed, 409 insertions(+), 20 deletions(-) create mode 100644 .storage/lovelace.ender5_printer diff --git a/.storage/lovelace.ender5_printer b/.storage/lovelace.ender5_printer new file mode 100644 index 00000000..1c320a4d --- /dev/null +++ b/.storage/lovelace.ender5_printer @@ -0,0 +1,389 @@ +{ + "version": 1, + "minor_version": 1, + "key": "lovelace.ender5_printer", + "data": { + "config": { + "views": [ + { + "title": "Ender 5", + "path": "printer", + "type": "sections", + "max_columns": 3, + "badges": [ + { + "type": "entity", + "entity": "sensor.octoprint_print_status" + } + ], + "sections": [ + { + "type": "grid", + "cards": [ + { + "type": "heading", + "heading": "Controls", + "heading_style": "title" + }, + { + "type": "horizontal-stack", + "cards": [ + { + "type": "button", + "entity": "switch.octoprint_pause_print", + "name": "Pause", + "icon": "mdi:pause", + "tap_action": { + "action": "toggle" + }, + "visibility": [ + { + "condition": "state", + "entity": "binary_sensor.octoprint_paused", + "state": "off" + }, + { + "condition": "state", + "entity": "binary_sensor.octoprint_printing", + "state": "on" + } + ] + }, + { + "type": "button", + "entity": "switch.octoprint_pause_print", + "name": "Resume", + "icon": "mdi:play", + "tap_action": { + "action": "toggle" + }, + "visibility": [ + { + "condition": "state", + "entity": "binary_sensor.octoprint_paused", + "state": "on" + } + ] + }, + { + "type": "button", + "entity": "button.octoprint_cancel_print", + "name": "Cancel", + "icon": "mdi:stop-circle-outline", + "tap_action": { + "action": "perform-action", + "perform_action": "button.press", + "target": { + "entity_id": "button.octoprint_cancel_print" + }, + "confirmation": { + "text": "Cancel the current print?" + } + }, + "visibility": [ + { + "condition": "state", + "entity": "binary_sensor.octoprint_printing", + "state": "on" + } + ] + }, + { + "type": "vertical-stack", + "cards": [ + { + "type": "button", + "entity": "switch.octoprint_connect_to_printer", + "name": "Connect", + "icon": "mdi:lan-connect", + "show_state": false, + "tap_action": { + "action": "toggle" + }, + "visibility": [ + { + "condition": "state", + "entity": "binary_sensor.octoprint_connected", + "state": "off" + } + ] + }, + { + "type": "button", + "entity": "switch.octoprint_connect_to_printer", + "name": "Disconnect", + "icon": "mdi:lan-disconnect", + "show_state": false, + "tap_action": { + "action": "toggle" + }, + "visibility": [ + { + "condition": "state", + "entity": "binary_sensor.octoprint_connected", + "state": "on" + } + ] + } + ] + } + ] + }, + { + "type": "button", + "entity": "button.octoprint_emergency_stop", + "name": "EMERGENCY STOP", + "icon": "mdi:alert-octagon", + "tap_action": { + "action": "perform-action", + "perform_action": "button.press", + "target": { + "entity_id": "button.octoprint_emergency_stop" + }, + "confirmation": { + "text": "Emergency stop the printer now?" + } + } + }, + { + "type": "grid", + "columns": 2, + "square": false, + "cards": [ + { + "type": "custom:button-card", + "entity": "sensor.octoprint_print_status", + "name": "Nozzle", + "icon": "mdi:thermometer-lines", + "label": "[[[ return states['sensor.octoprint_tool_0_temperature'].state + '° / ' + states['sensor.octoprint_tool_0_target'].state + '°'; ]]]", + "color": "#E53935", + "styles": { + "card": [ + { + "height": "74px", + "padding": "6px 10px" + } + ], + "name": [ + { + "font-size": "12px", + "justify-self": "start", + "opacity": "0.8" + } + ], + "icon": [ + { + "color": "#E53935", + "width": "26px" + } + ], + "label": [ + { + "font-size": "17px", + "font-weight": "600", + "justify-self": "start", + "color": "#E53935" + } + ] + } + }, + { + "type": "custom:button-card", + "entity": "sensor.octoprint_print_status", + "name": "Bed", + "icon": "mdi:radiator", + "label": "[[[ return states['sensor.octoprint_bed_temperature'].state + '° / ' + states['sensor.octoprint_bed_target'].state + '°'; ]]]", + "color": "#FB8C00", + "styles": { + "card": [ + { + "height": "74px", + "padding": "6px 10px" + } + ], + "name": [ + { + "font-size": "12px", + "justify-self": "start", + "opacity": "0.8" + } + ], + "icon": [ + { + "color": "#FB8C00", + "width": "26px" + } + ], + "label": [ + { + "font-size": "17px", + "font-weight": "600", + "justify-self": "start", + "color": "#FB8C00" + } + ] + } + }, + { + "type": "custom:button-card", + "entity": "sensor.octoprint_print_status", + "name": "Time left", + "icon": "mdi:timer-outline", + "label": "[[[ const t = Number(states['sensor.octoprint_print_time_left'].state); return isNaN(t) ? '--' : new Date(t * 1000).toISOString().substr(11, 8); ]]]", + "color": "#43A047", + "styles": { + "card": [ + { + "height": "74px", + "padding": "6px 10px" + } + ], + "name": [ + { + "font-size": "12px", + "justify-self": "start", + "opacity": "0.8" + } + ], + "icon": [ + { + "color": "#43A047", + "width": "26px" + } + ], + "label": [ + { + "font-size": "17px", + "font-weight": "600", + "justify-self": "start", + "color": "#43A047" + } + ] + } + }, + { + "type": "custom:button-card", + "entity": "sensor.octoprint_print_status", + "name": "Height", + "icon": "mdi:arrow-up-bold", + "label": "[[[ return states['sensor.octoprint_current_z'].state + ' mm'; ]]]", + "color": "#1E88E5", + "styles": { + "card": [ + { + "height": "74px", + "padding": "6px 10px" + } + ], + "name": [ + { + "font-size": "12px", + "justify-self": "start", + "opacity": "0.8" + } + ], + "icon": [ + { + "color": "#1E88E5", + "width": "26px" + } + ], + "label": [ + { + "font-size": "17px", + "font-weight": "600", + "justify-self": "start", + "color": "#1E88E5" + } + ] + } + } + ] + }, + { + "type": "gauge", + "entity": "sensor.octoprint_print_progress", + "unit": "%", + "min": 0, + "max": 100, + "needle": false, + "severity": { + "green": 65, + "yellow": 25, + "red": 0 + } + }, + { + "type": "markdown", + "content": "{% set f = states('sensor.octoprint_print_file') %}\n**{{ f.replace('.gcode', '') if f not in ['unknown', 'unavailable'] else 'No file loaded' }}**\n\n{{ states('sensor.octoprint_print_status') }}{% set t = states('sensor.octoprint_approximate_completion_time') %}{% if t not in ['unknown', 'unavailable'] %} · ETA {{ (t | as_datetime | as_local).strftime('%H:%M') }}{% endif %}" + } + ] + }, + { + "type": "grid", + "cards": [ + { + "type": "heading", + "heading": "Monitor", + "heading_style": "title" + }, + { + "type": "custom:webrtc-camera", + "entity": "camera.endercamera_duckdns_org", + "mode": "mse", + "url": "octoprint", + "muted": true + }, + { + "type": "custom:mushroom-light-card", + "entity": "light.3d_printer_lights", + "name": "Printer lights", + "show_brightness_control": true, + "collapsible_controls": true + }, + { + "type": "custom:apexcharts-card", + "graph_span": "1h", + "update_interval": 15, + "header": { + "title": "Temperatures (last hour)", + "show": true + }, + "series": [ + { + "entity": "sensor.octoprint_tool_0_temperature", + "name": "Nozzle", + "type": "line", + "stroke_width": 2, + "color": "#E53935" + }, + { + "entity": "sensor.octoprint_bed_temperature", + "name": "Bed", + "type": "line", + "stroke_width": 2, + "color": "#FB8C00" + } + ], + "apex_config": { + "chart": { + "height": 220 + }, + "yaxis": { + "min": 0, + "max": 280 + } + } + }, + { + "type": "markdown", + "content": "**Today**\n\nPrints: {{ states('sensor.octoprint_printer_prints_today') }} · Time: {{ states('sensor.octoprint_printer_print_time_today') }} h\n\nFilament: {{ (states('sensor.octoprint_filament_daily') | float(0) / 10) | round(1) }} m · Serial health: {{ (states('sensor.octoprint_serial_health_ratio') | float(0) * 100) | round(0) }}%" + } + ] + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/zigbee2mqtt/state.json b/zigbee2mqtt/state.json index d306b65a..61cdf5d3 100644 --- a/zigbee2mqtt/state.json +++ b/zigbee2mqtt/state.json @@ -29,7 +29,7 @@ "countdown_to_turn_on": 0, "power": 178, "current": 1.91, - "energy": 31.81, + "energy": 31.87, "power_factor": 0.98, "update": { "state": "idle", @@ -45,10 +45,10 @@ "state": "ON", "led_brightness": 100, "countdown_to_turn_off": 0, - "voltage": 121.7, + "voltage": 121.9, "countdown_to_turn_on": 0, - "energy": 63.2, - "power_factor": 0.2, + "energy": 63.21, + "power_factor": 0.3, "ac_frequency": 60, "update": { "state": "idle", @@ -74,13 +74,13 @@ "led_brightness": 100, "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, - "voltage": 120.5, + "voltage": 121.2, "state": "ON", "ac_frequency": 60, "energy": 127.95, - "power": 96.9, - "current": 0.92, - "power_factor": 0.94, + "power": 0.8, + "current": 0.05, + "power_factor": 0.35, "update": { "state": "idle", "installed_version": 268513381, @@ -95,13 +95,13 @@ "led_brightness": 100, "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, - "voltage": 120.6, - "energy": 59.84, + "voltage": 120.7, + "energy": 59.85, "state": "ON", - "power": 64.3, - "current": 0.7, + "power": 49.9, + "current": 0.56, "ac_frequency": 60, - "power_factor": 0.76, + "power_factor": 0.79, "update": { "state": "idle", "installed_version": 268513381, @@ -114,12 +114,12 @@ }, "0xffffb40e060895b3": { "state": "ON", - "voltage": 121.7, + "voltage": 122, "ac_frequency": 60, "energy": 8.78, "current": 0.01, "power": 0.1, - "power_factor": 0.11, + "power_factor": 0.2, "linkquality": 123, "update": { "state": "idle", @@ -143,7 +143,7 @@ "current": 0.04, "ac_frequency": 60, "power": 0.3, - "power_factor": 0.4, + "power_factor": 0.18, "update": { "state": "idle", "installed_version": 268513381, @@ -187,12 +187,12 @@ "latest_source": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/SmartPlug_Zigbee_PROD_OTA_V101_1.01.01.ota", "latest_release_notes": null }, - "power_factor": 0.06, + "power_factor": 0.33, "power": 0.1 }, "0xa4c1380d0679ffff": { "battery": 100, - "temperature": 28, + "temperature": 27.9, "temperature_units": "celsius", "temperature_calibration": 0, "update": { @@ -205,7 +205,7 @@ "linkquality": 76 }, "0xffffb40e0606234b": { - "contact": false, + "contact": true, "battery_low": false, "battery": 100, "linkquality": 91, @@ -245,7 +245,7 @@ }, "0xb40e060fffe717c5": { "battery": 100, - "occupancy": true, + "occupancy": false, "tamper": false, "battery_low": false, "linkquality": 72,