Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't Import Sensors When No "heater_bed" configured #324

Closed
willpuckett opened this issue Apr 18, 2024 · 3 comments
Closed

Can't Import Sensors When No "heater_bed" configured #324

willpuckett opened this issue Apr 18, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@willpuckett
Copy link

Version of the moonraker integration

1.2.0

Describe your setup

Klipper on Radxa Zero 3w, Moonraker, Fluidd, HomeAssistant Green

Describe the bug

When attempting to connect to some of my printers, I have no sensors imported. HomeAssistant produces the following logs:

2024-04-18 06:58:44.694 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up moonraker platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 356, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/moonraker/sensor.py", line 307, in async_setup_entry
await async_setup_basic_sensor(coordinator, entry, async_add_entities)
File "/config/custom_components/moonraker/sensor.py", line 316, in async_setup_basic_sensor
async_add_entities([MoonrakerSensor(coordinator, entry, desc) for desc in SENSORS])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/moonraker/sensor.py", line 675, in __init__
self._attr_native_value = description.value_fn(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/moonraker/sensor.py", line 231, in <lambda>
sensor.coordinator.data["status"]["heater_bed"]["power"] * 100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'

If I add a heater_bed entry to my printer.cfg with a dummy temperature sensor (using temperature mcu), the error goes away, and all sensors are imported as expected into HomeAssistant.

I may be in a tiny minority, but I have several printers without heated beds. I often use temperature_mcu to configure chassis fans, so it would be nice to be able to keep it available.

Is it possible to make heater_bed optional in moonraker-home-assistant?

Moonraker Logs

-------------------- Log Start | Thu Apr 18 13:57:39 2024 --------------------
platform: Linux-5.10.160-31-rk356x-aarch64-with-glibc2.31
data_path: /home/puck/printer_data
is_default_data_path: False
config_file: /home/puck/printer_data/config/moonraker.conf
startup_warnings: []
verbose: False
debug: False
asyncio_debug: False
is_backup_config: False
is_python_package: False
instance_uuid: 46b20c109e184a9e96a7bef0d733cd49
unix_socket_path: /home/puck/printer_data/comms/moonraker.sock
software_version: v0.8.0-325-g99b97af
git_branch: master
git_remote: origin
git_repo_url: https://github.com/Arksine/moonraker.git
modified_files: []
unofficial_components: []
log_file: /home/puck/printer_data/logs/moonraker.log
python_version: 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
launch_args: /home/puck/moonraker-env/bin/python /home/puck/moonraker/moonraker/moonraker.py -d /home/puck/printer_data
msgspec_enabled: False
uvloop_enabled: False

#################### Moonraker Configuration ####################

[server]
host = 0.0.0.0
port = 7125
klippy_uds_address = /home/puck/printer_data/comms/klippy.sock

[authorization]
trusted_clients =
10.0.0.0/8
127.0.0.0/8
169.254.0.0/16
172.16.0.0/12
192.168.0.0/16
FE80::/10
::1/128
cors_domains =
*.lan
*.local
*://localhost
://localhost:
*://my.mainsail.xyz
*://app.fluidd.xyz

[octoprint_compat]

[history]

[update_manager]
channel = dev
refresh_interval = 168

[update_manager fluidd-config]
type = git_repo
primary_branch = master
path = ~/fluidd-config
origin = https://github.com/fluidd-core/fluidd-config.git
managed_services = klipper

[update_manager fluidd]
type = web
channel = stable
repo = fluidd-core/fluidd
path = ~/fluidd

[update_manager kiauh]
type = git_repo
primary_branch = master
path = ~/kiauh
origin = https://github.com/dw-0/kiauh
is_system_service = False

[job_queue]
load_on_startup = False
automatic_transition = True
job_transition_delay = 0.1
job_transition_gcode = False

#################################################################
All Configuration Files:
/home/puck/printer_data/config/moonraker.conf
#################################################################

Database Versions: pylmdb = 1.4.1, lmdb = (0, 9, 29)
Unsafe Shutdown Count: 0

System Info:

python
version: (3, 9, 2, 'final', 0)
version_string: 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]

cpu_info
cpu_count: 4
bits: 64bit
processor: aarch64
cpu_desc:
serial_number: 367c0dcc745a9051
hardware_desc:
model:
total_memory: 1002352
memory_units: kB

sd_info
manufacturer_id: 15
manufacturer: Unknown
oem_id: 0100
product_name: 8GTF4
product_revision: 5.2
serial_number: 06f1634f
manufacturer_date: 10/2085
capacity: Unknown
total_bytes: 0

distribution
name: Debian GNU/Linux 11 (bullseye)
id: debian
version: 11
version_parts: {'major': '11', 'minor': '', 'build_number': ''}
like:
codename: bullseye
release_info: {}
kernel_version: 5.10.160-31-rk356x

virtualization
virt_type: none
virt_identifier: none

network

canbus

Allowed Services
klipper_mcu
webcamd
MoonCord
KlipperScreen
moonraker-telegram-bot
moonraker-obico
sonar
crowsnest
octoeverywhere
ratos-configurator
Module libcamera unavailble, import failed

Systemd unit moonraker.service:
unit_name: moonraker.service
is_default: True
manager: systemd
Properties:
**Requires=['sysinit.target', 'network-online.target', '-.mount', 'system.slice']
**After=['systemd-journald.socket', 'system.slice', '-.mount', 'basic.target', 'sysinit.target', 'network-online.target']
**SupplementaryGroups=['moonraker-admin']
**EnvironmentFiles=/home/puck/printer_data/systemd/moonraker.env
**ExecStart=/home/puck/moonraker-env/bin/python $MOONRAKER_ARGS
**WorkingDirectory=/home/puck/moonraker
**FragmentPath=/etc/systemd/system/moonraker.service
**Description=API Server for Klipper SV1
**User=puck

