#What am I doing wrong
1 messages · Page 1 of 1 (latest)
JSON dump from the printer. Trying to grab print_stats "info": {"total_layer": 26, "current_layer": 0}}
{"result": {"eventtime": 1495044.184335206, "status": {"heater_bed": {"temperature": 40.3, "target": 0.0, "power": 0.0}, "extruder": {"temperature": 24.87, "target": 0.0, "power": 0.0, "can_extrude": false, "pressure_advance": 0.0, "smooth_time": 0.04}, "print_stats": {"filename": "SpringNutxyz002.gcode", "total_duration": 83.25961575005203, "print_duration": 0.0, "filament_used": 0.0, "state": "cancelled", "message": "", "info": {"total_layer": 26, "current_layer": 0}}, "toolhead": {"homed_axes": "", "axis_minimum": [0.0, 0.0, -1.5, 0.0], "axis_maximum": [117.5, 118.0, 120.0, 0.0], "print_time": 1776.681568, "stalls": 0, "estimated_print_time": 2041.05257603125, "extruder": "extruder", "position": [0.0, 0.0, 0.0, 0.0], "max_velocity": 200.0, "max_accel": 2000.0, "max_accel_to_decel": 1000.0, "square_corner_velocity": 6.0}, "display_status": {"progress": 0.0, "message": null}, "virtual_sdcard": {"file_path": null, "progress": 0.0, "is_active": false, "file_position": 0.0, "file_size": 0.0}, "gcode_move": {"speed_factor": 1.0, "speed": 1500.0, "extrude_factor": 1.0, "absolute_coordinates": true, "absolute_extrude": true, "homing_origin": [0.0, 0.0, 0.0, 0.0], "position": [0.0, 0.0, 0.0, 0.0], "gcode_position": [0.0, 0.0, 0.0, 0.0]}, "filament_motion_sensor btt_smart_filament_sensor": {"filament_detected": true, "enabled": true}, "temperature_sensor Chamber_Temp": {"temperature": 25.67, "measured_min_temp": 25.46, "measured_max_temp": 27.06}}}}
sensor:
- platform: rest
name: printer_3d_sensor
unique_id: "IP3a0c25fa-297d-4c19-b03c-ddf04840682b"
resource: "http://IP:7125/printer/objects/query?heater_bed&extruder&print_stats&toolhead&display_status&virtual_sdcard&gcode_move&filament_motion_sensor%20btt_smart_> json_attributes_path: "$.result.status"
json_attributes:
- heater_bed
- extruder
- print_stats
- toolhead
- display_status
- virtual_sdcard
- gcode_move
- "filament_motion_sensor btt_smart_filament_sensor"
- "temperature_sensor Chamber_Temp"
value_template: "OK"
force_update: true
scan_interval: 1
template:
- sensor:
- name: 3d_printer_current_layer_actual
unique_id: "IP167e5dec-719c-42d3-9560-4f177573f742"
state: '{{ states.sensor.printer_3d_sensor.attributes["print_stats"]["info"]["current_layer"] | float(0) }}% / {{ states.sensor.printer_3d_sensor.attributes["print_stats"]["info"]["total_layer"] | float(0) }}%'
availability: >
{% set items = ['sensor.printer_3d_sensor'] %}
{{ expand(items)|rejectattr('state','in',['unknown','unavailable'])
|list|count == items|count }}
icon: mdi:counter
attributes:
friendly_name: "Actual Layer"
I don't know how to grab those json values should show up like 0 / 25
Logger: homeassistant.components.rest.sensor
Source: components/rest/sensor.py:170
Integration: RESTful (documentation, issues)
First occurred: 11:31:12 PM (4 occurrences)
Last logged: 11:31:22 PM
JSON result was not a dictionary or list with 0th element a dictionary