-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
Dashboard Update #118
Comments
I also noticed this feature, I wonder what to do? |
if the settings for the states of the objects are not important, then you can remove the adapter and install it again, then the dashboard will be updated. |
I need to update too, to get ESP32CAM webserver working. Can I backup any folder, than delete espome and make a fresh install and than copy back the folder? It would be a big pain to make all new. Edit: I deleted ESPHOME and added it new. All yaml are here. Of course I lost some states but mine are saved in influxdb so I lost only a few seconds. That´s ok for the moment. |
found a small solution how to update the dashboard in the IoB driver cd /opt/iobroker/node_modules/iobroker.esphome/ |
jup, trying to add this as an build in option so you do not need to update the adapter anymore for th dashboard just run an batch to install the new modulle |
Will you make a "refresh dashboard" button in the driver settings? |
that ws my attention yes, as I don't want to release a new adapteer version (without any code changes) every month when a new dashboard version is released. So I would like to build something in that check the current an available. version, throw a log message if new version is available with option to update directly from ioBroker without new install or update of the adapter. itsel |
Thus, it stopped updating. The version is downloaded v2022.9.4. root@smart-home:/opt/iobroker/node_modules/iobroker.esphome# cd /opt/iobroker/node_modules/iobroker.esphome/
No python_modules directory; installing pip locally if needed. up to date, audited 141 packages in 13s 15 packages are looking for funding found 0 vulnerabilities |
please install latest version from git, we update the complete way how dashboard is integrated by other python solution which should solve this issue |
Yeah this issue seem to be fallen victim to the common case or unrelated issue misuse. But the original was about updating the integrated dashboard. And i'm not quite sure if this is solved already. Yes, i did not specifically define a version of the python dashbiard dependency to download - so installs the latest. But i dont think this automatically updates if it finds existing one. |
This is also another thing i wanted to discuss. Im not quite sure if its the best idea to create another dependency management system inside the adapter. I think just using a refresh would ideally be not enough because the could be something breaking with newer dashboard versions requiring also the option to downgrade / install specific version. (F.e. legacy password option completely removed before new encryption system implemented) I was kindof thinking the other direction leveraging existing versioning system. By (semi) automating new releases. By that I mean a dependabot ( like) system that automatically creates pull-requests for the dashboard python package as well. What do you think? |
problem indeed is it install the latest version, but after that not updating anymore and ESPHome Dashboard has monthly (sometimes even weekly) releases |
I fully agree and support his approach, as this would also be visible for users that an update is available which will update the ESPHome dashboard too. As I have seen, in the new integration we have the possibility to provide a version in our main.js, I tried that but its not working :( I agree with approach of an GitHub action, if we are able to manage to specify the version in theory automation can be done to adopt a new ESPHome Dashboard automatically. I already included automated releases in this repository, meaning the GitHub "deploy" action can already automatically make a release and publish it to NPM. For that purpose only a comment must be made with the proper updates and version tags, than the workflow will kick in and create an NPM release. This is handled in our GitHub release action: https://github.com/DrozmotiX/ioBroker.esphome/blob/main/.github/workflows/test-and-release.yml#L80-L145 |
I think i tried that in the beginning when integrating this lib. Will try again / look into this.
What do you mean by comment. The changelog in the README? |
no I mean in the git comment :) see line 83 of our release workflow: https://github.com/DrozmotiX/ioBroker.esphome/blob/main/.github/workflows/test-and-release.yml#L83
so that means, as soon an commit is made with a release in it, like this one: 64183bd the workflow will automatically deploy a new release to NPM
are update accordingly |
hm, i don't think any existing dependency management tool can handle these (iobroker) specifics?` I guess will gave to build something custom. |
I don't think so, expect that this must be build custom (specially the io-package part) to be supported.
not sure if that's easily doable in an GitHub action, the could also consider to cover this by an NodeJS proces/executable which an run on one of my root servers |
just thinking a little more around that, for now that's maybe even the most easiest solution as local the data can be updated and also release script used which handle all other things automatically (update the package files & translate news) what do you think? Continue looking for solution as action or local NodeJS proces ? |
Agree, |
Sounds like a plan and less complexity for now. An GitHub action would be an ultimate nice solution but also quite complex I assume (not sure never created one 😅) |
same 😅 |
My current progress might be a "little" overcomplicated. 🤣 |
doing it locally yes, release script will take care of all other actions. But where do we define the ESPHome dashboard version to be used and are aware of new release to trigger the automation (or let the automation check for an new version) that summary was an overview of all steps needed for a release, which are covered in the release script) |
my new plan would for now be:
|
Jep makes sense |
Thinking a bit more... something else. Have to handle / deal with existing stuff in the "Worl in progress" section in the readme. Probably just temporarily remove it and add back in a dedicated commit after release. |
When we do auto releasing, all other changes should be handled in branches to ensure main branch always contains code which is equal to npm. By having that discipline there will never be an "work in progress section" when handling an update for dashboard We also must avoid that "unready code" is deployed to latest, und I guess only way to properly do that is keeping main branch clean As we will use the release script, any content of "work in progress" section will be part of release anyway so that's fine Don't worry about that |
So the initial state of the README for the update-script would be: ## Changelog
<!--
Placeholder for the next version (at the beginning of the line):
### __WORK IN PROGRESS__
* (DutchmanNL)
-->
### 0.4.1 (2023-11-05)
... basically adding a markdown h3 ### **WORK IN PROGRESS**
* (CI) Update integrated Dashboard from Version X to X and Python from Version X to X. bellow the placeholder inside the changelog h2? |
Yes and no 😅 So we have 2 scenarios
x.x.x (xxxx)"### WORK IN PROGRESS" must be added + entry about Dashboard version update and release script executed
WORK IN PROGRESSentry about Dashboard version update and release script executed In both scenarios it's ok to release as it's beta only, stable must be handled by pr to ioBroker repo |
Just to add, giving the proper arguments to release command will automatically handle version upgrade I will add a script execution for that in my next commit as "dashboardRelease". So if you run "npm run dashboardRelease" it will running release script, automatically choose the option "patch" and update readme with version + news to io-package |
And, after a little research, this allows us to run it automatically by an GitHub action 😀
Npm process will do its job and a new release is created by GitHub action already available and triggers by release script. That GitHub action can be triggered manually or by scheduled workflow (like dependency updater) https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs |
FYI: I currently try to get the readme-related stuff "solved" upstream: AlCalzone/release-script#154 |
Cool thank you! |
Experimentally, I found out that the version of the ESPHome dashboard can only be updated by deleting and reinstalling the adapter...
iobroker del esphhome
iobroker add esphome
neither "download files" nor "restore" from the expert capabilities of the adapter work.
Now, if you remove it and install it again, then the latest version is pulled up (at the moment v2022.1.1)
but some objects have parameters set and they don't want to be lost along with the removal of the driver. How can I update the dashboard version without deleting the objects and their properties?
The text was updated successfully, but these errors were encountered: