Skip to content

Adds new integration [Ironoxx/ha-snapmaker-u1-card] - #13385

Open
Ironoxx wants to merge 1 commit into
hacs:masterfrom
Ironoxx:patch-1
Open

Ironoxx wants to merge 1 commit into
hacs:masterfrom
Ironoxx:patch-1

Conversation

@Ironoxx

@Ironoxx Ironoxx commented Nov 5, 2026

Copy link
Copy Markdown

Checklist

  • I've read the publishing documentation.
  • I've added the HACS action to my repository.
  • (For integrations only) I've added the hassfest action to my repository.
  • The actions are passing without any disabled checks in my repository.
  • I've added a link to the action run on my repository below in the links section.
  • I've created a new release of the repository after the validation actions were run successfully.

Links

Link to current release: https://github.com/Ironoxx/ha-snapmaker-u1-card/releases/tag/v2.1.0
Link to successful HACS action (without the ignore key): https://github.com/Ironoxx/ha-snapmaker-u1-card/actions/runs/41978550974
Link to successful hassfest action (if integration): https://github.com/Ironoxx/ha-snapmaker-u1-card/actions/runs/41978550974

Description

All-in-one integration and dashboard card for the Snapmaker U1 (4-head tool changer, Klipper/Moonraker). It talks to the printer directly, so the Moonraker integration is not needed: live values and controls, print start with filament mapping, layer view with G-code preview, camera (WebRTC/RTSP/MJPEG), Spoolman with per-head usage, notifications, power switch with clean shutdown, energy and cost per print, maintenance and self test. Works with the stock firmware and the paxx12 Extended Firmware. Domain snapmaker_u1_card, brand images included in the integration.

@hacs-bot

hacs-bot Bot commented Nov 5, 2026

Copy link
Copy Markdown

Thank you for submitting your repository to HACS (Home Assistant Community Store).

Your submission is in the review queue:
Your repository is waiting to be reviewed and included in HACS.

You can view the current queue here. Pull requests are processed in the order they were created, oldest first.

What to avoid during review:
To help reviewers work efficiently, don't do the following:

  • Comment on the pull request - The reviewer will contact you when they have feedback or questions.
  • Open a new pull request - This won't speed up the process and creates duplicate work.
  • Ask followers to comment on the pull request - This won't speed up the process and may delay your review.
  • Merge in the default branch - Only do this if a maintainer asks you to resolve a merge conflict.

If you need to make changes:
You can continue updating your repository while waiting for review. Changes to your repository will be reflected when the reviewer examines it. Only comment on the pull request if you need to withdraw your submission or have critical information for reviewers.

About draft pull requests:
Draft pull requests aren't included in the review queue. Your pull request may be marked as draft by a reviewer if issues need to be addressed. Once you've resolved all issues, mark it as ready for review to re-enter the queue.

What happens next:
Once a reviewer examines your submission, they'll either:

  • Approve and merge your pull request if everything meets the requirements
  • Request changes or ask questions if adjustments are needed

@frenck frenck left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Ironoxx, thanks for the submission! 👋

  1. custom_components/snapmaker_u1_card/resource.py (lines 30-45 and 84-99) copies the card into /config/www/snapmaker_u1_card/ on every setup and registers a /local/snapmaker_u1_card/... dashboard resource for it. Integrations should not put their files into the user's www folder: it is user space, served unauthenticated, and the copy lingers outside what HACS manages. You already serve the card from its own static path (CARD_URL via async_register_static_paths in __init__.py), so please point the dashboard resource at that URL instead, and drop the copy (and the rmtree cleanup that goes with it).
  2. custom_components/snapmaker_u1_card/blueprints.py (lines 23-30) and voice.py (lines 197-209) overwrite the installed blueprint and the Assist sentence files on every start whenever the content differs and the managed comment line is still there. A user who edits the blueprint or the sentences without knowing about that comment loses their changes on the next restart. Please only write these files when they are missing, or when the existing file is byte-identical to a version you shipped earlier (for example, compare against a hash of each previous release), and leave anything else alone.

Once that's addressed, push a new release and re-request review.

../Frenck

                       

Blogging my personal ramblings at frenck.dev
Or subscribe to my free bi-weekly newsletter: frenck.dev/newsletter

@Ironoxx

Ironoxx commented Nov 5, 2026

Copy link
Copy Markdown
Author

Thanks a lot for the review, @frenck!! Both points make sense, I'm on it and will push a new release and re-request review once it's done.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants