Sorry for the long post. I actually had this up and running a year or two ago but then had to dismantle my system. Finally got it back to where I had some time to dedicate to HA, including this great project, but I’ve got a number of issues I can’t track down/fix myself.
- sensor.rest980 not returning cleanMissionStatus
Source: helpers/template.py:546
First occurred: 1:57:26 AM (2 occurrences)
Last logged: 1:57:26 AM
Error while processing template: Template<template=({% if state_attr('sensor.rest980', 'cleanMissionStatus')['cycle'] == 'none' and state_attr('sensor.rest980', 'cleanMissionStatus')['notReady'] == 39 %} Pending {% elif state_attr('sensor.rest980', 'cleanMissionStatus')['notReady'] > 0 %} Not Ready {% else %} {% set mapper = { 'clean' : 'Clean', 'quick' : 'Clean', 'spot' : 'Spot', 'evac' : 'Empty', 'dock' : 'Dock', 'train' : 'Train', 'none' : 'Ready' } %} {% set state = state_attr('sensor.rest980', 'cleanMissionStatus')['cycle'] %} {{ mapper[state] if state in mapper else state }} {% endif %}) renders=2>
Error while processing template: Template<template=({% if state_attr('sensor.rest980', 'softwareVer') is defined %} {% set version = state_attr('sensor.rest980', 'softwareVer') %} {% if '+' in version %} {{ version.split('+')[1] }} {% else %} {{ version }} {% endif %} {% else %} n-a {% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 544, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2164, in _render_with_context
return template.render(**kwargs)
File "/usr/local/lib/python3.10/site-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.10/site-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 3, in top-level template code
jinja2.exceptions.UndefinedError: 'None' has no attribute 'notReady'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 665, in async_render_to_info
render_info._result = self.async_render(variables, strict=strict, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 546, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: UndefinedError: 'None' has no attribute 'notReady'
In Developer Tools I can see the following so not sure why this is showing up as an error:
- Scheduling errors
Source: components/automation/__init__.py:516
Integration: Automation (documentation, issues)
First occurred: 1:57:26 AM (4 occurrences)
Last logged: 10:00:00 AM
Error evaluating condition in 'Vacuum Log Position': In 'condition': In 'or' (item 1 of 2): In 'state': In 'state' condition: unknown entity sensor.vacuum In 'or' (item 2 of 2): In 'state': In 'state' condition: unknown entity sensor.vacuum
Error evaluating condition in 'Vacuum Cleaning Schedule 1': In 'condition': In 'and' (item 2 of 2): In 'state': In 'state' condition: unknown entity input_boolean.vacation
Error evaluating condition in 'Vacuum Cleaning Schedule 2': In 'condition': In 'and' (item 2 of 3): In 'state': In 'state' condition: unknown entity input_boolean.vacation
I’d already changed the vacuum.yaml
so that the value
under action
was for the rooms as I’d created them in the input boolean etc. Seems like it’s saying that sensor.vacuum
isn’t found, and yet:
- issue with populating or updating maps
Source: /usr/src/homeassistant/homeassistant/components/shell_command/__init__.py:117
Integration: Shell Command (documentation, issues)
First occurred: 3:46:14 PM (1 occurrences)
Last logged: 3:46:14 PM
Error running command: `curl -X GET -s -O /dev/null '{{ states("input_text.vacuum_map") }}?clear=true'`, return code: 3
NoneType: None
My understanding was that after a clean run, a latest.png
should be created in the vacuum
directory, which is what the image.php
references to populate the map on the picture card. I’ve done a couple of short clean runs about 40 minutes apart, and no png image is being created. Is this error why? Here’s the top of the image.php
with tokens etc. redacted:
$robot_log = 'http://192.168.1.105:3001/vacuum.log'; # Could also be HTTPS, or mop.log
$file_append = ''; # Allows differentiation of files for different floors or robots
$robot_type = 'roomba'; # Select between roomba and braava for different icons
$set_first_coordinate = 3; # Ability to skip initial coordinate(s) if incorrect data logged
$overlay_image = 'floor.png'; # Background Layer
$overlay_walls = false; # Allows overlaying of walls, used in fill mode to cover 'spray'
$walls_image = 'walls.png'; # Walls Image must contain transparent floor
$show_stuck_positions = true;
$line_thickness = 2; # Default 2, Set to ~60 for Fill Mode
$map_width = 1050; # Ensure overlay and wall images match this size
$map_height = 900; # Ensure overlay and wall images match this size
$x_offset = 220;
$y_offset = 220;
$flip_vertical = false;
$flip_horizontal = false;
$render_status_text = true;
$rotate_angle = 0; # Allows rotating of the robot lines
$x_scale=1.00; # Allows scaling of roomba x lines
$y_scale=1.00; # Allows scaling of roomba y lines
$ha_rest980 = 'https://192.168.1.105:8123/api/states/sensor.rest980'; # sensor.rest980_2, if configured for Mop
$ha_token = '[redacted]';
$ha_timezone = 'Asia/Tokyo'; # Supported Timezones https://www.php.net/manual/en/timezones.php
$ha_text_delimiter = " \n"; # How text is displayed on the map top " \n" --> New Line ## " |" --> Show on one line
//
// Line Color - RGB
// -1 represents gradual increase from 0 to 255 based on number of logged locations
//
$color_red = -1;
$color_green = 255;
$color_blue = -1;
//
// Examples
// red = -1 , green = 255 , blue = -1 ---> Green to White Fade
// red = 0 , green = -1 , blue = 255 ---> Blue to Aqua Fade
// red = 0 , green = 0 , blue = 255 ---> Solid Blue
//
$path_opacity = 0.5; # Opacity of Roomba path --> 0.0 = completely transparent, 1.0 = completely opaque
//
///////////////////////////////////////////////////////////////////
This is a really long thread and chances are I missed a previous post which already solves these issues but I’m afraid I couldn’t find them, so apologies in advance.
Cheers!