{"id":14962696,"url":"https://github.com/kasperlaursen/octoprint-card","last_synced_at":"2025-10-25T00:30:47.834Z","repository":{"id":45743630,"uuid":"355579673","full_name":"kasperlaursen/octoprint-card","owner":"kasperlaursen","description":"All your 3D Printer info in a single Lovelace Card!","archived":true,"fork":false,"pushed_at":"2024-10-12T07:44:44.000Z","size":132,"stargazers_count":23,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-12-23T07:25:29.405Z","etag":null,"topics":["home-assistant","homeassistant","homeassistant-custom-component","lovelace","lovelace-card","lovelace-cards","lovelace-custom-card","octoprint","svelte","svelte3","web-components"],"latest_commit_sha":null,"homepage":"","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kasperlaursen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-07T14:42:01.000Z","updated_at":"2024-10-29T13:27:20.000Z","dependencies_parsed_at":"2024-09-22T15:01:01.302Z","dependency_job_id":"26fb54be-284c-4e0a-a3dd-c4de7976904f","html_url":"https://github.com/kasperlaursen/octoprint-card","commit_stats":{"total_commits":41,"total_committers":1,"mean_commits":41.0,"dds":0.0,"last_synced_commit":"348ac784dbeaf178638c7b38dbc99980ef8864b5"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperlaursen%2Foctoprint-card","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperlaursen%2Foctoprint-card/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperlaursen%2Foctoprint-card/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperlaursen%2Foctoprint-card/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kasperlaursen","download_url":"https://codeload.github.com/kasperlaursen/octoprint-card/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238046869,"owners_count":19407627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["home-assistant","homeassistant","homeassistant-custom-component","lovelace","lovelace-card","lovelace-cards","lovelace-custom-card","octoprint","svelte","svelte3","web-components"],"created_at":"2024-09-24T13:30:23.206Z","updated_at":"2025-10-25T00:30:42.480Z","avatar_url":"https://github.com/kasperlaursen.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!WARNING]\n\u003e **This repository is archived**  \n\u003e Unfortunately, due to time constraints, this project is no longer maintained.  \n\u003e Thank you for your interest and support.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=200 src=\"https://user-images.githubusercontent.com/8472619/114278237-1320f700-9a2f-11eb-80d9-ac86238cccd5.png\"/\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eLovelace 3D Printer Card\u003c/h2\u003e\n\u003cp align=\"center\"\u003e\n  \u003cstrong align=\"center\"\u003eAll your 3D Printer info in one place!\u003c/strong\u003e\n\u003c/p\u003e\n\n---\n\n\u003cimg src=\"https://img.shields.io/badge/status-archived-red.svg\" alt=\"Status: Archived\"\u003e\n\n**⚠️ Work in progress, use at your own risk ⚠️**\n\n**Contents:**\n\n[🚪 Introduction](#Introduction)  \n[💽 Intallation](#Intallation)  \n[📖 Properties](#Properties)  \n[💻 Development](#Development)  \n[⌨️ How to Contribute](#how-to-contribute)  \n\n# 🚪 Introduction\n\nThis lovelace card is created for the purpose of collecting all relevant data about your 3D Printer.  \nFor the design I have been heavily inspired by the awesome [vacuum-card](https://github.com/denysdovhan/vacuum-card) by [Denys Dovhan](https://github.com/denysdovhan).\n\n| Camera (Printing)                                                                                              | Image (Idle)                                                                                                                               | Camera (Idle)                                                                                                                              |\n| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |\n| ![image](https://user-images.githubusercontent.com/8472619/114276747-50ce5180-9a28-11eb-99d5-2f921a8aba67.png) | ![Screenshot 2021-04-10 at 17 58 54](https://user-images.githubusercontent.com/8472619/114276753-5deb4080-9a28-11eb-8ee9-3ce6b31cec29.png) | ![Screenshot 2021-04-10 at 17 59 01](https://user-images.githubusercontent.com/8472619/114276763-66437b80-9a28-11eb-9cc6-1585f46b1cc5.png) |\n\n# 💽 Intallation\n\n## HACS (Not Ready Yet)\n\n## Manual\n\n1. Download the `octoprint-card.js` file from the [Releases Page](https://github.com/kasperlaursen/octoprint-card/releases)\n2. Upload the file to your Home Assistant `config/local` folder\n3. Add a reference to the card to your lovelace instance  \n   Go to `Configuration` → `Lovelace Dashboards` → `Resources Tab` → `Click Plus button`.  \n   **Url:** `/local/vacuum-card.js`  \n   **Resource type:** `JavaScript Module`  \n   _Note: If you do not see the Resources Tab, you will need to enable Advanced Mode in your User Profile_\n4. Add the custom:octoprint-card to Lovelace UI as you normally would!\n\nThere are currently no Configuration UI, copy the yaml from below to and modify the properties to fit your installation.\n\n### Configuration example\n\n```yaml\ntype: \"custom:octoprint-card\"\nbedActual: sensor.octoprint_actual_bed_temp\nbedTarget: sensor.octoprint_target_bed_temp\ntoolActual: sensor.octoprint_actual_tool0_temp\ntoolTarget: sensor.octoprint_target_tool0_temp\ncurrentState: sensor.octoprint_current_state\ntimeElapsed: sensor.octoprint_time_elapsed\ntimeRemaining: sensor.octoprint_time_remaining\njobPercentage: sensor.octoprint_job_percentage\nprinting: binary_sensor.octoprint_printing\nimageUrl: /local/printer.svg\nvideoSource: camera.prusa_3d_printer\noctoPrintUrl: http://192.168.50.116/\n```\n\n# 📖 Properties\n\n| Name            |   Type   | Default      | Description                                                   |\n| --------------- | :------: | ------------ | ------------------------------------------------------------- |\n| `type`          | `string` | **Required** | `custom:octoprint-card`                                       |\n| `bedActual`     | `string` | **Required** | The entity_id for your printers **Current** Bed Temperature   |\n| `bedTarget`     | `string` | **Required** | The entity_id for your printers **Target** Bed Temperature    |\n| `toolActual`    | `string` | **Required** | The entity_id for your printers **Current** Tool Temperature  |\n| `toolTarget`    | `string` | **Required** | The entity_id for your printers **Target** Tool Temperature   |\n| `currentState`  | `string` | **Required** | The entity_id for your printers current state                 |\n| `timeElapsed`   | `string` | **Required** | The entity_id for the time elapsed on the current print job   |\n| `timeRemaining` | `string` | **Required** | The entity_id for the time remaining on the current print job |\n| `jobPercentage` | `string` | **Required** | The entity_id for the print job percentage sensor             |\n| `printing`      | `string` | **Required** | The entity_id for the printing binary sensor                  |\n| `imageUrl`      | `string` | Optional     | Path to image of your printer.                                |\n| `videoSource`   | `string` | Optional     | The entity_id for a camera                                    |\n| `octoPrintUrl`  | `string` | Optional     | An url for the link button (Meant for link to Octoprint UI)   |\n\n# 💻 Development\n\nI though I would give som technical background about the project, and also let you know how you can contribute.\n\n## Why Svelte?\n\nThe most common framework used for Lovelace cards seems to be `lit-element` but I chose to jump on the [Svelte](https://svelte.dev) hype train and learn something different.\n\nThis is my first \"Real project\" using Svelte and I think it is a simple and easy framework to use.\n\n## Goals\n\n### Short Term\n\nThe project has just begun, and I have a lot of ideas for improvement!  \nOn the [project board](https://github.com/kasperlaursen/octoprint-card/projects/1) you can see the planed tasks for the v1 release!\n\n### Mid term\n\nCustom actions based on Home Assistant Scripts.  \nSome sort of nice looking Temperature Charts.  \nMaking a custom animated svg progress indicator resembling a printer printing a Benchy.\n\n### Long term\n\nThe current Octoprint integration in Home Assistant does not really seem complete to me.  \nI think there are a lot of possible improvements and additions. So in the long run i hope to be able to contribute to that as well, and update this Card to have even more functionality.\n\nAdding Printer Play/Pause/Stop actions.  \nStarting a print for existing g-code.\n\n# ⌨️ How to Contribute\n\nI Would love to wee what ideas you have. Any contributions are happily welcomed!\n\n1. Fork the repo.\n2. Make your changes on your fork ([How to run locally](#Running-locally))\n3. Open a Pull Request from your fork against the main branch.\n4. Remember to add a nice description of what your changes are intended to do.\n5. I will get back to you as soon as possible!\n\n## Running locally\n\n1. Clone this repository to your local machine\n\n```\ngit clone https://github.com/kasperlaursen/octoprint-card.git\n```\n\n2. Go to the folder\n\n```\ncd octoprint-card\n```\n\n3. Install dependencies\n\n```\nnpm install\n```\n\n3. Start the local development server, which will recompile the code on file changes.\n\n```\nnpm run dev\n```\n\n4. Add the dev card to your Lovelace resources using the url `http://localhost:5000/octoprint-card-dev.js`\n\n5. Add the card to your dashboard with `type: 'custom:octoprint-card-dev'` and the rest of [the config](#Configuration-example)\n\n## Prerequisite\n\nTo run the project locally you need to have [node.js](https://nodejs.org/en/) installed on your machine.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasperlaursen%2Foctoprint-card","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasperlaursen%2Foctoprint-card","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasperlaursen%2Foctoprint-card/lists"}