# Example Home Assistant configuration file for a Voron V0. # Credit to GitHub user @Kruppes # sensor: - platform: rest name: Voron_V0_sensor resource: "http://192.168.178.56:7125/printer/objects/query?heater_bed&extruder&print_stats&toolhead&display_status&virtual_sdcard" json_attributes_path: "$.result.status" json_attributes: - heater_bed - extruder - print_stats - toolhead - display_status - virtual_sdcard value_template: 'OK' - platform: template sensors: vzero_hotend_target: friendly_name: 'V0.126 Hotend Target' device_class: temperature unit_of_measurement: '°C' value_template: >- {{ states.sensor.voron_v0_sensor.attributes['extruder']['target'] | float | round(1) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_hotend_actual: device_class: temperature unit_of_measurement: '°C' value_template: >- {{ states.sensor.voron_v0_sensor.attributes['extruder']['temperature'] | float | round(1) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_bed_target: device_class: temperature unit_of_measurement: '°C' value_template: >- {{ states.sensor.voron_v0_sensor.attributes['heater_bed']['target'] | float | round(1) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_bed_actual: device_class: temperature unit_of_measurement: '°C' value_template: >- {{ states.sensor.voron_v0_sensor.attributes['heater_bed']['temperature'] | float | round(1) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_state: icon_template: mdi:printer-3d value_template: >- {{ states.sensor.voron_v0_sensor.attributes['print_stats']['state'] if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_current_print: value_template: >- {{ states.sensor.voron_v0_sensor.attributes['print_stats']['filename'] if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_current_progress: unit_of_measurement: '%' icon_template: mdi:file-percent value_template: >- {{ (states.sensor.voron_v0_sensor.attributes['display_status']['progress']) * 100 | round(1) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_print_time: icon_template: mdi:clock-start value_template: >- {{ states.sensor.voron_v0_sensor.attributes['print_stats']['print_duration'] | timestamp_custom("%H:%M:%S", 0) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_time_remaining: icon_template: mdi:clock-end value_template: >- {{ (((states.sensor.voron_v0_sensor.attributes['print_stats']['print_duration'] / states.sensor.voron_v0_sensor.attributes['display_status']['progress'] - states.sensor.voron_v0_sensor.attributes['print_stats']['print_duration']) if states.sensor.voron_v0_sensor.attributes['display_status']['progress'] > 0 else 0)) | timestamp_custom("%H:%M:%S", 0) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_eta: icon_template: mdi:clock-outline value_template: >- {{ (as_timestamp(now()) + 2 * 60 * 60 + ((states.sensor.voron_v0_sensor.attributes['print_stats']['print_duration'] / states.sensor.voron_v0_sensor.attributes['display_status']['progress'] - states.sensor.voron_v0_sensor.attributes['print_stats']['print_duration']) if states.sensor.voron_v0_sensor.attributes['display_status']['progress'] > 0 else 0)) | timestamp_custom("%H:%M:%S", 0) if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_nozzletemp: icon_template: mdi:thermometer value_template: >- {{ [(states.sensor.voron_v0_sensor.attributes['extruder']['temperature'] | float | round(1) | string), " / ", (states.sensor.voron_v0_sensor.attributes['extruder']['target'] | float | round(1) | string)] | join if states('sensor.voron_v0_sensor') != 'unknown' else None }} vzero_bedtemp: icon_template: mdi:thermometer value_template: >- {{ [(states.sensor.voron_v0_sensor.attributes['heater_bed']['temperature'] | float | round(1) | string), " / ", (states.sensor.voron_v0_sensor.attributes['heater_bed']['target'] | float | round(1) | string)] | join if states('sensor.voron_v0_sensor') != 'unknown' else None }}