Systemd unit klipper.service:
unit_name: klipper.service
is_default: True
manager: systemd
Properties:
**Requires=['system.slice', 'sysinit.target', '-.mount']
**After=['sysinit.target', 'basic.target', 'systemd-journald.socket', 'network-online.target', '-.mount', 'system.slice']
**SupplementaryGroups=[]
**EnvironmentFiles=/home/puck/printer_data/systemd/klipper.env
**ExecStart=/home/puck/klippy-env/bin/python $KLIPPER_ARGS
**WorkingDirectory=/home/puck/klipper
**FragmentPath=/etc/systemd/system/klipper.service
**Description=Klipper 3D Printer Firmware SV1
**User=puck
Git Repo moonraker: No warnings detected
Git Repo klipper: No warnings detected
Git Repo fluidd-config: No warnings detected
Git Repo kiauh: No warnings detected
Klipper Version: v0.12.0-159-g2425a746
2024-04-18 06:57:39,354 [authorization.py:_check_trusted_connection()] - Trusted Connection Detected, IP: 10.0.0.108
2024-04-18 06:57:39,518 [application.py:log_request()] - 101 GET /websocket?token=XGXOVO6THLELBEPSK35C52VSVLZDUL46 (10.0.0.108) [TRUSTED_USER] 7.67ms
2024-04-18 06:57:39,520 [websockets.py:open()] - Websocket Opened: ID: 281473059599216, Proxied: False, User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15, Host Name: rho.local
2024-04-18 06:57:39,533 [websockets.py:_handle_identify()] - Websocket 281473059599216 Client Identified - Name: fluidd, Version: 1.29.1-fef6e12, Type: web
2024-04-18 06:57:39,535 [file_manager.py:get_file_list()] - Updating File List ...
2024-04-18 06:58:43,230 [authorization.py:_check_trusted_connection()] - Trusted Connection Detected, IP: 10.0.0.107
2024-04-18 06:58:43,238 [application.py:log_request()] - 101 GET /websocket (10.0.0.107) [TRUSTED_USER] 16.33ms
2024-04-18 06:58:43,241 [websockets.py:open()] - Websocket Opened: ID: 281473059206432, Proxied: False, User Agent: HomeAssistant/2024.4.3 aiohttp/3.9.4 Python/3.12, Host Name: 10.0.0.225
2024-04-18 06:58:43,304 [application.py:log_request()] - 101 GET /websocket (10.0.0.107) [TRUSTED_USER] 10.91ms
2024-04-18 06:58:43,307 [websockets.py:open()] - Websocket Opened: ID: 281473059207056, Proxied: False, User Agent: HomeAssistant/2024.4.3 aiohttp/3.9.4 Python/3.12, Host Name: 10.0.0.225
2024-04-18 06:58:44,751 [common.py:build_error()] - JSON-RPC Request Error - Requested Method: machine.device_power.devices, Code: -32601, Message: Method not found
2024-04-18 07:17:28,021 [klippy_connection.py:_on_connection_closed()] - Klippy Connection Removed
2024-04-18 07:17:28,079 [common.py:build_error()] - JSON-RPC Request Error - Requested Method: printer.info, Code: 503, Message: Klippy Host not connected
2024-04-18 07:17:29,302 [klippy_connection.py:_do_connect()] - Klippy Connection Established
2024-04-18 07:17:31,576 [klippy_connection.py:_on_connection_closed()] - Klippy Connection Removed
2024-04-18 07:17:31,623 [common.py:build_error()] - JSON-RPC Request Error - Requested Method: printer.info, Code: 503, Message: Klippy Host not connected
2024-04-18 07:17:32,861 [klippy_connection.py:_do_connect()] - Klippy Connection Established
2024-04-18 07:17:35,539 [klippy_connection.py:_request_initial_subscriptions()] - Webhooks Subscribed
2024-04-18 07:17:35,544 [klippy_connection.py:_request_initial_subscriptions()] - GCode Output Subscribed
2024-04-18 07:17:35,776 [job_state.py:_handle_started()] - Job state initialized: standby
2024-04-18 07:17:36,057 [klippy_connection.py:_check_ready()] - Klippy ready
2024-04-18 07:17:36,530 [data_store.py:_init_sensors()] - Configuring available sensors: ['temperature_sensor zero', 'temperature_fan chaz', 'heater_bed', 'extruder']
2024-04-18 07:19:27,872 [application.py:log_request()] - 101 GET /websocket (10.0.0.107) [TRUSTED_USER] 5.88ms
2024-04-18 07:19:27,874 [websockets.py:open()] - Websocket Opened: ID: 281473050193824, Proxied: False, User Agent: HomeAssistant/2024.4.3 aiohttp/3.9.4 Python/3.12, Host Name: 10.0.0.225
2024-04-18 07:19:28,429 [common.py:build_error()] - JSON-RPC Request Error - Requested Method: machine.device_power.devices, Code: -32601, Message: Method not found

@marcolivierarsenault marcolivierarsenault added the bug Something isn't working label Apr 19, 2024
@marcolivierarsenault
Copy link
Owner

Is it possible to make heater_bed optional in moonraker-home-assistant?

we absolutely should do it.

Will fix eventually (not a lot of bandwidth right now)

@marcolivierarsenault
Copy link
Owner

shipped, just download latest version of the code main

@willpuckett
Copy link
Author

willpuckett commented Apr 24, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants