text:
Style guide/template for source sections

I don't think it's important that every single source entry is perfectly consistently formatted, but it would be good to set some guidelines to make sure people are getting as much as possible from each source and removing superfluous/ambiguous text.
Here's what I've been mostly doing with the Weld Eastern NA entries and other random stuff, as a place to start discussion. Please challenge these guidelines wherever you feel they're misguided, propose alternatives, point out places of ambiguity, etc.
Style:

No quotation marks--quotation is implied
Quote exactly and completely where the source is Creative Commons or public domain. If source is in copyright extract all factual information (hosts, range, phenology, names, etc) and quote brief description passages. Don't quote or paraphrase extensively
Brackets to insert any clarifications/corrections I've made. Try to use these to contextualize any info that might be unclear to someone who hasn't seen the book you're quoting that is worth keeping
Remove author of species and citations to original descriptions (I've been inconsistent about this one though, and removing this info might be a bad idea)
Remove all anatomical info about the insect, info on type specimens, irrelevant stories about how a species was discovered or by who, info on parasitoids/inquilines, and any extraneous/unclear text (eg Weld numbers all of his species, and lists magnification values for his pictures, but these numbers aren't clear to our readers out of context)
Remove any info relating to the alternate generation if a separate entry exists to present that info
Adjust where it seems reasonable to avoid duplicating info or to suit the formatting in the source. Eg I often didn't make a separate section for range because Weld includes it alongside the phenology.

Entry:

Species name used in the source and agamic/sexgen if applicable
Changes to taxonomic status if any (eg sp. nov, comb. rev., or comb. nov.)
Synonyms listed in that source, if any (ie, names listed as synonyms by that source, not species later named synonyms listed as distinct species, see below)
Hosts (with updated names in brackets where necessary)
Index titles (eg section titles for a location or gall type)
Descriptions of the gall morphology
Info about gallformer biology relevant to ID, including phenological info about rearing.
Range
Photo captions, with number (took out the numbers for many, wish I hadn't)

If more than one species in a source belongs to a current gall, put the second species with all info above below the first entry. So eg, for Weld on Neuroterus quercusirregularis:
Neuroterus majalis
Quercus alba
Leaf galls, integral
Fleshy, green parenchyma thickening projecting on both sides of leaf in very early spring, 9-11 mm thick.
Quercus muehlenbergii, prinus [montana]
Leaf galls, integral
Fleshy green parenchyma thickening projecting on both sides of leaf when it is hardly half-grown.
[Photo caption]
Fig. 260. On Q alba. Also on Q prinus [montana]. Adults of both sexes out by May 6-11 (DC); June 12 (IL).
Neuroterus irregularis
Quercus chapmani
Leaf galls, integral
Abrupt fleshy thickening of large areas of leaf parenchyma, many-celled, in early spring. Like Fig 260 on Q alba [Neuroterus majalis].
Quercus stellata
Leaf galls, integral
Succulent thickened areas of leaf projecting on both sides in early spring. 9-11 mm thick.
[Photo caption (no photo)]
Gall similar to [Neuroterus majalis]; on Quercus stellata, chapmani. Galls mature before the leaves are full-grown. Adults out May 16-20, 1923; May 24-26, 1924 (DC). A heavy infestation practically defoliates the tree so that it puts forth a new set of leaves. Females were observed ovipositing on the under surface of the leaves and in September the leaves bore numbers of small galls like Neuroterus saltatorius australis Kinsey.

I'm good with the entry method. Directly quoting the relevant information for these specific data points and excluding everything else. Wasn't sure how much you could exclude before it became paraphrasing rather than quoting.
Regarding style, specifically "Remove any info relating to the alternate generation if a separate entry exists to present that info," I agree that excluding any descriptive information about the alternate generation makes sense, but this makes me think we should be calling out that another generation exists and perhaps linking to it somehow. Maybe an optional 'alternate generation' field on the Add Gall screen? Wouldn't be something you'd filter by, but perhaps we could link the alt there and make it clickable?

I have wished there was a convenient way to get from the gall page of one generation to the other. Maybe there's an easy way to automate that and maybe put it at the top somewhere but for the moment probably just linking to the other page in a source entry is fine.

Now that we have markdown support in the text I think that we should incorporate that into the template. Also, if we want a standard template I could add a button to generate one to save some work.
As for the gall generations, with the standard naming convention that we now have I could add a feature to the main gall page that would show any alternate generations and/or ssp. If that sounds useful create an issue.

I'm not sure what you mean by a standard template? Can you show us an example of what you have in mind? How could it prefill with known info?

What I mean is that it would be nice of the system could start an empty description off with at least the outline of a template to then fill in. Github does something like this: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates

authors: Megachile jeffdc madeleineclaire

repo: jeffdc/gallformers


text:
Cancel_return issues

Hi,
I have intergrated mini cart into my website, i have 2 drop down options with add to cart buttons for each, once customers have added what they would like they click checkout and it goes through to paypal all fine and dandy, however when i try to test the cancel and return to feature it doesn't seem to work, it just returns them to the standard URL for my website, any ideas why?
My site is www.randomrallies.co.uk
Here is the code im using:

T-Shirt Options
No T-Shirts Thanks £0.00
1 T-Shirt £10.00
2 T-Shirt £20.00
3 T-Shirt £30.00
4 T-Shirt £40.00
5 T-Shirt £50.00

Sizes e.g 2 x L 1 x M 1 x S

Team Entry Options
2 Person Team £130.00
3 Person Team £155.00
4 Person Team £180.00
5 Person Team £205.00

I have figured out the problem, and it was nothing to do with minicart, just my plain dumbness! Firefox had chached the site, and was therefore not going to the updated link, but the old one! My bad!!

source: gharchive/issue

repo: jeffharrell/MiniCart

license: MIT

license_type: permissive

license_source: github-api


text:
Left justify most of the content

I think it would make things look better if the content below the hero image were to be left-justified instead of centered. Anyone else feel this? It should all be within a container div, so left-justifying should still look nice.
Have a try, see what you can do! Let us know if you want to tackle this so you can be assigned.

I am interested in this issue. please assign it to me

All yours, good luck!

authors: jeffreycharters ramdhanihendrie

repo: jeffreycharters/station


text:
Update strand.md

typo fix

Thanks!

source: gharchive/pull-request

authors: jeffreykegler rns

repo: jeffreykegler/kollos

license: mit

license_source: bigquery


text:
Uppercase extension

Currently, it someone tries to upload a file with an uppercase extension (.JPG), he might end up with an Exception "not allowed", except if the app has explicitly authorized it.
I would assume that a non-case sensitive test on the extension makes sense.

Sorry, completely irrelevant...
I overlooked something obvious!

No worries, thanks for following up with your solution.

repo: jeffwidman/flask-uploads


text:
Silverlight Issue

Well, seems that i cant find a way to install silverlight for this. I already have it installed on my mac but still it shows that it isnt.

Unfortunately, this is an issue that I don't really have control over. The app relies on Netflix's HTML5 video support, which may be related to the version of OSX/macOS you're running?

authors: alterlove jellybeansoup

repo: jellybeansoup/macos-netflix


text:
Nui popup is not working well

Details: Nvim 0.10.0
Hello,
For some info like Global variables the popup works well but for results, only works in split mode.. help me please.

Thanks @realtica I will take a look on this issue sometime this week.

Hi @realtica Could you help me to reproduce this issue? I tried but it's fine on my end.

What is your config?
Could you record video or write the reproduce steps?

Fixed with latest commit.

authors: jellydn realtica


text:
Add TimeFormatter class

Related to https://github.com/jemc/mare/issues/2

But I'm stuck coz I can't compile this package now.
I'm getting this issue

when compiling
:import "time"

:actor Main
  :new(env Env)
    env.out.print("Hello")

I found issue with syntax. We need to improve error messages :upside_down_face:

I'm stuck now with new issue. Also there is no way to get any info about it.

As far as I understand, mare cant infer type for a number literal and so it cant compile generate ir for it.

@teggotic - Thanks for working on this, and thanks for your other issue ticket and pull request contributions.
If you're interested, I'd love to have a live pairing session with you so I could answer more of your questions more quickly - feel free to DM me in the Pony Zulip if you'd like to set up a session.
You've correctly diagnosed this particular numeric literal issue, so you just need the right syntax for it - the answer is to use the U64[] method.
For example:
number = U64[0]

I will do an update soon to make sure we have a nice, helpful error message for that error and all the other ones you run into.
Again, I appreciate your contributions these last few days and I will be responding to each of them soon. Thanks!

I've added a nice error message for the numeric literal issue in https://github.com/jemc/mare/commit/bfefb32ecd97bb754de101b540b1c809cb4749c6
Thanks for bringing that case to my attention.

I've added a nice error message for the numeric literal issue in bfefb32
Thanks for bringing that case to my attention.

This is excellent. I fixed my issue in 10 minutes

I've stuck with new issue.

Thanks for working on this. I will take the time to review this in depth tomorrow.

authors: jemc teggotic

repo: jemc/mare


text:
See console logged data in getData function for sample cards

ok

ok


text:
Merge environment app.coffee into default app.coffee

Currently when using roots' environments feature, there is often duplication between the app.coffee and app.production.coffee file (or whatever environment you might be using). Local functions need to be duplicated across all files and extensions have to be loaded and configured in every single app.coffee file, even if for some of the extensions their config may not change across environments.
One way to handle this is to require your default app.coffee file and then modify the exported app object. This gets a bit clunky, especially when removing and re-adding extensions to the object.
I'd like roots to by default load the default app.coffee file and then override that main config with whatever differences exist in the environment specific app.coffee. That means only config that's different would need to be specified in environment app.coffee files. The tricky case is handling extensions, which are executed functions so we can't go back and change the config options being passed into the function. In the case of extensions, I think we should just replace the entire extension if it's configured in the environment's extensions array. This means that for extensions, you might need to duplicate some config values, but at least you won't need to require in and pass in every extension you use again.
I'm happy to work on a PR for this and hope to have something this week.

Yup this sounds good. Would love to have it merged before next week!

This would be a great feature, any progress?

I think we actually have this supported now, right @joshrowley?

I have a PR open for it! https://github.com/jenius/roots/pull/625
It's been a while so the code isn't fresh in my mind. There were a couple last things you wanted me to do with it. I'll take a peek at it this weekend and figure out the remaining steps left so it's ready for a merge.

Great idea @joshrowley

authors: SevereOverfl0w dbox jenius joshrowley

repo: jenius/roots


text:
Block further releases of ascii-magician

Looks like the maintainers are security researchers and decided to spam project infrastructure instead of just setting up their own local update sites.

https://github.com/jenkins-infra/update-center2/pull/675 For reference.

authors: Wadeck daniel-beck


text:
Delete application bdd-spring-1575116508 from this environment

The command jx delete application was run by  and it generated this Pull Request

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


text:
chore: bdd-spring-1573048488 to 0.0.1

chore: Promote bdd-spring-1573048488 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


text:
Delete application bdd-spring-1573151208 from this environment

The command jx delete application was run by  and it generated this Pull Request

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


text:
feat: add direct links to repo, pr/branch, author

only implemented for github for the moment (also doesn't support github enterprise yet)

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign vbehar
You can assign the PR to them by writing /assign @vbehar in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign vbehar
You can assign the PR to them by writing /assign @vbehar in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@vbehar: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
fac9f5a2f62775dcf7a4e77d676aceeb140f5747
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@vbehar: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
fac9f5a2f62775dcf7a4e77d676aceeb140f5747
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/retest

/retest

@vbehar: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
fac9f5a2f62775dcf7a4e77d676aceeb140f5747
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@vbehar: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
fac9f5a2f62775dcf7a4e77d676aceeb140f5747
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/approve

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: vbehar
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [vbehar]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: vbehar
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [vbehar]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

authors: jenkins-x-bot-test vbehar

repo: jenkins-x/jx-pipelines-visualizer


text:
fix: upgrade to version 3.2.5

from: https://github.com/jenkins-x/jx

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign abayer
You can assign the PR to them by writing /assign @abayer in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
08e6f5ca33897ad0586f2d3ddc28bceec65067f3
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
08e6f5ca33897ad0586f2d3ddc28bceec65067f3
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
08e6f5ca33897ad0586f2d3ddc28bceec65067f3
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
08e6f5ca33897ad0586f2d3ddc28bceec65067f3
link
/test vault

gsm-kapp
08e6f5ca33897ad0586f2d3ddc28bceec65067f3
link
/test gsm-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


text:
chore(deps): upgrade jenkins-x/jx3-versions to version 1.1.40

from: https://github.com/jenkins-x/lighthouse.git

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rajdavies
You can assign the PR to them by writing /assign @rajdavies in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test tls

kube
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test kube

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test tls

kube
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test kube

gsm
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test tls

kube
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test kube

gsm
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test gsm

vault
93efb164da9503d99b7f55c05553a8f55ea6d19e
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


text:
Readability improvements, added login, fix error

Added image names to Jenkins instead of just scan, scan 2, scan 3
fixed index out of bounds when no html in output
changed to use USER 0 instead of root

LGTM. @oranmoshai would you have time to test?

Hi,
After reviewing the changes  there is 2 issues

On disallowed there is scanout.null output.

on allowed the html output not showing HTML

Hi @JonasBovin can you resolve the issues above?

I'll get right on it...

@JonasBovin Thank you! merged will be out on next release.

authors: JonasBovin lizrice oranmoshai

repo: jenkinsci/aqua-microscanner-plugin


text:
feat: Add write next version support for make projects

Fixes #112
Added writeNextVersion method for Make Project
Added Testcases for the Make project

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[x] Link to relevant issues in GitHub or Jira
[x] Link to relevant pull requests, esp. upstream and downstream changes
[x] Ensure you have provided tests - that demonstrates feature works or fixes the issue

Hey @anoopmsivadas , can you please fix the checkstyle errors, Thanks!

Hey @anoopmsivadas , can you please fix the checkstyle errors, Thanks!

Hi @ADI10HERO, I have reformatted the code, could you please run the work flow again. Thanks!

Hey @anoopmsivadas, good job in bringing down checkstyles bugs from 123 to 14.
Please note that we are using google style checks and I'd also suggest that you run the same locally (or configure your ide to do that for you), the command is:
mvn --no-transfer-progress checkstyle:check

Hey @anoopmsivadas, good job in bringing down checkstyles bugs from 123 to 14.
Please note that we are using google style checks and I'd also suggest that you run the same locally (or configure your ide to do that for you), the command is: mvn --no-transfer-progress checkstyle:check

Hey @ADI10HERO, thanks for letting me know, should have asked that earlier 😬 . Now it should be fine, have tested locally. Please review at your convenience.

for me it's ok. @ADI10HERO I let you finish the review, for your information I did test in a Jenkins instance and it do the job 😉

Thanks for doing that @philippart-s, that's what I was gonna do... I was facing some problems running the make command and that's why the review was taking time 😅

repo: jenkinsci/conventional-commits-plugin


text:
upgrade to build with java 8

Incidentally enables XSS protection along the way.

Thank you for this pull request! Please check this document for how the Jenkins project handles pull requests.

@daniel-beck per mailing list suggestion

Should be reviewed by a maintainer who knows what gets shown in each of the views. @olivergondza maybe?

I do not see anything that seems to rely on not escaped behaviour. :+1:

Thanks for looking!
Given the +1 would someone kindly hit the merge button?

authors: cburroughs daniel-beck jenkinsadmin olivergondza

repo: jenkinsci/dashboard-view-plugin


text:
RaspberryMatic constantly restarting on a Raspberry 1B+

In the current backup I am using with the Raspberry 1 B+, the system keeps restarting irregulary stating that components are not available. Then the box restarts and works again upon the next reboot. First thought that this is based on the soldered RF module, but even with the module detached, it kept rebooting.
The backup was taken from a former version, now the box is using 2.29.22.20170902

Which CCU Addons are you using? And please show the error messages you are seeing.

Well, the box simply reboots and the UI states the following messages:
VirtualDevices

Eine Komponente der HomeMatic Zentrale reagiert nicht mehr.

Hierfür kann es eine Reihe von Ursachen geben:
•es besteht keine Netzwerk-Verbindung
•die Stromversorung der HomeMatic Zentrale wurde unterbrochen
•mindestens eine Komponente der HomeMatic Zentrale ist abgestürzt

Überprüfen Sie die Netzwerk-Verbindung und die Stromversorgung der HomeMatic Zentrale. Starten Sie ggf. die HomeMatic Zentrale neu.
~~~~

Installed Add-Ons are:

XML-API 1.15
E-Mail 1.6.7c
WebMatic 2.2.3
CuX-Daemon 1.10b1
hm-watchdog 0.5

Uninstall hm-watchdog. It is not supported with RaspberryMatic anymore and needs an update that is not yet finished

Thanks, will do. Is this installed along the base image or was it part of the backup (Just in case for a restore) ?

The doc needs to be updated though:
"
Unterstützte CCU Platformen
•HomeMatic CCU1
•HomeMatic CCU2
•RaspberryMatic
"

Of course this is an optional install you did yourself and you broight in via your backup

Uninstall does not work, yielding:

Meldung von Webseite
Deinstallieren fehlgeschlagen:
Failure
Success

OK

Seems to be uninstalled, after relaunching the Add-On Screen

authors: JensMatic jens-maus

repo: jens-maus/RaspberryMatic


text:
Kommunikationsstörung HmIP-DRDI3 nach Update auf V1.4.8

Describe the issue you are experiencing
After updating HmIP-DRDI3 to version 1.4.8, different users experience communication issues. The device neither communicates nor it's able to (re-)couple.
Users describe that it works with the HmIP-HAP combined with the Homematic Cloud / App.
References:
https://homematic-forum.de/forum/viewtopic.php?p=786788#p786788
https://de.elv.com/forum/hmip-drdi3-update-auf-1.4.8-fuehrt-zu-geraeteausfall-27739
Describe the behavior you expected
Working communication.
Steps to reproduce the issue

Update to V1.4.8.
Test it.

What is the version this bug report is based on?
3.71.12.20231020
Which base platform are you running?
ova (Open Virtual Infrastructure)
Which HomeMatic/homematicIP radio module are you using?
HM-MOD-RPI-PCB
Anything in the logs that might be useful for us?
-

Additional information
No response

User Christoph93 describes in the linked ELV topic, that it works with Nightly Build 3.73.9.20231128.
@jens-maus It would be great to have an release soon, provided this is confirmed.

User Christoph93 describes in the linked ELV topic, that it works with Nightly Build 3.73.9.20231128.

If this is the case, there is no reason for this issue ticket here. What is already fixed/working in a nightly snapshot/build does not need to be reported (again). Thus, closing. And the official release will come when 3.73.x is officially released by eQ3.

eQ-3 hat im Firmware-Update-File eine falsche "Min-Version" für die CCU3 angegeben.
CCU3FirmwareVersionMin=3.51.6
Damit dürften viele DRDI3 Nutzer, die neue Firmware gleich installieren, auf die Nase fallen.
Sehr unschön.

authors: Baxxy13 cRemE-fReSh jens-maus


text:
HmIP-KRC4 Tastendrücke kommen nicht an und ablernen funktioniert nicht

Describe the bug
Ich habe eine HmIP-KRC4 an die Raspberrymatic angelernt.
Ich habe dann einige Tasten in Programmen genutzt und die Informationen wurden auch an die Fernbedienung übertragen (benutzte Tasten bestätigen mit grün, unbenutzte Tasten zeigen nur gelb).
Allerdings lösen die Programme nicht aus. Ich habe auch die Protokollierung auf den Tasten aktiviert, dies brachte aber auch keine Erkenntniss. Es sieht so aus alsob die Tastendrücke garnicht richtig ankommen und dadurch auch nicht protokolliert werden.
Also dachte ich mir, lerne ich die Fernbedienung mal ab und versuche es erneut.
Nun kommt allerdings das nächste Problem.
Die Fernbedienung wird zwar abgelernt (keine LED leuchtet beim Druck auf eine Taste und sie ist im Anlernmodus), allerdings bleibt sie noch in der Geräteliste eingetragen nur ohne Spannung und Empfangsqualität.
Wenn ich nun erneut versuche sie zu löschen, dann wird nur ewig "Programme und direkte Geräteverknüpfungen werden geprüft..." angezeigt.
Ich kann sie wieder erneut anlernen, dann wird auch wieder die Batteriespannung und der Empfang angezeigt ...
Beim erneuten anlernen landet sie aber nicht im Posteingang sondern ist immer noch direkt unter den Geräten aufgelistet.
Ich habe auch schon mehrere Neustarts versucht und auch im abgesicherten Modus.
To Reproduce
Expected behavior
Tastendrücke werden korrekt verarbeitet und ablernen funktioniert
Screenshots
System information (please complete the following information):

Version 3.47.18.20190918
Hardware Raspberry 3B mit RPI-RF-MOD

Additional context

Nach einem Downgrade auf 3.47.15.20190831 geht wieder alles.
Hab danach wieder ein Upgrade gemacht und schon gehts wieder nicht.

Jupp, betrifft auch andere Schaltaktoren. Sämtliche virtuelle Tasten funktionieren in Version 3.47.18.20190918 nicht mehr. Downgrade auf 3.47.10.20190713 (meine Ursprungsversion, da die Raspberrymatic sich schon bei 3.47.15.20190831 aufhing) funktioniert alles bestens.
Meine Hardwarekonfiguration ist dieselbe (Raspberry 3B+ mit RPI-RF-MOD).

authors: Xento mr-spooner


text:
Alarmmeldung bei fehlendem/verlorenem Funkmodul

Hallo zusammen !
Ich nutze die 3.49.17.20191225 sowohl als VM aus Synology als auch auf Raspi-Hardware.
Insb. bei der Nutzung der VM kommt es schonmal vor, dass das abgesetzte USB-Funkmodul nicht angeschlossen ist, beim Frickeln am Schrank rausgefriemelt wird oder in der VM nicht korrekt zugeordnet ist.
IST-Zustand
Wenn die RM hochfährt und kein Funkmodul angeschlossen ist, erscheint keine Servicemeldung und keine Alarmmeldung.
Wunsch-Zustand
Wenn die RM kein Funkmodul findet wird eine Alarmmeldung ausgelöst.
Leider kann ich mangels Programmier/Linux-Kenntnisse nichts außer die Idee beisteuern.
Besten Dank und Gruß,
Sebastian

RaspberryMatic Version (3.49.17.20200131): Änderung des /bin/updateDCVars.tcl Skriptes um im Falle das kein Funkmodul installiert ist die DutyCycle Systemvariable auf -1 zu setzen.
@jens
Besten Dank für die Umsetzung dieser Funktion ! Das erleichtert die Überwachung von einem USB-abgesetzen Funkmodul.


text:
Neue Firmware 3.51.6.20200613

Nach der Installation gibt es eine Alarmmeldung des Watchdog.

Wo kann mann den Wert korrigieren?.
mfg
herby

Das hatte ich bei der aktuellen Version auch erstmalig ?
Aber schon nach kurzer Zeit, oder einem Neustart liegen die Temperaturwerte wieder in normalen Bereich. Vielleicht werden nach der Erstinstallation einmalig viele Daten verarbeitet, die für die Erhöhung der CPU Temperatur sorgen. Seit einem Tag läuft die neue Firmware bei mir ohne weitere Temperatur Auffälligkeiten.

Das Problem ist bereits bekannt und wurde auch schon für die nächste kommende Version in Commit 2ff3642d7f97fbf4db93b19b0825e2bcd39797ab von mir repariert.

Super Jens und Wahnsinn wie schnell Du immer bist !!!

authors: Newbie-2 herbylfs jens-maus


text:
0146-WebUI-ImprovedStartpageLayout

Description

es wird nur noch eine Zeile für Datum und Uhrzeit verwendet
es wird nur noch eine Zeile für Sonnenaufgang / -untergang verwendet
horizontale Linie als Abtrennung zu Benutzer-Systemvariablen

Related Issue
#1495
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Alternate Designs

Possible Drawbacks

Verification Process

Release Notes

Contributing checklist

[x] My code follows the code style of this project.
[x] I have read the CONTRIBUTING and LICENSE document.
[x] I fully agree to distribute my changes under Apache 2.0 license.

So sieht es aktuell aus und so werde ich das jetzt auch mergen

Sehr gut geworden!


text:
modified 0097-WebUI-SetSysvarValueByUser WebUI patch for SC-Updates

update related Singleconditions

Description
When changing the type of a system variable, the programs single conditions will not be changed according to the new type
This patch will always update the single conditions to reflect the right state. It also pays attention for change of ValueList-Type-SV

Related Issue
https://homematic-forum.de/forum/viewtopic.php?f=65&t=77676

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Alternate Designs

Possible Drawbacks

Verification Process

Release Notes

Contributing checklist

[x] My code follows the code style of this project.
[x] I have read the CONTRIBUTING and LICENSE document.
[x] I fully agree to distribute my changes under Apache 2.0 license.

@MichaelN0815 So, hab deinen PR nochmal so angepasst das er jetzt korrekt den 0097 WebUI patch modifiziert und dann das .patch file via create_patches.sh neu generiert. Vllt. kannst du dir so schon einmal abschauen wie man solch ein WebUI patch verändert/anpasst bevor ich dazu ne doku schreibe irgendwann. Hab auch nochmal deine Anpassungen ein wenig angepasst und auch den coding style nochmal versucht etwas feinzuschleifen. Schau mal ob noch alles so funktioniert wie es soll.

Hab auch nochmal deine Anpassungen ein wenig angepasst

Zuerst haben mich deine Änderungen überrascht, aber so ist es in der Tat logischer. Ich teste das heute abend mal.
Ich versuche nur immer zu vermeiden eine Variablendefinition (hier integer...) in einer Schleife durchzuführen. Aber das ist bei HM-Skript wohl unkritisch?

Vllt. kannst du dir so schon einmal abschauen wie man solch ein WebUI patch verändert/anpasst
Ich muss wohl mal auf der VHS einen Lehrgang Git(Hub) für Dummies belegen. Von selber werde ich nie dahinter kommen wie das alles zusamenspielt. Aktuell frustiert das nur, weil ich stundenlang rumklicke und nicht zum Ziel komme.

@jens-maus Ich habe deine Änderungen getestet und es funktioniert immer noch wunschgemäß. Ein Popup für unbedarfte Anwender wäre in der Tat nicht schlecht. Aber wie man das einbaut, weiß ich nicht.
btw habe ich auch gleich noch eine Änderung mitgetestet und zwar die erwähnte https://github.com/jens-maus/RaspberryMatic/pull/2179#issuecomment-1400926556 Ergänzung zu @jp112sdl
PR Correct MetaData MIN+MAX on SV change:
  sv.RemoveMetaData('BV0');
  sv.RemoveMetaData('BV1');
  sv.RemoveMetaData('VALUE_LIST');

Funktioniert auch wunschsgemäß. Damit werden dann auch Überbleibsel aus Umwandlungen von Logik oder Werteliste eliminiert. Ich habe jetzt allerdings keinen Lust für 3 Zeilen Code einen PR zu erstellen, und erst recht nicht meinen zu editieren - ich scheiter eben ungern...
Vielleicht nimmst Du den Code so noch mit auf oder Jerome bastelt ihn noch in seinen PR rein. Ich vermute für euch beiden ist das ein Klacks.

@MichaelN0815 Der PR ist gemerged. Da ändere ich nix mehr bzw. da ist nichts mehr dran zu ändern.

@jens-maus Ich habe deine Änderungen getestet und es funktioniert immer noch wunschgemäß. Ein Popup für unbedarfte Anwender wäre in der Tat nicht schlecht. Aber wie man das einbaut, weiß ich nicht.

Die Frage ist halt nur wo genau baut man das am besten ein? Entweder VOR dem ausführen der aktion nachdem man kontrolliert hat das die SV in Programmen verwendet wird und dann mit Ja/Nein Frage ob man das wirklich machen willst oder nur als Info im Nachgang...
Ansonsten hätte ich noch die Anmerkung/Frage ob du wirklich alle Fälle von SV Änderungen/Anpassungen durchgetestet hast mit allen möglichen SV Nutzungen in Programmen? Ist mit dieser Änderung wirklich sichergestellt das die Anpassungen die du da vornimmst so i.O. sind? Und was muss ein Nutzer danach dann nochmal kontrollieren bzw. warum überhaupt wenn du dir sicher bist das die Anpassungen so i.O. sind?

btw habe ich auch gleich noch eine Änderung mitgetestet und zwar die erwähnte #2179 (comment) Ergänzung zu @jp112sdl PR Correct MetaData MIN+MAX on SV change:
[...]
Ich habe jetzt allerdings keinen Lust für 3 Zeilen Code einen PR zu erstellen, und erst recht nicht meinen zu editieren - ich scheiter eben ungern... Vielleicht nimmst Du den Code so noch mit auf oder Jerome bastelt ihn noch in seinen PR rein. Ich vermute für euch beiden ist das ein Klacks.

Ich kann das gerne hier in den PR einfach mit aufnehmen wenn du dich das nicht traust. Aber ehrlich gesagt sollte das überhaupt nicht kompiliziert sein. Wie genau checkst du denn das git repository aus bzw. wie hast du den Branch erzeugt in dem du die aktuellen Änderungen vorgenommen hast? Weil im Grunde musst du doch nur das bereits ausgecheckte Repository bei dir nochmal ändern, d.h. die buildroot-external/patches/occu/0097-WebUI-SetSysvarValueByUser/occu/WebUI/www/rega/esp/system.fn Datei abändern und dann diese Änderung via git commit -a einchecken und dann via git push wieder hier her pushen. Ich denke so wie sich das anhört nutzt du ggf. einfach nur die falschen Tools bzw. Oberfläche um das Git Repository zu bearbeiten/anzupassen. Die Kommandozeile bietet sich da wirklich an!

Ist mit dieser Änderung wirklich sichergestellt das die Anpassungen die du da vornimmst so i.O. sind?

Im Prinzip wird ein Zustand hergestellt wie nach dem Einfügen einer SV in ein Programm. D. H. Wenn es vorher eine Zahl war und gegen "12" geprüft wird, und es wird nun in einen String umgewandelt, dann wird die "12" entfernt und durch "" ersetzt. Etc.

Und was muss ein Nutzer danach dann nochmal kontrollieren bzw. warum überhaupt wenn du dir sicher bist das die Anpassungen so i.O. sind?

Die Änderungen hinterlassen valide Programme. Aber die Logik verändert sich ja. Wenn ich aus einem String eine Werteliste mache oder aus Logik eine Zahl - dann muss am Ende jemand mit Verstand draufschauen und festlegen, wie nun die Bedingung aussehen muss. Wenn vorher "größer 12" definiert war, dann macht das mit einem String keinen Sinn mehr. Da geht nur "bei" oder "nicht bei". Was der User wünscht kann ich natürlich nciht erraten. Daher wird nur ein valide Ausgangszustand hergestellt.
Ausnahme: Wenn eine Werteliste um einen oder mehrere Einträge gekürzt wird (aber Werteliste bleibt) und im Programm wurde auf einen der Werte geprüft, die nun entfernt wurden, dann trage ich nun den letzten zulässigen Wert der Werteliste ein.

Hmm. Wenn ich das alles so lesen, ist es dann nicht aber doch "besser" die Programme einfach unangefasst zu lassen und nur eine Warnung/Hinweis zu bringen das Programme gefunden wurden die eine manuelle Anpassung brauchen wenn man ohnehin manuell aktiv werden muss? Ich meine wenn du damit eh nur die internen ReGa-Constraints aufräumst aber damit quasi die Logik der Nutzer kaputt machst und diese die Programme ohnehin nochmal selbst anpassen/reparieren müssen, dann kann man sich doch den ganzen Aufwand IMHO gleich sparen und nur die Programme auflisten oder Anmerken die nun eine Modifikation brauchen wenn der Nutzer eine SV z.B. von Integer auf String ändert. Weil so gäbe es zumindest die Möglichkeit das der Nutzer danach den Weg zurück gehen kann und alles danach wieder i.O. ist. Ich sehe aktuell nicht wirklich den Vorteil darin jetzt automatisch durch alle Programme zu iterieren und die SingleConditions vermeintlich richtig zu stellen wenn dann ohnehin der Nutzer hingehen muss und die Conditions der Bedingungen neu anpassen muss. Darüberhinaus entfernt das ja dann auch gewisse Informationen, z.B. eben ändert es die Integerzahl 12 und ändert die in "" wie du ausgeführt hast. Und damit verliere ich die Information darüber wie das Programm vorher ausgesehen haben mag und kann dann nicht mehr zum alten Stand zurück (ausser via Backup natürlich).
Ich bin mir daher ehrlich gesagt – jetzt wo ich das erst langsam komplett versuche zu verstehen – nicht ganz so sicher ob das der richtige bzw. unkomplizierteste Weg ist. Vmtl. würde ich daher einfach nur die Warnung am Schluss zeigen wenn ein Programm gefunden wird die diese SV einsetzt und es dann komplett dem Nutzer überlassen die Condition anzupassen. Und wenn er das nicht macht. Pech :) Zusätzlich könnte man ja gerne auch noch ne Funktion hinzufügen wo man für eine bereits existierende SV suchen lassen kann welche Programme ggf. falsche Einstellungen hat, etc.
Oder übersehe ich da jetzt fundamental etwas?

Ich kann das gerne hier in den PR einfach mit aufnehmen wenn du dich das nicht traust.

Danke. Es wird wohl an den Tools liegen, mit denen ich arbeite. Die Web-Oberfläche bietet keine EDIT Möglichkeit, die nicht zu einem neuen PR führt. Und mit Git als Desktop Version zu arbeiten scheint mir den Komplexitätsgrad nur noch weiter anzuheben.

Das solltest du aber IMHO definitiv machen, denn das ist wie man heute und in Zukunft in der IT arbeitet. Du magst vllt. etwas eingerostet sein, aber an Revisioncontrolsystemen wie git führt kein Weg mehr dran vorbei und die sind auch bei weitem nicht so kompliziert zu bedienen wie du meinst. Installier dir einfach mal "git" für die Kommandozeile und dann arbeite damit. Viel einfacher bzw. straight forward als zu versuchen das über die Weboberfläche zu erledigen.

Tja, das vermag ich auch nciht zu überblicken, in wiefern es nun Folgeprobleme gibt, wenn die Rega nicht in einem konsistenten Zustand ist. Aber rein logisch: wenn der SV-Typ nun float ist, in der SC aber string steht, kann das irgendwo im Code, der sich auf solche Daten verlässt, Probleme geben. Und das kann der User so nicht sehen und nicht ändern.
Mit den Value ist das noch eine andere Sache, da hier ja wohl auch die automatische Typ Wandlung zuschlägt kann man diese Werte natürlich erstmal stehen lassen. Wobei ein Wert von integer 12 oder float 3.14 oder string "Test" bei einer Logik-Variablen...
Was ich definitiv aber sagen kann: bei Wertelisten, die nach der Änderung weniger Einträge haben, gibt es Probleme. In der WebUI wird der Wert angezeigt, der durch "0" repräsentiert wird, in den Single Conditions steht aber der alte. Z. B. "4". Das dies dann dazu führt, daß das Programm nicht mehr von der Werteliste getriggert wird ist klar - für den User aber nicht ersichtlich. Zumindest diese Anpassung sollten wir reinbringen.

Ich bin mir daher ehrlich gesagt – jetzt wo ich das erst langsam komplett versuche zu verstehen – nicht ganz so sicher ob das der richtige bzw. unkomplizierteste Weg ist.

Bist Du da inzwischen zu einem Schluß gekommen? Oder sollen wir mal @Baxxy13 und @jp112sdl um ihre Meinung bitten? Die stecken doch auch recht tief in den Details.

Ich bin mir daher ehrlich gesagt – jetzt wo ich das erst langsam komplett versuche zu verstehen – nicht ganz so sicher ob das der richtige bzw. unkomplizierteste Weg ist.

Bist Du da inzwischen zu einem Schluß gekommen?

Ne, ehrlich gesagt bin ich da gedanklich leider noch nicht weiter gekommen was da jetzt der bessere Ansatz ist. Ich kam auch leider noch nicht dazu das selbst ausführlich mal zu testen um mir selbst ein detaillierteres Bild davon zu machen. Ist einfach so ne Sache was da der Beste Ansatz ist (entweder Programme anpassen und ne Warnung bringen das man die nach der SV Änderung noch editieren muss oder halt unangefasst lassen um da nicht Informationen kaputt zu machen und nur ne Warnung bringen das Programme gefunden wurden in denen die SV benutzt werden). Ich tendiere da zwar zu dem letzten in dem man nur eine Warnung bringt und es dem Nutzer dann überlässt das Programm anzupassen, aber zu 100% sicher bin ich mir trotzdem nicht.

Oder sollen wir mal @Baxxy13 und @jp112sdl um ihre Meinung bitten? Die stecken doch auch recht tief in den Details.

Klar, Brainstorming ist immer gut auch wenn ich dann am Schluss halt trotzdem die Schlussentscheidung treffe ;-)  Also gerne, Meinungen, Hinweise, Tipps... immer willkommen!

oder halt unangefasst lassen um da nicht Informationen kaputt zu machen

Also ich bin der festen Überzeugung, daß die ReGa auf jedenfall in einen konsistente Zustand gebraucht werden sollte. D. H. Da darf nicht der Datentyp string stehen, wenn es tatsächlich float ist. Etc.
Dann bleiben an Informationen nur noch die vom Benutzer eingegebenen Werte. Klar kann man eine Zeichenfolge wie "12" von string zu float konvertieren. Aber in boolean ist es dann nur noch begrenzt sinnvoll.
Ich werde in den nächsten Tagen nochmal Test durchführen, ob die Programme sauber triggern, wenn für den neuen Datentyp unpassende Werte in der Single condition stehen. Wenn ja, dann könnte man die Werte drin stehen lassen, bis der User sie anpasst. Wenn nicht, dann...

Ich werde in den nächsten Tagen nochmal Test durchführen, ob die Programme sauber triggern, wenn für den neuen Datentyp unpassende Werte in der Single condition stehen. Wenn ja, dann könnte man die Werte drin stehen lassen, bis der User sie anpasst. Wenn nicht, dann...

Wäre gut das in der Tat noch einmal zu testen. Der Punkt ist einfach, wenn du den Datentyp in den Programmen jetzt änderst, aber die Information dann quasi weglöscht (weil du sie automatisch logischerweise nicht konvertieren kannst), dann kann der Nutzer später nachdem er die Warnmeldung bekommen hat nicht über die Programme drübergehen und sie selbst dann manuell korrigieren, denn er weis ja nicht mehr was da ursprünglich drin stand. Deshalb wäre es IMHO besser einfach die Werte dort quasi zur ansicht stehen zu lassen und dem Nutzer nur den Hint zu geben das er nun hingehen muss um die Programme manuell zu bereinigen.

Deshalb wäre es IMHO besser einfach die Werte dort quasi zur ansicht stehen zu lassen und dem Nutzer nur den Hint zu geben das er nun hingehen muss um die Programme manuell zu bereinigen.

Ich denke, wenn Du selber Tests machst, wirst Du zu dem Schluß kommen, das der derzeitige Zustand die schlechtere Alternative ist. Wir wissen doch beide, das die meisten User so eine Meldung einfach wegklicken werden.
Aktuell sieht es so aus, das bei einer Typ-Änderung in der ReGa in der Single Condition des Programms die alten Daten zwar drin stehen bleiben, diese für den User aber nnicht sichtbar sind. Denn die WebUI versucht diese Daten irgendwie zu interpretieren. Das führt z.B. bei Umwandlung von String oder Zahl in Werteliste oder Boolean zu einem scheinbar korrektem WebUI-Programm - das der User dann befriedrigt wieder schließen wird:

Im SDV sieht man, aber das die Einträge immer noch unverändert sind:

Daher schlagen auch entsprechende Prüfungen fehl und das Programm wird dann nicht getriggert oder es wird der falsche Zweig getriggert. Der User hat aber keine Chance die Ursache zu erkennen.
Anders sieht es aus, wenn man diesen Patch verwendet. Dann haben WebUI und ReGa den gleichen Stand, das Programm wird korrekt getriggert und auch der richtige Zweig (alles intensiv getestet).
Un dich finde es ist allemal besser die ReGa in einen konsistenten Zustand zu versetzen, wo der User ggf. noch den richtigen Eintrag einer Werteliste oder Zustand einer boolschen SV auswählen muss, als das er in seiner Not alles neu macht.
Der einzige Vorteil der jetzigen Situation ist, das man durch erneute Änderung der Systemvariable hin zum ursprünglichen Zustand auch wieder den ursprünglichen Zustand im Programm sieht. Das ist aber keine sonderlich intuitive UNDO Funktion und der User muss dazu ja auch den vorherigen Zustand kennen.
Da treffe ich doch lieber die positive Annahme, das der User die Änderungen bewusst vornimmt und dann aktiv die Progamme so anpasst, wie er sie benötigt. Dieser letzte Schritt entfällt nur ggf. hin und wieder weil aktuell der USer nach einem Blick aufs Programm feststellt, "das passt ja schon" und es wieder schließt. Nur passt es eben nicht, was er aber nicht sehen kann.

Ach ja, und bei Programmausführungen landen dann auch Fehlermeldungen im Protokoll:
Feb  4 15:27:03 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '2' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:27:00 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '1' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:26:42 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '0' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:25:06 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '0' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:25:03 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '2' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:25:00 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '1' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:24:43 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '0' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:24:18 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '0' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:24:14 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '2' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:24:11 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '1' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]
Feb  4 15:23:44 rmvm local0.err ReGaHss: ERROR: CompatibleForCompare of ISEVALUE 'test' (20) vs. '0' (16) not supported! [CompatibleForCompare():iseValue.cpp:523]

Habe mal weiter getestet. Das gleiche Problem tritt, wenn nicht noch schlimmer, auch bei den Single Destinations auf.
Wird z.B. im DANN der Wert 12.0000 in die SV geschrieben. Diese SV dann aber von Zahl in eine Werteliste mit weniger als 12 Einträgen umgewandelt, dann bekommt sie beim nächsten Durchlauf den Wert 12 - der aber gar nicht angezeigt werden kann.
Also müssen die SD auch noch aufgeräumt werden. Bevor ich dazu aber den Editor öffne, sag erstmal Bescheid ob Du das überhaupt umsetzen möchtest.

Übrigens wird beim Wechsel von oder zu einer SV vom Typ Alarm immer die SV gelöscht und neu erzeugt, mit dem Efffekt, das sie aus allen Programmen entfernt wird. Keine Ahnung ob jemand diese Holzhammer Methode eingebaut hat weil er den Aufwand scheute die ReGa aufzuräumen oder ob es bei Alarm-SV noch andere Gründe dafür gibt. Vielleicht könnten wir das auch noch reparieren?
https://github.com/jens-maus/RaspberryMatic/blob/dfbbac017e2ffbfcd131e8317cf2f0587255cc05/buildroot-external/patches/occu/0097-WebUI-SetSysvarValueByUser/occu/WebUI/www/rega/esp/system.fn.orig#L793-L804

Habe mal weiter getestet. Das gleiche Problem tritt, wenn nicht noch schlimmer, auch bei den Single Destinations auf. Wird z.B. im DANN der Wert 12.0000 in die SV geschrieben. Diese SV dann aber von Zahl in eine Werteliste mit weniger als 12 Einträgen umgewandelt, dann bekommt sie beim nächsten Durchlauf den Wert 12 - der aber gar nicht angezeigt werden kann.
Also müssen die SD auch noch aufgeräumt werden. Bevor ich dazu aber den Editor öffne, sag erstmal Bescheid ob Du das überhaupt umsetzen möchtest.

Prinzipiell würde ich schon ja sagen. Aber nachdem ich mir das ganze nochmal durch den Kopf gehen lassen habe und auch deine Ausführungen noch einmal durchgelesen habe bin ich mir leider immer noch nicht sicher wie wir damit verfahren sollen. Ich geb dir ja prinzipiell recht, das es nicht i.O. ist die ReGa bzw. die Programme inkonsistent zurückzulassen wie das momentan der Fall ist. Jedoch gefällt mir der Gedanke immer noch nicht einfach die Programmbedingungen hart zu ändern und damit einen potentiellen Datenverlust in kauf zu nehmen. Und mit "Datenverlust" meine ich eben genau der Punkt das man dann die Programme einfach stillschweigend anpasst und erwartet das der Nutzer sich schon dran erinnern wird was da genau vor der Anpassung gestanden hat. Meines Erachtens gibt es daher im Grunde nur zwei Vorgehensweisen diesbzgl:

Wir unterbinden das Ändern des Datentyps komplett wenn ein Programm existiert. D.h. wir bringen nur eine Warnung bzw. einen Fehler und verweigern die Anpassung mit dem Hinweis das es Programme (ggf. mit einer Auflistung) gibt die diese Systemvariable verwenden und daher eine Datentypänderung nicht vorgenommen werden kann.
Wir bringen vor der Anpassung eine Warnung das existierende Programme (mit Auflistung) gefunden wurden wo die SV genutzt wird. Und dann fragen wir den Nutzer ob er wirklich die Anpassung vornehmen will und geben den Hinweis das er danach bei diesen Programme die Nutzungen der SV manuell zu kontrollieren hat. Und wenn der Nutzer OK klickt wird das wie von dir vorgeschlagen angepasst und wenn er Abbrechen klickt dann wird die Anpassung eben nicht vorgenommen.

Was man daran also sieht ist, das es IMHO ohne die Einbeziehung bzw. Abfrage des Nutzers nicht geht. D.h. also wir müssten in diesem PR dann noch den entsprechenden Requester einbauen.

Übrigens wird beim Wechsel von oder zu einer SV vom Typ Alarm immer die SV gelöscht und neu erzeugt, mit dem Efffekt, das sie aus allen Programmen entfernt wird. Keine Ahnung ob jemand diese Holzhammer Methode eingebaut hat weil er den Aufwand scheute die ReGa aufzuräumen oder ob es bei Alarm-SV noch andere Gründe dafür gibt. Vielleicht könnten wir das auch noch reparieren?

Nun, wenn ich es richtig verstanden habe, dann ist eine Alarmvariable eben vom Objekttyp OT_ALARMDP und eine normale SV eben vom Objekttyp  OT_VARDP. Und abgesehen davon das ich aktuell nicht aus dem Kopf heraus weiss ob beim Anlegen eines OT_ALARMDP intern nicht irgendwelche zusätzlichen Dinge angelegt/verlinkt werden weiss ich aktuell nicht wie man den Objekttyp dynamisch ändern kann. Das würde erklären warum die SV komplett frisch angelegt wird wenn man von/zu einer Alarmvariable vs. normalen SV wechselt.

Also 1) ist ja wohl eher die Apple Philosophie. Nicht mein Ding.
Dann besser 2)
Aber zu deinen Bedenken : schon jetzt werden ja die Programme bei Alarm Variablen hart geändert. Und der Inhalt der Variablen wird ja auch hart zurück gesetzt.
Aber ja, eine unterstützende Meldung kann nicht schaden. Wobei du damit rechnen musst, das die Auflistung jeden Dialog sprengt.

Ich habe die Variante

2. Wir bringen vor der Anpassung eine Warnung das existierende Programme (mit Auflistung) gefunden wurden wo die SV genutzt wird. Und dann fragen wir den Nutzer ob er wirklich die Anpassung vornehmen will und geben den Hinweis das er danach bei diesen Programme die Nutzungen der SV manuell zu kontrollieren hat. Und wenn der Nutzer OK klickt wird das wie von dir vorgeschlagen angepasst und wenn er Abbrechen klickt dann wird die Anpassung eben nicht vorgenommen.

einmal durchgedacht. Die function saveSysVar() wird immer durchlaufen, auch wenn nur der Name oder die Beschreibung geändert wird. Also etwas das keinen Einfluß auf single condition oder single destination hat. In diesen Fällen dürfen wir also keinen Dialog anzeigen.
Ich bin noch nicht sicher, ob man das irgendwie vorher abfragen kann, oder ob man erst durch SC und SD iterieren muss - ohne Änderungen - und nur ein Flag setzt, wenn Änderungen nötig wären. Und nur wenn dieses Flag dann gesetzt ist kommt der Dialog und wenn der User den mit OK bestätigt geht man eben nochmal durch alle SC/SD und nimmt die Änderungen vor, andernfalls bricht man die Funktion ab. Das müsste dann aber ziemlich am Anfang der Funktion geschehen.
Das könnte man dann auch nutzen um die Anzahl der Änderungen zu zählen und dann eine Meldung einzublenden wie:
es würden xx Vorkommen von SV yy in zz Programmen geändert: OK / Abbrechen
Wie man sinnvoll eine Liste von > 10 Programmen in so einem Dialog anzeigen soll, erschließt sich mir noch nicht. Man könnte die ersten 10 auflisten und darunter "usw und so fort" anzeigen. Oder man verweist generell auf den "Programme" Button. Oder man macht eine scrollbare Liste?
Und wo ich so drüber nachgedacht habe: man muss konsequenterweise bei Änderungen zu "Zahl" auch die neuen min und maxValues für die SC/SD berücksichtigen. Aber das ist im Vergleich mit dem Dialog-Zeugs ein Klacks.

Hast Du mal einen Beispielcode, wie ich aus der system.fn heraus eine MessageBox anzeigen kann?

Muss das unbedingt aus der system.fn erfolgen?
Die saveSysVar-Methode darin wird von der newSysVar.htm aus der Javascript-Funktion saveSysVars aufgerufen.
Innerhalb dieser JS-Funktion ginge es ganz bequem.
Fix mal aus der webui.js zusammengekratzt... Entweder ein YesNoDialog mit Ok / Cancel Button:
    var html = "<div>Hallo Welt</div>";
    dlg = new YesNoDialog("saveSysVarDialog", html, function(result) {
      if (result == YesNoDialog.RESULT_YES) {
        console.log("clicked YES");
      } else {
        console.log("clicked NO");
      }
    }, "html");
    dlg.btnTextNo(translateKey("btnCancel"));
    dlg.btnTextYes(translateKey("btnOk"));

oder wenn es nur darum geht, eine Info-Messagebox anzuzeigen (ohne dem User die Möglichkeit zu geben, einen Vorgang abbrechen zu können):
    MessageBox.show("saveSysVars Messagebox","Hallo Welt","",200,50);

Das habe ich auch schon überlegt. Dann muss man wohl nur die Funktion so modifizieren, daß man eine Meldung zurück gibt. Ich seh mir das morgen mal an

Also da muss ich erstmal mehr verstehen, wie das alles zusammenarbeitet.
In der Variablen pb wird der Befehl für system.fn zusammengestellt und hier ausgeführt:
        postBody: ReGa.encode(pb),
        onComplete: function(t) {
          if(dbg){alert( t.responseText );}
          reloadSysVars();

          var channel = DeviceList.getChannel(channelId);
          if (channel) { DeviceList.beginUpdateDevice(channel.deviceId); }
        }
      };

Ich bin mir nicht sicher, ob eine MessageBox dann nach diesem Block einzufügen ist, oder besser innerhalb dieses Blocks.
Außerdem ist mir nicht klar, wie ich aus der Funktion saveSysVar einen Wert an die aufrufende htm übergeben kann.

Nur mal mein Vorschlag zu dem Ganzen...
Ich würde das nachträgliche Ändern des Typs einer Systemvariable einfach komplett unterbinden.
Eine SV, beispielsweise als "Zahl" angelegt, ist eine "Zahl" auf Lebenszeit. Fertig.
Wer nun feststellt, dass er doch eine "Werteliste" benötigt, dann muss er sich eine neue SV anlegen, sie in den entsprechenden Programmen hinzufügen und anschließend die nicht mehr benötigte "Zahl"-SV löschen.
So hab ich es für mich zumindest bisher gehandhabt (auch schon auf der CCU2 damals), weil ich mir nie erklären konnte, wie das sauber gehen soll, wenn aus einer Zeichenkette mit Inhalt "Leberwurst" auf einmal eine Zahl werden soll.

Technisch ist es kein Problem. Man muss nur die Eigenschaften alle korrigieren. Für die Programm Logik hat es natürlich Konsequenzen. Aber ich habe das selber auch schon mal genutzt und war froh, daß ich nicht komplett bei Null anfangen musste. Ich würde es sogar hart ohne Info an den User machen, aber Jens möchte ja den Dialog haben.

Technisch ist es kein Problem. Man muss nur die Eigenschaften alle korrigieren.

Nun, sagen wir es mal so: Nicht alles was technisch machtbar ist, ist auch sinnvoll. Und so ganz ehrlich bin ich auch noch nicht 100% überzeugt davon das die beste Option ist hier mehr Funktionalität diesbzgl. einzubauen. Ich bin mir aber auch nicht ganz so sicher ob das komplette verhindern der Änderung des Datentypes einer Systemvariablen eine bessere Idee ist.

Ich würde es sogar hart ohne Info an den User machen, aber Jens möchte ja den Dialog haben.

Mein Vorschlag mit dem Dialog ist aktuell ein Kompromiss zwischen den beiden Dingen (komplett unterbinden versus automatisiert abändern). Aber so ganz happy bin ich damit auch noch nicht, zumal das ganze ja auch in diesem PR noch gar nicht so umgesetzt ist das man das dann noch entsprechend verfeinern/verbessern könnte gemeinschaftlich. Es gibt da ja weiterhin mehrere Optionen welchen Teil der SV Anpassungen man wirklich umsetzt und wenn ja welche Warnung bzw. Hinweise man dann konkret einblendet um den Nutzer einen Hint zu geben was er im Anschluss der Datentype-Änderung tun sollte damit alles noch soweit konsistent bleibt wie er sich das ursprünglich mal ausgedacht hat.

Ich würde das nachträgliche Ändern des Typs einer Systemvariable einfach komplett unterbinden.

Nur die Typänderung zu unterbinden würde das Problem trotzdem nicht entschärfen, denn auch dann müssen zahlreiche Eigenschaften angepasst werden, damit die Programme noch sauber arbeiten. z.B. weil der Wertebereich einer Zahl-SV nun kleiner ist als im Programm genutzt. Oder bei einer Werteliste, weil ein Wert entfernt wurde oder ein weiterer hinzu kam. Willst Du das alles unterbinden?
So sieht der Code jetzt aus. Mit einem Prototyp für eine Meldung. Und zumindest bei Text-Variablen habe ich gleich ins Programm eine Meldung reinschreiben können:

function ::saveSysVar()
{
  object oUser = dom.GetObject( system.GetSessionVar("sessionUserID") );
  if( oUser.UserLevel() == iulAdmin )
  {
  integer ist = system.GetVar("iSubType");
  object oChn = dom.GetObject( system.GetVar("iChnId") );

  object oSysVars = dom.GetObject( ID_SYSTEM_VARIABLES );
  object oAlarms = dom.GetObject( ID_ALARMS );

  object sv;
  if( system.GetVar("createNew") == 1 )
  {
    if( ist == istAlarm )
    {
      sv = dom.CreateObject(OT_ALARMDP);
      sv.Name( system.GetVar("sName") );
      sv.AlSetBinaryCondition();
      oSysVars.Add( sv.ID() );
    }
    else
    {
      sv = dom.CreateObject(OT_VARDP);
      sv.Name( system.GetVar("sName") );
      oSysVars.Add( sv.ID() );
    }
  }
  else
  {
    sv = dom.GetObject( system.GetVar("varid") );
    sv.Name( system.GetVar("sName") );
    object ch = dom.GetObject( sv.Channel() );
    if( ch )
    {
      ch.DPs().Remove( sv.ID() );
    }

    if( (ist == istAlarm) && (sv.ValueSubType() != istAlarm) )
    {
      dom.DeleteObject( sv.ID() );
      sv = dom.CreateObject( OT_ALARMDP, system.GetVar("sName") );
      oSysVars.Add( sv.ID() );
    }
    elseif( (ist != istAlarm ) && (sv.ValueSubType() == istAlarm) )
    {
      dom.DeleteObject( sv.ID() );
      sv = dom.CreateObject( OT_VARDP, system.GetVar("sName") );
      oSysVars.Add( sv.ID() );
    }
  }

  !sv.ValueSubType(ist);
  sv.DPInfo( system.GetVar("sInfo") );
  sv.ValueUnit( system.GetVar("sUnit") );
  sv.RemoveMetaData('MIN');
  sv.RemoveMetaData('MAX');
  sv.RemoveMetaData('BV0'); ! SV war vorher Typ Logik
  sv.RemoveMetaData('BV1'); ! SV war vorher Typ Logik
  sv.RemoveMetaData('VALUE_LIST'); ! SV war vorher Typ Werteliste
  var svValue;
  if (ist == istAlarm)
  {
    sv.ValueType( ivtBinary );
    sv.ValueSubType( istAlarm );
    sv.ValueName1(system.GetVar("sTrue"));
    sv.ValueName0(system.GetVar("sFalse"));
    sv.AlType(atSystem);
    sv.AlArm(true);
  }
  elseif (ist == istBool)
  {
    sv.ValueType( ivtBinary );
    sv.ValueSubType( istBool );
    sv.ValueName1(system.GetVar("sTrue"));
    sv.ValueName0(system.GetVar("sFalse"));
    svValue=false;
  }
  elseif (ist == istGeneric)
  {
    sv.ValueType( ivtFloat );
    sv.ValueSubType( istGeneric );
    sv.ValueMin(system.GetVar("iMinVal"));
    sv.ValueMax(system.GetVar("iMaxVal"));
    svValue=system.GetVar("iMinVal");
  }
  elseif (ist == istEnum)
  {
    sv.ValueType( ivtInteger );
    sv.ValueSubType( istEnum );
    sv.ValueList(system.GetVar("sValList"));
    svValue=0;
  }
  elseif (ist == istChar8859)
  {
    sv.ValueType(ivtString);
    sv.ValueSubType(istChar8859);
    svValue="";
  }

! ab HIER modified 0097-WebUI-SetSysvarValueByUser
  if( system.GetVar("createNew") == 0 )
  {
    string SingleCond;
    object SingleCondObject;
    integer CntPrgChanges = 0;

    foreach(SingleCond,dom.GetObject(ID_SCONDITIONS).EnumIDs() )
    {
      SingleCondObject = dom.GetObject(SingleCond);
      if( SingleCondObject)
      {
        if( ((SingleCondObject.LeftVal() == sv.ID()) && (SingleCondObject.LeftValType()== ivtSystemId )))
        {
          if( ((ist == istAlarm) || (ist == istBool)) && (SingleCondObject.RightVal1ValType() != ivtBinary))
          {
            SingleCondObject.ConditionType(1);
            SingleCondObject.RightVal1ValType(ivtBinary);
            SingleCondObject.RightVal1(false);
            SingleCondObject.RightVal2ValType(ivtBinary);
            SingleCondObject.RightVal2(false);
            CntPrgChanges = CntPrgChanges + 1;
          }
          elseif( (ist == istGeneric) )
          {
            if ( (SingleCondObject.RightVal1ValType() != ivtFloat))
            {
              SingleCondObject.ConditionType(8);
              SingleCondObject.RightVal1ValType(ivtFloat);
              SingleCondObject.RightVal1(system.GetVar("iMinVal"));
              SingleCondObject.RightVal2ValType(ivtFloat);
              SingleCondObject.RightVal2(0.0);
              CntPrgChanges = CntPrgChanges + 1;
            }
            else
            {
              if ( (SingleCondObject.RightVal1() < system.GetVar("iMinVal")) || (SingleCondObject.RightVal1() > system.GetVar("iMaxVal")))
              {
                SingleCondObject.RightVal1(system.GetVar("iMinVal"));
                CntPrgChanges = CntPrgChanges + 1;
              }
             if ( SingleCondObject.RightVal2() > system.GetVar("iMaxVal"))
              {
                SingleCondObject.RightVal2(system.GetVar("iMaxVal"));
                CntPrgChanges = CntPrgChanges + 1;
              }
            }
          }
          elseif( (ist == istEnum) )
          {
            if( (SingleCondObject.RightVal1ValType() != ivtInteger))
            {
              SingleCondObject.ConditionType(1);
              SingleCondObject.RightVal1ValType(ivtInteger);
              SingleCondObject.RightVal1(0);
              SingleCondObject.RightVal2ValType(ivtInteger);
              SingleCondObject.RightVal2(0);
              CntPrgChanges = CntPrgChanges + 1;
            }
            else
            {
              integer CntValSC = SingleCondObject.RightVal1();
              integer CntValSV = (web.webGetValueListCount(sv.ValueList()))-1;

              if( CntValSC > CntValSV )
              {
                SingleCondObject.RightVal1(CntValSV);
                SingleCondObject.RightVal2(0);
                CntPrgChanges = CntPrgChanges + 1;
              }
            }
          }
          elseif( (ist == istChar8859) && (SingleCondObject.RightVal1ValType() != ivtString))
          {
            SingleCondObject.ConditionType(1);
            SingleCondObject.RightVal1ValType(ivtString);
            SingleCondObject.RightVal1("please check program logic");
            SingleCondObject.RightVal2ValType(ivtString);
            SingleCondObject.RightVal2("");
            CntPrgChanges = CntPrgChanges + 1;
          }
        }
      }
    }
    string SingleDest;
    object SingleDestObject;

    foreach(SingleDest,dom.GetObject(ID_SDESTINATIONS).EnumIDs() )
    {
      SingleDestObject = dom.GetObject(SingleDest);
      if( SingleDestObject)
      {
        if( ((SingleDestObject.DestinationDP() == sv.ID()) && (SingleDestObject.DestinationParam()== ivtSystemId )))
        {
          if( ((ist == istAlarm) || (ist == istBool)) && (SingleDestObject.DestinationValueType() != ivtBinary))
          {
            SingleDestObject.DestinationValueType(ivtBinary);
            SingleDestObject.DestinationValue(false);
            CntPrgChanges = CntPrgChanges + 1;
          }
          elseif( (ist == istGeneric) )
          {
            if( (SingleDestObject.DestinationValueType() != ivtFloat))
            {
              SingleDestObject.DestinationValueType(ivtFloat);
              SingleDestObject.DestinationValue(system.GetVar("iMinVal"));
              CntPrgChanges = CntPrgChanges + 1;
            }
            else
            {
              if( SingleDestObject.DestinationValue() < system.GetVar("iMinVal"))
              {
                SingleDestObject.DestinationValue(system.GetVar("iMinVal"));
                CntPrgChanges = CntPrgChanges + 1;
              }
              if( SingleDestObject.DestinationValue() > system.GetVar("iMaxVal"))
              {
                SingleDestObject.DestinationValue(system.GetVar("iMaxVal"));
                CntPrgChanges = CntPrgChanges + 1;
              }
            }
          }
          elseif( (ist == istEnum) )
          {
            if( (SingleDestObject.DestinationValueType() != ivtInteger))
            {
              SingleDestObject.DestinationValueType(ivtInteger);
              SingleDestObject.DestinationValue(0);
              CntPrgChanges = CntPrgChanges + 1;
            }
            else
            {
              integer CntValSC = SingleDestObject.DestinationValue();
              integer CntValSV = (web.webGetValueListCount(sv.ValueList()))-1;

              if( CntValSC > CntValSV )
              {
                SingleDestObject.DestinationValue(CntValSV);
                CntPrgChanges = CntPrgChanges + 1;
              }
            }
          }
          elseif( (ist == istChar8859) && (SingleDestObject.DestinationValueType() != ivtString))
          {
            SingleDestObject.DestinationValueType(ivtString);
            SingleDestObject.DestinationValue("please check program logic");
            CntPrgChanges = CntPrgChanges + 1;
          }
        }
      }
    }
    if ( CntPrgChanges > 0 )
    {
      string Meldung = "saveSysVar - SC oder SD angepasst: Die Systemvariable '" # sv.Name() #"' wurde " # CntPrgChanges # " mal in " # sv.DPUsageCount() #" Programm(en) verwendet. Nach Typ-Aenderung sollte die Programm-Logik ueberprueft werden.";

    }
    else
    {
      string Meldung = "saveSysVar - angepasst an Systemvariable '" # sv.Name() #"' ohne Einfluss auf Programme.";

    }
  }
! ENDE modified 0097-WebUI-SetSysvarValueByUser

  if (oChn)
  {
    oChn.DPs().Add( sv.ID() );
    sv.Channel( oChn.ID() );
  }
  else
  {
    oChn = dom.GetObject( sv.Channel() );
    if( oChn )
    {
      oChn.DPs().Remove( sv.ID() );
    }
    sv.Channel( ID_ERROR );
  }

  if (system.GetVar("sValue")) { svValue = system.GetVar("sValue"); }
  sv.State(svValue);
  dom.RTUpdate(0);
  }
  return;
}


text:
Universal Wrapper Device may fail to recognize device type

Referencing channel 3 of HM-LC-Sw4-DR does not recognize channel type. While it does work for the other 3 channels:
CUX9001004:	CCU(SWITCH,'KEQ084XXXX:2.STATE') trigger(2:1.000)
CUX9001005:	CCU(SWITCH,'KEQ084XXXX:1.STATE') trigger(2:1.000)
CUX9001007:	CCU(SWITCH,'KEQ084XXXX:4.STATE') trigger(2:1.000)
CUX9001008:	CCU((null),'KEQ084XXXX:3.STATE') trigger(2:1.000)

Affects Version 1.10b1 on RaspberryMatic 2.29.18.20170731.

This rather looks like a ReGaHss problem with your device.
Try the following HM-script to verify that.
string c; foreach (c,root.Channels().EnumUsedIDs()){   var c1 = dom.GetObject(c);   if (c1.Address().Find('KEQ084XXXX') != -1) {     var c2 = dom.GetObject(c1.Interface());     WriteLine(c2.Name() # '|' # c1.Address() # '|' # c1.HssType());   } }

Thanks for looking, result is:
BidCos-RF|KEQ084XXXX:1|SWITCH
BidCos-RF|KEQ084XXXX:2|SWITCH
BidCos-RF|KEQ084XXXX:3|SWITCH
BidCos-RF|KEQ084XXXX:4|SWITCH

I noticed I have attached additional custom datapoints to this channel. Here is an extract of XMLAPI statelist.cgi.

Dropping and recreating the custom data points after CUxD has made its checks seems a working workaround (until next reboot). Hence suggesting to reopen this issue to improve the datapoint matching algorithm in CUxD.

I don't see a problem with datapoint matching here.
What are the CUxD Syslog messages after you reboot your CCU?
There should be lines like this in the log:

... setup CUX9001004: ...
...
...

Maybe the channels are not fully available directly after the CCU reboot?
The wrapper device should work anyway, or doesn't it?

Thanks for pointing into direction, the error in Syslog reads:
Aug 15 20:24:53 homematic-raspi local0.err ReGaHss: Error: IseESP::ScriptRuntimeError: string c; string ret; foreach (c,root.Channels().EnumUsedIDs()){ var c1 = dom.GetObject(c); if (c1.Address().Find('KEQ084XXXX:3') != -1) { var c2 = dom.GetObject(c1.Interface()); ret = c2.Name() # '|' # c1.Address() # '|' # c1.HssType() # '|'; string dp; foreach (dp,c1.DPs()) { ret = ret # dom.GetObject(dp).HssType() # '|'; } Write(ret); quit; } }  [iseESPexec.cpp:12344]

Indeed dom.GetObject(dp).HssType() returns nothing for custom datapoint (that is variable assigned to a channel), hence the concatenation fails. A bit unsure what part is generating that script...

I can confirm, this affects only the logs and user interface (the 2 read only fields used for device configuration feedback).

CUxD generates this script, so maybe it has to check dom.GetObject(dp).HssType() for existence first?
Since I don't have custom datapoints, can you please check if that would work?
Or maybe use another method to return the datapoints?
The HM-script is defined in cuxd.inc, section ##15
Please let me know the results.

Thanks for pointer.
We can check that the DP object has the TypeName "HSSDP" (btw custom DP have the type VARDP), see branch fix-VARDP. For the moment, I am still not clear of the actual meaning of '|' char in section ##28 start of lines 503, 504 and 507, hence waiting until the fix is complete before creating the pull request...

The '|' lines are comment lines. They are ignored.
section ##28 is used for a similar (older) function with a different return value in CUxD device (05) FS20 Relais.

Thanks, was thinking it was a complex way of doing conditional statement's injections ;-)
Issue shall now be fixed by pull request #7 .
Regards

@mulder999 Thanks for this nice fix for recent CCU firmwares (2.29.18+)
@uwe111 please take over this file into your own build environment for the CCU1+CCU2 builds of future CUxD versions.

repo: jens-maus/cuxd


text:
Fixes truncate function #1306

Make the truncate function only remove documents and not drop the collection
Resolves: #1306

Codecov Report

Merging #1993 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #1993      +/-   ##
============================================
- Coverage     86.75%   86.75%   -0.01%
  Complexity      666      666
============================================
  Files            31       31
  Lines          1518     1517       -1
============================================
- Hits           1317     1316       -1
  Misses          201      201

Impacted Files
Coverage Δ
Complexity Δ

src/Jenssegers/Mongodb/Query/Builder.php
88.85% <100%> (-0.04%)
165 <1> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 279b18c...040c1fa. Read the comment docs.

This should be pushed to develop branch not master, since this is a breaking change.

Sorry this is my first ever merge request and i'm not quite sure how to correct the things you guys have told me. How can i "append" a new commit to this pull request? Or should i make a new pr on the develop branch?

I think that you left this PR
@divine this is bug and i think that we should fix in release 3.6.3 based on branch master

Sorry this is my first ever pull request and i'm not quite sure how to correct the things you guys have told me. How can i "append" a new commit to this pull request? Or should i make a new pr on the develop branch?

Just edit your https://github.com/Yahatix/laravel-mongodb and changes will be reflected here.
--
@Smolevich ok, no problem.

Codecov Report

Merging #1993 into master will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #1993      +/-   ##
============================================
- Coverage     87.15%   87.14%   -0.01%
  Complexity      672      672
============================================
  Files            31       31
  Lines          1541     1540       -1
============================================
- Hits           1343     1342       -1
  Misses          198      198

Impacted Files
Coverage Δ
Complexity Δ

src/Jenssegers/Mongodb/Query/Builder.php
89.06% <100.00%> (-0.03%)
170.00 <1.00> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4a7f5c1...95551ca. Read the comment docs.

@Smolevich any objections?

authors: Smolevich Yahatix codecov-commenter codecov-io divine

repo: jenssegers/laravel-mongodb


text:
🛑 Main - jeremi.fr.to is down

In c1fe00a, Main - jeremi.fr.to (https://jeremi.fr.to) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Main - jeremi.fr.to is back up in b6a4c2e.

repo: jeremibiz/upptime


text:
ACME device attestation and TPM residency of AKs

I see you're working on implementing acme-device-attest. I'm curious, how does that flow can guarantee TPM residency of AKs as described in TPM 2.0 Keys for Device Identity and Attestation?

The device-attest-01 challenge does not implement a workflow mentioned in the TPM 2.0 Keys for Device Identity and Attestation. It implements a workflow that more closely aligns with the WebAuthn standard which supports more than just TPMs.
I've created a new challenge type for this project, device-01, which does follow the TCG specs you mentioned. It currently supports both of the Identity Provisioning use cases mentioned for OEM's, and I will add more in the future.
I actually just got the first end to end test working today. You can be the first to give it a try and let me know what you think:
ACME Server:
cd /tmp
mkdir server
cd server
cp ~/sources/go-trusted-platform/configs/platform/config.debug.server.yaml config.yaml
~/sources/go-trusted-platform/tpadm webservice \
    --debug \
    --init \
    --platform-dir trusted-data \
    --config-dir trusted-data/etc \
    --log-dir trusted-data/log \
    --ca-dir trusted-data/ca \
    --raw-so-pin test \
    --raw-pin test

ACME Client:
cd /tmp
mkdir client
cd client
cp ~/sources/go-trusted-platform/configs/platform/config.debug.client.yaml config.yaml
~/sources/go-trusted-platform/tpadm webservice \
    --debug \
    --init \
    --platform-dir trusted-data \
    --config-dir trusted-data/etc \
    --log-dir trusted-data/log \
    --ca-dir trusted-data/ca \
    --raw-so-pin test \
    --raw-pin test

/etc/hosts

127.0.0.1	localhost server1.trusted-platform.local node1.trusted-platform.local node1-api.trusted-platform.local

Both the ACME server and client will start up using the embedded TPM simulator. The platform software fully provisions the TPM, including an EK, SRK, IAK, and IDevID keys. Then, the client will see the ACME client config and use the configured ACME server endpoint to request an EK, IAK, IDevID certificates (with all of the proper TCG OIDs) and finally, a web server TLS certificate using a standalone pkcs8 key.
The EK is retrieved using a custom endorse-01 challenge to support automated OEM factory device provisioning use cases.
The IAK and IDevID is retrieved using a custom device-01 challenge that uses the TCG workflow you mentioned above, using a modified version of the http-01 challenge, where instead of returning the key authorization as in http-01, the TCG-CSR-IDEVID is returned with the key authorization used in the qualifying attestation data.
Finally, a TLS certificate is requested & issued, using a separate pkcs8 key, for its web services which will be running on localhost:8443. You can inspect the certificate in the browser to confirm it's issued by the Enterprise CA.
I've run into an issue fully implementing the device-attest-01 challenge and sent @brandonweeks an email to address the issue. The device-attest-01 requires sending the attestation statement to the ACME server during the "Accept" call, which is not compliant with RFC-8555. As such, the Golang ACME client library I'm using does not support sending the device-attest-01 payload, and is in fact hard coded to send an empty object per RFC 8555. It looks like in the past this library did support sending a custom payload, but that support was removed in the latest versions.
It seems like there are 3 paths to pursue with device-attest-01:

Piggyback http-01 or dns-01 similar to how I implemented device-01 , or use some other async procedure.

Change RFC 8555 to support an ACME client sending the challenge response along with the "Accept" response. I think this is the most desirable because there is no reason to require an async verification process for device attestations. This eliminates the need for clients to open firewall ports or make configuration changes to verify anything, since everything needed is contained within the attestation. This also shaves off a round trip in the process which reduces latency.

Leave the spec as is and force ACME clients to deviate from RFC 8555. I actually started to go down this path, but ran into a wall when the JOSE library being used to sign JWS requests is base64 encoding the ACME replay-nonce, causing the validation to fail, and there is no way to change the behavior in the library. That means going further down the rabbit hole, creating a custom serializer, signer, etc, finding a new ACME client library, or creating an entire low level client to replace the crypto/acme client altogether. Ugh.

I just pushed the latest code to the feature/acme branch if you want to check it out.

Ahh! Okay, that makes sense. Great timing! I'll give this a go and read about your endorse-01 and device-01 challenges.

I'll take a closer look when I get a chance but drive by comment in the mean time:

It implements a workflow that more closely aligns with the WebAuthn standard which supports more than just TPMs.
The intent is not to align with WebAuthn per se. It is just that every other attestation schemed covered by the acme-device-attest document is able to attest without prerequisite steps.

In order to make the TPM specifications generalizable to both enterprise and privacy preserving use cases the concept of a third party attestation/privacy CA is included. Until a subject device has been issued an AK certificate, it is unable to participate in any attestation flow, including the ACME flow described by acme-device-attest.
There are a lot of considerations in implementing an attestation CA, including important privacy considerations. It seems inappropriate for a acme-device-attest to prescribe a specific design, especially in such a short document.

I notice that the ACME client starts as a web server

tpadm webservice

Is this necessary? Does the client have to be addressable for endorse-01 and device-01 to work?

The ACME client is starting with the web service because the web server needs a TLS certificate before it can start. Therefore, it fires up the ACME client first to request it, but before that can happen, the attestation procedure outlined above takes place first so that by the time a TLS certificate is being requested, the ACME server can perform the device-attest-01 challenge. As Brandon mentioned, that challenge expects the ACME server to already know about the permanent-identifier and how to verifiy the attestation statement, which implies some kind of enrollment has already happened. For this reason, endorse-01 and device-01 were created, to allow the device to be enrolled first, so the CA has the root certificates, permanent-identifiers or whatever else it needs to complete the device-attest-01 challenge.

The same efforts to make the NATed devices work would be required for http-01 as well. dns-01 doesn't seem like a good candidate due to the attestation statement payload size. The most convenient solution for device attestation is to send the attestation payload when the client accepts the challenge, as defined in device-attest-01. I also prefer this approach and don't see any reason why it can't / shouldn't be supported.
If you have other suggestions for a challenge type that would make the an async validation process more automation and administration friendly for NATed devices, I'm open to suggestions.
I pinged the Boulder team. I'm interested in their thoughts on this as well.
https://github.com/letsencrypt/boulder/issues/7798

Cheers @jeremyhahn — that sounds sensible. I've subscribed to that issue, will see what comes of it. I look fowrard to seeing what you do in this space

I confirmed via the ACME mailing list that the empty payload object is not a strict RFC requirement and opened a PR to allow the golang acme client to support our use case.
https://github.com/golang/crypto/pull/305
https://go-review.googlesource.com/c/crypto/+/628635
Upon merge, I'll finish wiring up the last remaining piece for acme-device-attest and refactor the custom enrollment challenges to reduce a round trip.
I'm going to leave this issue open until complete.

You may be able to use acmez in the meantime. An example using it with device-attest-01 is available here: https://github.com/mholt/acmez/blob/527e47cae3f84fa3a92d1d9b9c21c5eb0b44359a/examples/attestation/main.go.

authors: NickDarvey brandonweeks hslatman jeremyhahn

repo: jeremyhahn/go-trusted-platform


text:
Owasp scan still reflects vulnerability for CVE-2020-26945 when mybatis 3.5.6 is used.

Don't know if this is the correct channel post for CVE-2020-26945 that was flag by Owasp scan.
Recently we did a OWASP scan on the libs for my project and a vulnerability was flagged for mybatis-spring-2.0.5.jar on CVE-2020-26945 to use mybatis-3.5.6.
Thus I have up only mybatis to 3.5.6 with mybatis-spring-2.0.5 and did another owasp scan. The vulnerability is still being reported.
Thinking maybe I need to up mybatis-spring to 2.0.6 wth 3.5.6 and did another scan. The vulnerability is still being reported. Is there issue with the dependency?
The fact that synk seems to show its correct here https://snyk.io/vuln/SNYK-JAVA-ORGMYBATIS-1017032
For expert advice. Thanks alot.
Best Regards,
Taroace22
![2 0 6 Owasp Result](https://user-images.githubusercontent.com/75116983/100538953-d584b400-326d-11eb-9331-9a64990114ae.jpg)

Likely a false positive. Please see:

How dependency-check works
Reading the report
False positives

repo: jeremylong/DependencyCheck


text:
chore: Revert "build(deps): bump com.h2database:h2 from 2.1.214 to 2.2.224"

Reverts jeremylong/DependencyCheck#5940
Unfortunately, due to issue with Gradle the H2 dependency cannot be upgraded. we can reintroduce this PR once https://github.com/gradle/gradle/issues/27156 is resolved.

@jeremylong - given this reversion, is the note about the database breaking changes mentioned in the documentation still relevant?

While technically it won't break - it will basically act as if you've purged due to differences between the data feed and the API you will end up having to re-download the entire NVD dataset.

authors: bmeier-pros jeremylong


text:
Issue690 threadsafe

Fixes Issue 690
Description of Change
Updated the Maven plugin annotations to indicate the plugins are threadsafe.
Have test cases been added to cover the new functionality?
Yes - see the maven dependency-check-maven\src\it\690-threadsafety\invoker.properties

See discussion in #690 - this PR did not resolve the requested enhancement. However, several bugs were fixed and a solid test case for future work on #690 has been implemented.


text:
Update Settings “manifest”

Automatically generated by Netlify CMS

👷 Deploy Preview for clinquant-pixie-1e1751 processing.

Name
Link

🔨 Latest commit
6c357bb09f67d249f3122875ebb39f2a85dc6a7e

🔍 Latest deploy log
https://app.netlify.com/sites/clinquant-pixie-1e1751/deploys/64ddeb2b58482400082a7f27


text:
[Bug?] Extra space on the right side of the screen on iOS safari in portrait orientation

Hi, I found that in the portrait mode of iOS safari, there is some extra white space on the right side of the screen(outside of the screen) ,that means you can accidentaly scroll to the white space.
You can see the problem on this sample site as well, so it seems not to be the problem of my code.
https://jeromeetienne.github.io/AR.js/three.js/examples/mobile-performance.html
Any solution to this?
Thank you!

I'm on Chrome 80 on Android 10. I have seen the same- a white border about as wide as the VR icon. But it's only there sometimes (less often than not). Feels random, I can't always reprodice it, but seems related to change of screen- either rotate from landscape back to portrait, or VR headset mode back to screen based AR.

authors: gordoncooke yu-takada


text:
Trackball camera problem

When trackball camera is chosen, preview is broken https://jeromeetienne.github.io/threejsboilerplatebuilder/
Chrome console throws:
Uncaught TypeError: undefined is not a function
in line 72 : cameraControls	= new THREE.TrackballControls( camera )
Hope that helps ;-)

thanks for reporting. i will look

repo: jeromeetienne/threejsboilerplate


text:
Subgraph plotting: enhancement for showing mutations

It would be nice for sc2ts.utils.plot_subgraph to be able to plot the number of mutations as a series of blue bars or perpendicular lines, as in Fig 1 of the sc2ts preprint, as an optional replacement for the current dark red numbers. This is only useful for smaller numbers of mutations per edge, but gives a nicer visual feel for the number of mutations on an edge than a number.

This is out date, the ARG-visualiser is doing this work now

authors: hyanwong jeromekelleher


text:
关于artitalk

使用butterfly-artitalk时请问如何去掉artitalk页面里的Valine评论

artitalk 的 option 就是给你们配置这些的


text:
Fix documentation errors

Doxygen reported a few issues, which are fixed by this patch:

ArrayBuffer-related documentation group names and titles were
incorrect.
Some Date-related helper functions used incorrect parameter
documentation syntax.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu

The doxygen warnings were:
jerry-core/ecma/builtin-objects/ecma-builtin-string.c:43: warning: group string: ignoring title "ECMA String object built-in" that does not match old title "ECMA ArrayBuffer object built-in"
jerry-core/ecma/operations/ecma-arraybuffer-object.h:24: warning: group ecmaarraybufferobject: ignoring title "ECMA Arraybuffer object related routines" that does not match old title "ECMA ArrayBuffer object related routines"
jerry-core/ecma/builtin-objects/ecma-builtin-arraybuffer.c:40: warning: group arraybuffer: ignoring title "ECMA ArrayBuffer object built-in" that does not match old title "prototype ECMA ArrayBuffer.prototype object built-in"
jerry-core/ecma/builtin-objects/ecma-builtin-date-prototype.c:192: warning: The following parameters of ecma_builtin_date_prototype_dispatch_get(uint16_t builtin_routine_id, ecma_number_t date_num) are not documented: parameter 'date_num'
jerry-core/ecma/builtin-objects/ecma-builtin-date-prototype.c:302: warning: The following parameters of ecma_builtin_date_prototype_dispatch_set(uint16_t builtin_routine_id, ecma_extended_object_t *ext_object_p, ecma_number_t date_num, const ecma_value_t arguments_list[], ecma_length_t arguments_number) are not documented: parameter 'date_num'

repo: jerryscript-project/jerryscript


text:
Convert certain push number opcodes to literals

Benchmark
Heap (bytes)
Stack (bytes)
RSS (bytes)
Perf (sec)

3d-cube.js
16376 -> 16376 : 0.000%
15456 -> 15456 : 0.000%
57344 -> 53248 : +7.143%
0.835 -> 0.817 : +2.141%

3d-raytrace.js
120504 -> 121600 : -0.910%
2772 -> 2784 : -0.433%
106496 -> 106496 : 0.000%
1.067 -> 1.068 : -0.160%

access-binary-trees.js
32760 -> 32752 : +0.024%
3296 -> 3224 : +2.184%
49152 -> 49152 : 0.000%
0.594 -> 0.584 : +1.695%

access-fannkuch.js
4976 -> 4968 : +0.161%
1472 -> 1504 : -2.174%
20480 -> 16384 : +20.000%
2.220 -> 2.136 : +3.775%

access-nbody.js
6232 -> 6248 : -0.257%
1432 -> 1480 : -3.352%
24576 -> 24576 : 0.000%
1.197 -> 1.197 : -0.068%

bitops-3bit-bits-in-byte.js
688 -> 704 : -2.326%
1432 -> 1448 : -1.117%
16384 -> 12288 : +25.000%
0.553 -> 0.515 : +6.890%

bitops-bits-in-byte.js
656 -> 656 : 0.000%
1432 -> 1448 : -1.117%
16384 -> 12288 : +25.000%
0.763 -> 0.666 : +12.714%

bitops-bitwise-and.js
496 -> 496 : 0.000%
1208 -> 1224 : -1.325%
16384 -> 12288 : +25.000%
0.913 -> 0.910 : +0.275%

bitops-nsieve-bits.js
98296 -> 98304 : -0.008%
1432 -> 1448 : -1.117%
110592 -> 110592 : 0.000%
1.258 -> 1.154 : +8.311%

controlflow-recursive.js
744 -> 888 : -19.355%
69800 -> 67752 : +2.934%
86016 -> 77824 : +9.524%
0.402 -> 0.372 : +7.513%

crypto-aes.js
32976 -> 33056 : -0.243%
2156 -> 2148 : +0.371%
65536 -> 61440 : +6.250%
0.895 -> 0.865 : +3.363%

crypto-md5.js
106488 -> 106488 : 0.000%
1892 -> 1892 : 0.000%
131072 -> 126976 : +3.125%
0.652 -> 0.611 : +6.282%

crypto-sha1.js
65536 -> 65528 : +0.012%
1504 -> 1568 : -4.255%
86016 -> 81920 : +4.762%
0.641 -> 0.609 : +4.935%

date-format-tofte.js
16368 -> 16376 : -0.049%
1936 -> 1928 : +0.413%
36864 -> 36864 : 0.000%
0.728 -> 0.724 : +0.484%

date-format-xparb.js
16648 -> 16384 : +1.586%
2344 -> 2392 : -2.048%
45056 -> 36864 : +18.182%
0.414 -> 0.415 : -0.359%

math-cordic.js
1776 -> 1776 : 0.000%
1432 -> 1448 : -1.117%
20480 -> 12288 : +40.000%
1.260 -> 1.227 : +2.644%

math-partial-sums.js
1232 -> 1232 : 0.000%
1376 -> 1408 : -2.326%
16384 -> 12288 : +25.000%
0.790 -> 0.762 : +3.506%

math-spectral-norm.js
6080 -> 6088 : -0.132%
1580 -> 1572 : +0.506%
20480 -> 20480 : 0.000%
0.569 -> 0.553 : +2.791%

string-base64.js
90784 -> 90792 : -0.009%
1432 -> 1480 : -3.352%
143360 -> 139264 : +2.857%
1.546 -> 1.538 : +0.522%

string-fasta.js
16352 -> 16376 : -0.147%
1416 -> 1432 : -1.130%
28672 -> 28672 : 0.000%
1.355 -> 1.353 : +0.172%

Geometric mean:
-1.002%
-0.908%
+11.457%
+3.433%

Binary sizes (bytes)
c829b307e5:133240
fb03148671:133528
Large runtime gain. I think the RSS is just memory reorganization. Small memory cost except the recursive test. Binary size growth is minimal.

Please update the snapshot version, otherwise good to me.

authors: LaszloLango zherczeg


text:
CI

Add CI workflows for running build, unit, integration, and visual tests

Test failure is real, these work!

repo: jesseditson/weather-view


text:
fix: use the getEntries API rather than the Sync API

Description

This gets around a bug in the Sync API in which their built-in pagination violated their own 7MB response size limit. As a result, we couldn't use the Sync API. Instead, we're using getEntries to get all entries and assets, and then resolving their links using contentful-resolve-response.

Sweet thanks! and yeah, I wanted us to be able to configure in the future in case we run into problems again

repo: jessepinho/gatsby