[Bug]: Eufy Door Lock state not reported properly when unlocked

What happened?
It looks like 2.2.14 fixes the missing Eufy lock and I can toggle the locked and unlocked state, but I'm seeing issues with the reporting of the lock state.
Logs report a wrong value of 3 where the maximum value is 1.
Device Type
other (UnSupported)
Plugin Version
v2.0.x (Supported)
HomeBridge Version
v1.6.x (Supported)
NodeJS Version
v18 (Supported)
Operating System
Other (UnSupported)
Relevant log output
[09/09/2023 04:54:56]   [EufySecurity-2.2.14]   WARN    [LockAccessory.ts:110]  Front Door Something wrong on the lockstatus feedback
[9/8/2023, 11:54:56 PM] [homebridge-eufy-security] This plugin generated a warning from the characteristic 'Lock Target State': characteristic was supplied illegal value: number 3 exceeded maximum of 1. See https://homebridge.io/w/JtMGR for more info.
[9/8/2023, 11:54:56 PM] [homebridge-eufy-security] Error:
    at LockTargetState.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at LockTargetState.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2927:14)
    at LockTargetState.Characteristic.updateValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at Lock.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/src/plugin/accessories/LockAccessory.ts:54:28)
    at Lock.emit (node:events:525:35)
    at Lock.emit (node:domain:489:12)
    at Lock.handlePropertyChange (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/http/device.ts:2703:18)
    at Lock.updateProperty (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/http/device.ts:79:22)
    at Lock.handlePropertyChange (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/http/device.ts:2707:18)
    at Lock.updateProperty (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/http/device.ts:79:22)
[9/8/2023, 11:55:01 PM] [LGThinQ] [request] get https://aic-service.lgthinq.com:46030/v1/service/homes/160062726685392462
[9/8/2023, 11:55:01 PM] [LGThinQ] [Dishwasher] Received snapshot:  {"dishwasher":{"door":"CLOSE","courseType":"COURSE","initialTimeMinute":34,"mcReminder":"OFF","preSteam":"OFF","saltRefill":"NOT_SET","energySaver":"OFF","error":"ERROR_NO","nightDry":"ON","extraDry":"OFF","remainTimeHour":0,"course":"HEAVY/INTENSIVE","dualZone":"OFF","highTemp":"OFF","state":"RUNNING","process":"NIGHTDRY","reserveTimeMinute":0,"currentDownloadCourse":"POTS_PANS","cleanLReminder":"ON","rinseLevel":"LEVEL_2","signalLevel":"LEVEL_ON","remainTimeMinute":1,"reserveTimeHour":0,"delayStart":"OFF","softeningLevel":"LEVEL_0","tclCount":54,"smartCourse":"NONE","childLock":"OFF","rinseRefill":"NOT_SET","halfLoad":"OFF","initialTimeHour":3},"mid":12623912,"online":true,"static":{"deviceType":"204","countryCode":"US"},"meta":{"allDeviceInfoUpdate":false,"messageId":"7_alvYAjR4CNjn06asxXgA"},"timestamp":1694229857486}

config
{
    "username": "<Redacted>",
    "password": "<Redacted>",
    "country": "US",
    "deviceName": "",
    "platform": "EufySecurity",
    "ignoreStations": [
        "T8410P3121365E64",
        "T8410P4122322C95"
    ],
    "ignoreDevices": [
        "T8410P3121365E64",
        "T8410P4122322C95"
    ],
    "cleanCache": true,
    "cameras": [
        {
            "serialNumber": "T8422T10212800E8",
            "rtsp": false,
            "enableCamera": "true",
            "videoConfig": {
                "vcodec": "copy",
                "useSeparateProcesses": true
            }
        },
        {
            "serialNumber": "T8210P002041022D",
            "rtsp": false,
            "enableCamera": true,
            "videoConfig": {
                "vcodec": "copy",
                "useSeparateProcesses": true
            }
        },
        {
            "serialNumber": "T8142T4322421054",
            "enableCamera": "true",
            "videoConfig": {
                "vcodec": "copy",
                "useSeparateProcesses": true
            }
        },
        {
            "serialNumber": "T8142N432243119D",
            "videoConfig": {
                "vcodec": "copy",
                "useSeparateProcesses": true
            },
            "enableCamera": "true"
        },
        {
            "serialNumber": "T8142N4322431505",
            "enableCamera": "true",
            "videoConfig": {
                "vcodec": "copy",
                "useSeparateProcesses": true
            }
        },
        {
            "serialNumber": "T8422T102320011B",
            "rtsp": false,
            "enableCamera": "true",
            "videoConfig": {
                "audio": true,
                "vcodec": "copy",
                "useSeparateProcesses": true
            },
            "talkback": false,
            "refreshSnapshotIntervalMinutes": 0
        }
    ],
    "enableDetailedLogging": true
}

This is a duplicate of #407


Help wanted: Question: Where is the environment variable file ? / how to  "environment variable"?

Would like to use flarectl on mac to add 311 domains to CloudFlare.com
Installed cloudflare-go using https://brew.sh and Go
With the command
go get -u github.com/cloudflare/cloudflare-go/
Running:
./flarectl h
displays the version number and help file
QUESTION:
Next thing is a problem:
Re:
"You must set your API key and account email address in the environment variables CF_API_KEY and CF_API_EMAIL."
Could anyone please point in the right direction?
Question:
Where is the environment variable file ? / how to  "environment variable"?

There isn't an "environment file" that you need here. You pass in your credentials using environment variables. On unix systems, it looks like the following:
export CF_API_KEY="abc123..."<EMAIL_ADDRESS>
And windows:
set CF_API_KEY="abc123..."
set<EMAIL_ADDRESS>
And then run your flarectl commands.
This question is also a little outside the scope of this repository so I'd recommend doing some  research online (perhaps stackoverflow as a starting point) as to setting and using environment variables on your OS.

Thank you for great and fast support.
What is the command for adding a single domain using flarectl?
While out of the office and in the field it would be great to be able to ssh or mosh from iPhone to a server and from the server use flarectl to add a domain to Cloudflare.com

Thank you very much for providing access to the great tool flarectl
Flarectl will be a great timesaver both behind the desk in the office as well as out in the field with an iPhone and mosh access or ssh access to the server.

Would like to verify that all domains are secured with DNSSEC.
Can flarectl provide a list of the domains that are not secured with DNSSEC?
What would the command be?

What is the flarectl command equivalent to “Remove site from Cloudflare” in the control panel at https://dash.cloudflare.com/?

How to delete a zone?

You cannot with flarectl. There isn't support for it at the moment. Feel free to open a PR with this functionality if you'd like it. The command you're using (zone purge) is for cache purging.

How to list more than 20 domains?

Again, you cannot. This is an assumption made and you'll need to use the SDK if you'd like more. Again, please open a PR for this functionality if you'd like to use it.

Would like to verify that all domains are secured with DNSSEC.

This isn't exposed in the flarectl command. Instead, you'll need to use dig with the +dnssec flag. Alternatively, an online tool such as https://dnssec-analyzer.verisignlabs.com.


fix accessor cache on python 3.x

This is the only issue I've found so far running on Python 3.6 instead of Python 2.7 (an upgrade I'm trying to do now since Python 2.7 EOLs this year). Applying this patch results in correct rendering in graphite and correct ingestion through bg-carbon-cache.

Thanks for your contribution ! Can you rebase before we merge ?


[tests] handler decomposition

Why
Striking a balance between test handler reuse and colocating the handler specifiers with the tests that use them.
What changed

Decomposing monolithic server handler specifiers into directly DI-ing reusable components
For tests that need bespoke handlers, defining those alongside the methods that use them.

Test plan
CI

@cbrewster Following up on an earlier PR comment. This brings handler invocation closer to the tests that use them.


Support cgroup2 for docker integration

Describe what happened:
Docker integration fails to detect cgroup mount for cgroup2:
2021-04-13 07:22:54 UTC | PROCESS | WARN | (pkg/util/containers/providers/cgroup/cgroup_detect.go:137 in parseCgroupMountPoints) | No mountPoints were detected, current cgroup root is: /host/sys/fs/cgroup/

It is mounted though as cgroup2 filesystem type:
root@d6d9293d2d3c:/# mount | grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (ro,nosuid,nodev,noexec,relatime,seclabel)
cgroup2 on /host/sys/fs/cgroup type cgroup2 (ro,nosuid,nodev,noexec,relatime,seclabel)

Suspect it is because of this line only checking for cgroup filesystem type: https://github.com/DataDog/datadog-agent/blob/e081bed84866686eeab56a98da5ff9b4b9f03ded/pkg/util/containers/providers/cgroup/cgroup_detect.go#L121
Describe what you expected:
Expect it to work with cgroup2 🙌
Steps to reproduce the issue:
Setup the docker agent with a system using cgroup2.
Additional environment details (Operating System, Cloud provider, etc):
Fedora 33, Podman 3.0.1

Looks like #9121 started some of the work on this, but it's yet to be fully integrated, if I'm reading the code and PR discussion correctly.

Hello, yes, I've been told in internal ticket, that 7.33 should have improvements on this. Let's wait for it

Oh, Jesus. I had so many emails going back and forth w/ support and neither of us could figure this out. Thank god someone made this ticket!

Well, 7.33 is here and it still doesn't support this.

in 7.33 docker stats metrics are available though container. (not docker. anymore)
Engineering has introduced some additional metrics in version 7.33.0, however, these will be included under the new container check rather than the docker check.

This is meant to have cgroup v1 and v2 support, as well as provide a container runtime agnostic view to the metrics.
The idea is to have standard container.* metrics rather than: docker, cri-o, containerd specific metrics.

Hmm, I suppose it's no surprise that it doesn't work with the docker dashboard (which is a shame), but it doesn't work with the "containers" view as well (https://app.datadoghq.com/containers).

+1 here, having the same problem. Does not show up in the containers view or the docker view.


Support for controller

Hi aeon0, thank you for the great app.
Is it possible to add support for xbox controllers？
Or you can point me to the direction, I can look into it as well.
Thanks,
Neil

Juste use a tools for remaping the controller inputs. Lot of tools for that. like "JoyToKey'. If you play with steam, there is a mapper built into it.

Sorry I don't quite follow how to use JoyToKey to achieve that.
For "xbox controllers support", I mean I'm a xbox controller user on PC,
The filter tool sometimes doesn't trigger the gray/red/green filter box when using a controller to navigate between items.
AFAIK the filter triggers if the item has been previous mouse overed and then "focused" by using controller.

Dont you have completely different layout when using controller? The tool has hardcoded values for the grids in the inventory and stash (adjusted only by resolution). So I assume that is what you see. The tool thinks your items are alligned differently than they really are and thats why you see such inconsisten behaviour.
Adjust could be done. But hard for me to test :/

Dont you have completely different layout when using controller?

Thanks for replying!
Not completely , I see them as the same. Can you point me to the direction to adjust it please?

So for now, the only way is to map somehow a controller button to the hotkeys, or to have a keyboard alongside. I don't think we will have native controller support anytime soon. Sorry. Closing for now.


Problem when roll a dice

When I try to roll a dice this problem occurs, I don't know if this occurs with latest update or something like that

BR update broke the plugin. Hopefully I will have a look at it this weekend.
Lord Ashes
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Fri, Dec 17, 2021 at 9:32 AM DragonTaiko @.***>
wrote:

When I try to roll a dice this problem occurs, I don't know if this occurs
with latest update or something like that
[image: Capture]
https://user-images.githubusercontent.com/26847543/146558651-db3ebccc-ff9a-4899-b608-e5cc75ec6c68.PNG
—
Reply to this email directly, view it on GitHub
https://github.com/LordAshes/TaleSpire-ChatRollerPlugin/issues/2, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AGQ5Y6E35D2TLVZJHDWT5NTURNCYJANCNFSM5KI7QFTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

There is also a similar plugin called Chat Roll.
Lord Ashes
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Fri, Dec 17, 2021 at 10:09 AM Lord Ashes @.***> wrote:

BR update broke the plugin. Hopefully I will have a look at it this
weekend.
Lord Ashes
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#m_-3742988155641009664_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Fri, Dec 17, 2021 at 9:32 AM DragonTaiko @.***>
wrote:

When I try to roll a dice this problem occurs, I don't know if this
occurs with latest update or something like that
[image: Capture]
https://user-images.githubusercontent.com/26847543/146558651-db3ebccc-ff9a-4899-b608-e5cc75ec6c68.PNG
—
Reply to this email directly, view it on GitHub
https://github.com/LordAshes/TaleSpire-ChatRollerPlugin/issues/2, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AGQ5Y6E35D2TLVZJHDWT5NTURNCYJANCNFSM5KI7QFTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


user should see an explation of how transaction fees work during initial transaction

Currently, during the "Initialize Wallet" transaction, we pop up a modal explaining initializing a wallet means + why there is a fee to do so.
We will need to extend this modal in the following ways:

[ ] It should show up on the FIRST transaction that anyone ever does (initialize wallet or anything else).
[ ] It should have the following text (or similar)

Augur is a peer-to-peer system, and certain actions require paying a small fee to other users of the system. The cost of these fees will be included in the total fees displayed when taking that action. Trades, Creating Markets, and Reporting on the market outcome are examples of such actions.
Augur will reserve $N of your funds in order to pay these fees, but your total balance can be cashed out at any time. To see the total amount reserved for fees, click on the Account menu.

From @Chwy5
Yeah we should do this now, the UX is a little confusing
1)We should remove the gsn wallet number from the dropdown and just say Wallet (can still get the acct number through add funds)
2) We should add Eth Reserve (?) in the Account Menu
3) Add tooltip copy: Augur will reserve $(N) of your funds in order to pay these fees, but your total balance(Available Dai + Eth Reserves) can be cashed out at any time.

@pgebheim do we know what this value will be? Is it static or will i need to get this from a helper contract method.
reserve $N

All looks good when I create an open order. But if I take an order off the books I'm not seeing the popup modal

@matt-bullock can you retest the above and let me know if its still an issue on your end?

All looks good when I create an open order. But if I take an order off the books I'm not seeing the popup modal

@andrewdamelio no longer seeing that issue. Closing out


fix Drive's xlsx conversion issue.

When calling Drive.Files.Insert() with Excel 2007 (Open XML Format) and Convert(true) option, Google Drive ignores converting option.
Expected HTTP request (multipart) is the following:
--3c664c807714f0f19cbe60d94d7b6b69e7676da09d2f07b8bb4ce2df6c96

Content-Type: application/json

{"mimeType":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","title":"test_xlsx"}

--3c664c807714f0f19cbe60d94d7b6b69e7676da09d2f07b8bb4ce2df6c96

Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

 (xlsx body)

But googleapi.ConditionallyIncludeMedia() added auto detected MIME (application/zip) as a second part Content-Type. My fix adds as same MIME type as client code explicitly adds. Now Drive's Spreadsheet conversion works fine.

We have a new Media implementation coming soon that will enable the content type to be explicitly specified, so I think we will not move forward with this patch... Feel free to continue using it locally until the new version is ready, of course.

Additionally, we do not use pull requests. Github is only a mirror. See https://github.com/google/google-api-go-client/blob/master/CONTRIBUTING.md

Thank you for your reply.
My goal of this Pull-Request is to notify the existence and the cause of the issue (because there is no issue page of this module). I look forward to use new Media code :)

You can also currently use a ContentTyper that overrides the Content-Type:
https://github.com/shibukawa/google-api-go-client/blob/ce366bef7ecdbde760cb97f7c0ac4f039ccdf864/googleapi/googleapi.go#L30
You can see an example of its usage in the Google Cloud Storage veneer library:
https://github.com/GoogleCloudPlatform/gcloud-golang/blob/master/storage/types.go#L307


ISSUE-640 : Fix URL failover mechanism in Schema Registry Client

Fixes #640

@kamalcph and @guruchai : Addressed PR comments.

@guruchai and @kamalcph: Can you guys review the PR ? I want to merge this by end of day (18 Feb).

@guruchai: Can I go ahead and merge the PR ?


ImportError: No module named flask; requirement.txt must be manually run

Problem
rasa NLU version 0.8.0a11
For github installation, the README.md states
git clone git@github.com:golastmile/rasa_nlu.git
cd rasa_nlu
python setup.py install

However, when I run the program...
>>> python -m rasa_nlu.server
Traceback (most recent call last):
...
ImportError: No module named flask

The requirement install wasn't run.
I get the same issue when installing via pip, i.e. pip install rasa_nlu.
Must manually install requirements.txt
Minor issue for the github installation; just trips-up people who don't have much experience in python.
For the pypi installation, more of a concern.

Hello,
I have the same problem.
Thanks.

Running pip install -r requirements.txt to install all the requirements should resolve your immediate problem.


[RELEASE] 2022.10.1 - first CalVer release 🎉

Release Checklist
Release details
Scheduled release date - TBD
Release captain responsible - @iameskild
Starting point - a new release is out

[x] Create this issue to track and discuss the upcoming release.
[ ] Use the previous release issue for any final release-specific discussions, then close.

This can be a good time to debrief and discuss improvements to the release process.

Looking forward - planning

[ ] Create milestone for next release (if it doesn't already exist) and link it back here.
[ ] Triage bugs to determine what be should included in the release and add it to the milestone.
[ ] What new features, if any, will be included in the release and add it to the milestone.

This will be, in large part, determined by the roadmap.
Is there a focus for this release (i.e. UX/UI, stabilitation, etc.)?

Pre-release process

[ ] Decide on a date for the release.

What outstanding issues need to be addressed?
Has documentation been updated appropriately?
Are there any breaking changes that should be highlighted?
Are there any upstream releases we are waiting on?
Do we need to update the dask versions in the qhub-dask?
Will there be an accompanying blog post?

[ ] Prepare for the release.

[ ] Announce build freeze.
[ ] Release Candidate (RC) cycle.

Is this a hotfix?

[ ] Create a new branch off of the last version tag.

Use this branch to cut the pre-release and the "official" release.

[ ] git cherry-pick the commits that should be included.

[ ] Perform end-to-end testing. Use the Testing Checklist template.

For minor releases, relying on the end-to-end integration tests might suffice.

[ ] Cut RC via GHA release workflow (w/ "This is a pre-release" checked).
[ ] End-user validation.

If possible, pull in volunteers to help test.
(Repeat steps if necessary)

[ ] Update RELEASE.md notes.

Cut the official release
These steps must be actioned in the order they appear in this checklist.

[ ] Tag, build and push docker images
[ ] Update and cut release for qhub-dask meta package on Conda-Forge.
[ ] Cut PyPI release via GHA release workflow.

Copy release notes from RELEASE.md.

[ ] Merge automated release PR for qhub on Conda-Forge.

Blocked until complete switch over from QHub --> Nebari

Notes on the checklist items

[ ] Update..... nebari-dask meta package should point to the nebari-dask

Also should this not be updated in the Docker images? (see https://github.com/nebari-dev/nebari-docker-images/blob/main/dask-worker/environment.yaml)
And if so we might need to change the order: update and release nebari-dask -> update Docker images -> tag and push Docker images

[ ] Merge automated PR for nebari

This checklist still references qhub all over the place so we need a PR to fix this (we have #1451 for this)

RC1 is available on PyPI: https://pypi.org/project/nebari/2022.10.1rc1/


Checker.Match: use a tactic to rewrite match equalities

Hmm.. this seemed to loop in CI.

This should now work after being made much more efficient.


fix: don't expect str point id to be a UUID (local collection)

resolves #293
All Submissions:

[x] Contributions should target the dev branch. Did you create your branch from dev?
[ ] Have you followed the guidelines in our Contributing document? No - can you point me to the doc?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Changes to Core Features:

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[NA] Have you written new tests for your core changes, as applicable?
[x] Have you successfully ran tests with your changes locally?

I've described in #293 why it can't be merged


Update dns-validation.rst

HI,
Page: https://docs.cert-manager.io/en/latest/tasks/issuers/setup-acme/dns01/index.html
I would like to update the dns01 setting to 0.8+ as I found the dns01  tutorial is outdated.
Reference
https://docs.cert-manager.io/en/latest/tasks/upgrading/upgrading-0.7-0.8.html
Best,
Alpha

@munnerz I update the commit, plz review it.
thx !

It looks like you have still left the certificate.spec.acme stanza in place - can you remove that too, as it's no longer required? 😄

Also, this PR should help resolve #2039 😄
If possible, would you mind also updating the http-validation.rst guide in the same directory so we can close the issue off? 🙌

ok. let me do it on Monday. thx man

It looks like you have still left the certificate.spec.acme stanza in place - can you remove that too, as it's no longer required? 😄

Which line. Can u help me to point it out ?

Also, this PR should help resolve #2039 😄
If possible, would you mind also updating the http-validation.rst guide in the same directory so we can close the issue off? 🙌

done

Which line. Can u help me to point it out ?

Lines 78-87 in the HTTP01 guide, and lines 109-119 in the DNS01 guide 😄

Which line. Can u help me to point it out ?

Lines 78-87 in the HTTP01 guide, and lines 109-119 in the DNS01 guide 😄

done with commit f423613e7 plz review it again.

One final comment! Sorry for all the back and forth with this, and thank you for your persistence! 😄

One final comment! Sorry for all the back and forth with this, and thank you for your persistence! 😄

ooo.
It is open source and i am so happy to contribute it. As I want it get great adoption by making it dead simple to learn

/override dco
/lgtm
/approve
/ok-to-test
/release-note-none


can't travel to Urgoz's

I can't travel to Urgoz's Warren. it doesnt matter where i want to start (Kamadan, Embark, Kaineng)
and yes i may enter this outpost

https://github.com/HasKha/GWToolboxpp/releases/tag/2.19_Release
3rd before last point.

Hey.
sorry for wasting your time but i meant this function
best regards
lars
Am Mi., 20. Feb. 2019 um 16:01 Uhr schrieb Ziox<EMAIL_ADDRESS>
Closed #304 https://github.com/HasKha/GWToolboxpp/issues/304.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/HasKha/GWToolboxpp/issues/304#event-2152182115, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Atm2eVRRn5GtgAUzYtcePMaGEOOXQanPks5vPWM6gaJpZM4bFWnE
.


[Bug]: Consumption planning assumes deviation will stay "forever"

Contact Details
<EMAIL_ADDRESS>VRM portal ID
c0619ab31cc4
Country / region
Netherlands (nl)
B max
40
TB max
6
FB max
6
TG max
16
FG max
16
Battery costs
0.027
Buy price
(p+0.13)*1.21+0.02
Sell price
(p+0.13)*1.21-0.02
feed-in possible
yes
feed-in control
None
Version
0.1.6
What happened?
Sometimes, when there is substantial more consumption than planned, a recalculation of future consumption assumes the deviation will last for the foreseeable future. This harms future SOC planning. I know that at some point in time during the day, when a new recalculation is done, this will be corrected, but some harm may have been done.
In the screenshot the high consumption stopped at 15:30 (car charging, started at 14:00, until 15:30)
I do  not know how you do the consumption planning, but if a deviation of the planned consumption has been found, then assume this will only last until the next planning recalculation. At least that would be my suggestion.
This is not an urgent matter. Please go on with fixing other bugs. You are doing a great job.
Relevant log output
No response
Screenshots

At +/- 17:30 things turned normal again and target SOC's got adjusted:

![DESCRIPTION](LINK.png)

yes this is an urgent manner! at least for me it is. I see this behavior when when my EV charger turns on. (load of 11kw for a few hours, which is mostly finished at the end of the afternoon) the whole evening DESS is forecasting huge consumptions and therefor unnecessarily (dis)charging the battery.
is there a way to force recalculation? or to ignore load for a certain time period?


Structured reasons for rejection

Context
We need to capture specific information about why a candidate's application is being rejected so that the feedback given is relevant and useful to the candidate.

Changes proposed in this pull request
Adds structured questions/reasons for rejecting an application in the provider interface and persists them in the same structure.
Initial questions with validation fail

Other reasons for rejection

Checking / Confirming answers

Guidance to review
The bulk of the complexity is in the conditional validation logic, I've tried to keep this as simple as I can but there's a lot of it.
Does the feature flag strategy make sense in terms of releasing this feature and switching from the simpler single rejection reason?

Link to Trello card
https://trello.com/c/azXp4WN4/2238-🏈-structured-reasons-for-rejection

Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

@steventux the feedback is showing up buggy and the content isn’t quite right:

Should be like this:

@adamsilver most thorough design review in a PR ever? ⭐

On the review app, I'm stuck on the commit page:

Also, attempting to view a newly rejected application, (with safeguarding concenrs from the vetting process), I get a 500.

So nearly there! I checked "Would like them to apply again" but didn't see the "Future applications" section in the summary. And in the prototype the checkboxes are now big — is that correct @adamsilver ?

Two more qs:

If I select "no" for either "safeguarding issues" or "honesty and professionalism" the go back and select "yes" for "safeguarding issues" should the summary still contain the "any other advice" field?
If I click "cancel" on the last page should my answers so far be cleared?

@duncanjbrown I'd assume the answer to your first question is no, if the step flow omits the 2nd step because of a change to the answers on the first then the summary shouldn't contain these. Another fun quirk of clearing out answers, @adamsilver can you confirm?
Second point: In the prototype cancel takes you back to the application but answers are retained, is this correct @adamsilver ?

@duncanjbrown https://github.com/DFE-Digital/apply-for-teacher-training/pull/3404/commits/b67e0a275105af6e52d4052da3c9a5b7b1dbdee8 unsets other reasons if conditions change and these become irrelevant as per your question here https://github.com/DFE-Digital/apply-for-teacher-training/pull/3404#issuecomment-735712177 I'm assuming this is the right thing to do. I've addressed check box size and added the missing Future applications section to the summary in the two commits before this.


Fix possible thread safety issues with BaseExecutor

In a multithreaded environment, auto increment / decrement may lead to thread safety problems, which may lead to some code never executing
if (queryStack.get() == 0 && ms.isFlushCacheRequired()) {
      clearLocalCache();
}

if (queryStack.get() == 0) {
      for (DeferredLoad deferredLoad : deferredLoads) {
        deferredLoad.load();
      }
      // issue #601
      deferredLoads.clear();
      if (configuration.getLocalCacheScope() == LocalCacheScope.STATEMENT) {
        // issue #482
        clearLocalCache();
      }
}

Executor is not thread safe by design.

Do you have a repro?

Executor is not thread safe by design.

Do you have a repro?

That may be because I misunderstood.
Let me describe my understanding:
The lifecycle of sqlsession is bound to mapper, while the lifecycle of executor is bound to sqlsession. If multiple threads execute the same mapper object, will it indirectly lead to thread safety problems of executor? Or is the process I described wrong?

Sorry, I didn't read the source code of spring-mybatis. Here, SQL session is bound to thread, so there is no thread safety problem.
I'll close this pr


Micropython + LittlevGL blog post

Also added step-by-step explanation about installing Ruby and Jekyll, building and serving the blog.

@amirgon
Looks great, thank you very much!
I've just quickly read it thought and it seems fine from my side. Is it ready to merge?

I've just quickly read it thought and it seems fine from my side. Is it ready to merge?

@kisvegabor I think it's ready to merge.
Are you planning to update littlevgl/lvgl README.md, and add micropython as an lvgl feature? If you want I can send you a PR for that.
Once LittlevGL announces micropython availability, I think it would be a good idea to post something in Micropython forum, I think it will get some interest.
Another thing we can do to is submit a tip on Hackday, or some other embedded / makers website. It might add a few additional GitHub starts to lvgl  :wink:
What do you think?

Merged!

Are you planning to update littlevgl/lvgl README.md, and add micropython as an lvgl feature? If you want I can send you a PR for that.

Yes, I'm planning to update the READMe and the website too to mention the Micropython support.
So a PR to update the README would be welcome. Please do it with a similar style like the other features.

Another thing we can do is submit a tip on Hackaday, or some other embedded / makers website. It might add a few additional GitHub starts to lvgl

What a  coincidence! I've just sent a Hackaday tip this Friday. :smile:  I mentioned Micropython too! :wink:

@amirgon
I've read your post carefully and found three things:

The cover image wasn't square therefore it scaled badly. I added a square version of the original image.
The alignment in self.symbol.align(self, lv.ALIGN.CENTER,0,0) has no effect because the buttons have LV_LAYOUT_CENTER by default and it overwrites the "user align".
Probably it's the lack of my deep Python knowledge but I didn't understand what lambda action,name=name: self.label.set_text('%s click' % name) does. Maybe - similarly to me - other non-Python experts will read the post and won't understand it as well. Could you add a few lines to make it clearer?

@kisvegabor
Thank you for reviewing my post!
I will fix these issues and send you a PR.

@amirgon
Hackaday post: https://hackaday.com/2019/02/28/littlevgl-brings-gui-tools-to-micropython/
I wrote about LittlevGL in general but they have chosen the Micropython binding to highlight.
Congratulation!

@amirgon
Hackaday post: https://hackaday.com/2019/02/28/littlevgl-brings-gui-tools-to-micropython/
I wrote about LittlevGL in general but they have chosen the Micropython binding to highlight.
Congratulation!

@kisvegabor That's awesome!
It's also very good publicity for LitttlevGL - I see it's over 1500 GitHub stars now!

I see it's over 1500 GitHub stars now!

Yes, we just reached the 1500 today! I never had some much visitors on *.littlevgl.com.


fix: update README.md and remove duplicate variable

Description

Updates the repo Readme by removing obsolete (and therefore wrong) stuff and doing some markdown formatting.
Also removed two duplicate variables from the env.*.dist files.
These were noticed when checking the Readme.

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[x] Copyright and license header are present on all affected files

@mknoopvw @borisrizov-zf @DominikPinsel
Please review.


Why systemd is removed

I was going through the dockerfiles and found that s6 s installed and systemd is removed https://github.com/behance/docker-base/blob/master/Dockerfile-ubuntu-18.04#L31
Why systemd is removed.
How one will manage services like enabling/disabling some service etc.?

Hi @alpana17! systemd is a tremendous (and awesome) subsystem for running services on hosts.
We remove it for a few reasons:

It has a huge footprint and security surface, removing eliminates that vector
Small containers = faster deployments = faster scaling operations
Attempt to not recreate VM's inside containers: running complex services may be the exception, not the rule

S6 is extremely lightweight, and enables you to run one or more processes within your container. Please see base docs here, and S6 docs here.

I'm going close this issue @alpana17 (there is no action), feel free to reopen or create another!


UnBox.txt vs Unbox.txt on Mac

This is only a tiny issue but I just cloned the repo on my Mac and git gives the following warning message:
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'res/awpdoc/UnBox.txt'
  'res/awpdoc/Unbox.txt'

I checked and these files seem to be identical, so perhaps it's a good idea to remove one of them (presumably Unbox.txt since the actual plug-in is named UnBox).

Thanks yeah an ancient version of the pedia must have had a case typo. I deleted the Unbox one just now
Thank you!


[Feature] Add/Remove workers dynamically.

Reopening #71 so tests can run

Coverage decreased (-0.2%) to 99.804% when pulling 4aab297ccdebf5cc241eee94eda08b9acfa61961 on cr-add-workers into f9915c91e8572fdb47c3ae8aa7bc67c170b26047 on master.

Update: still working on documentation for the new methods

Coverage decreased (-0.2%) to 99.804% when pulling 839b62cc4cfaa1fa34840a5dfae14c7f55fe0455 on cr-add-workers into f9915c91e8572fdb47c3ae8aa7bc67c170b26047 on master.


Detect and handle source only packages better

Detect and handle source only packages better, addresses #17
Currently this change fixes the bug. But the implication is that you get an empty comparison page. Maybe add a more descriptive result?

Needs a rebase
Also how about showing a "source packages are not supported atm" page
@SimonCropp would it be feasible to use Roslyn to compile the package to get a diff out? other ways?

I think we first need to have a call what we want to support and how the API should look like. With that we can drive forward better and also code the rules behind it

@andreasohlund rebased


Mesos vs DCOS

I did some development using deployer-local and now want to go into production .
I have chosen to use Mesos and installed it but when trying to move into deployer-mesos I found it is strictly using DC/OS , can i use native mesos with Marathon  ?

I was able to have small installation


OBJ_create() returns 0 when used for 2nd time

We recently migrated to openssl 1.1.1i from 1.0.2. While testing a SCEP related usecase we are observing that OBJ_create() API is returning 0 when used for 2nd time.
The flow of the application is such that when somehow our client gets recreated due to some configuration change so we do the enrollment again to SCEP server and the below mentioned code path is executed again but this time OBJ_create returns 0.
Here's the piece of code that we are using, which looks like the root cause for the actual crash.
We also have  the compatibility related checks, so the same piece of code works fine for 1.0.2 openssl while OBJ_create returns 0 for 1.1.1.
int CSimpleCertificateEnrollmentFacade::InitializeOpenSSL()
{
	unsigned char   randpool[1024];
#if OPENSSL_VERSION_NUMBER < 0x10100000L
	/* Add algorithms/digests/ciphers and init random pool */
	OpenSSL_add_all_ciphers();
	OpenSSL_add_all_algorithms();
	OpenSSL_add_all_digests();
#endif
	RAND_seed(randpool, sizeof(randpool));

	/* Create OpenSSL NIDs */

	g_nid_messageType = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "messageType", "messageType");
	g_nid_pkiStatus = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "pkiStatus", "pkiStatus");
	g_nid_failInfo = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "failInfo", "failInfo");
	g_nid_senderNonce = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "senderNonce", "senderNonce");
	g_nid_recipientNonce = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "recipientNonce", "recipientNonce");
	g_nid_transId = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "transId", "transId");
	g_nid_extensionReq = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "extensionReq", "extensionReq");

	if (!g_nid_messageType || !g_nid_pkiStatus || !g_nid_failInfo ||
		!g_nid_senderNonce || !g_nid_recipientNonce || !g_nid_recipientNonce ||
		!g_nid_transId || !g_nid_extensionReq)
	{
#if OPENSSL_VERSION_NUMBER < 0x10100000L
		OBJ_cleanup();
		EVP_cleanup();
#endif
		LOGW() << "unable to create object identifiers (OID)";
		return DC_FAILURE;
	}

	return DC_SUCCESS;

}

Now the problem is because of the above mentioned issue the SCEP enrollment is failing when using this API
PKCS7_set_signed_attributes

where we set the attribs via the following
add_attribute(attribs, g_nid_transId, trans->trans_id,
				  (int)strlen(trans->trans_id), V_ASN1_PRINTABLESTRING);
add_attribute(attribs, g_nid_messageType, req_type_str,
				  (int)strlen(req_type_str), V_ASN1_PRINTABLESTRING);
add_attribute(attribs, g_nid_senderNonce, trans->sender_nonce,
				  trans->sender_nonce_len, V_ASN1_OCTET_STRING);

and this is the small piece of code causing the problem, basically PKCS7_set_signed_attributes fails and then openssl crashes in PKCS7_free(p7)
if (!PKCS7_set_signed_attributes(si, attribs))
	{
		LOGD() <<  "Unable to set signed attributes";
		sk_X509_ATTRIBUTE_pop_free(attribs, X509_ATTRIBUTE_free);
		PKCS7_free(p7);
		OPENSSL_free(buf);
		return DC_FAILURE;
	}

As i understand initialization and deinitiliazation of openssl is handled by library itself since 1.1.0, so we don't do anything explicit on that part.
Please look into this and revert. Thanks!!

I do not think we want to revert this. It has been like that since 1.1.0 release. You need for each object test whether the OBJ_sn2nid() returns something else than NID_undef and use that value instead of re-creating the object. Or to be on the safe side you should check also the consistency with OBJ_txt2nid() value.

Hi @t8m - Thanks for replying.. As i see the documentation for OBJ_create() we have
int OBJ_create(const char *oid, const char *sn, const char *ln);

whereas for the following
int OBJ_sn2nid(const char *sn);
int OBJ_txt2nid(const char *s);

How do you propose i use this new API that you are suggesting since it takes only a single argument will it have the same affect ?
Here is 1 of the creation from my code
g_nid_messageType = OBJ_create("2.16.840.1.1137<IP_ADDRESS>", "messageType", "messageType");

can you please suggest the alternate what you are saying. It would be very helpful. Thanks a ton!!

const char *txt, *sn, *ln;

txt = "2.16.840.1.1137<IP_ADDRESS>";
sn = "messageType";
ln = "messageType"'

if ((g_nid_messageType = OBJ_sn2nid(sn)) == NID_undef) {
    g_nid_messageType = OBJ_create(txt, sn, ln);
} else if (g_nid_messageType != OBJ_txt2nid(txt)) {
    Error();
}

@t8m - looks like this is working - i wrote this small function to test out -
void getnids(const char* txt, const char* sn, const char* ln, int& nid)
{
	LOGD() << OBJ_sn2nid(sn);
	if ((nid = OBJ_sn2nid(sn)) == NID_undef)
	{
		LOGD() << OBJ_sn2nid(sn);
		nid = OBJ_create(txt, sn, ln);
	}
}

and calling the above via the below and similarly for others
getnids("2.16.840.1.1137<IP_ADDRESS>", "messageType", "messageType", g_nid_messageType);

for the first time object creation happens via call to OBJ_create() inside if statement and then for subsequent call i.e for 2nd time OBJ_sn2nid() was returning me the proper nid i.e same as last time.
@t8m  - Thanks a lot!!

It sounds like this question has been answered, so I'll close the github issue.  Please reopen it or file a new issue if there remains an issue.


filebot: 4.9.1 -> 4.9.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/filebot/versions.
meta.description for filebot is: "The ultimate TV and Movie Renamer"
meta.homepage for filebot is: "https://filebot.net"
meta.changelog for filebot is: "https://www.filebot.net/forums/viewforum.php?f=7"
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.9.2 with grep in /nix/store/0l2k9slz98vvd19b1n4jbw9gravxra1s-filebot-4.9.2

directory tree listing: https://gist.github.com/68df4607e8b5db9fe87ebf9367813920

du listing: https://gist.github.com/0b9bfc9a63538fd000fef1a02c5e7d41

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
filebot

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0l2k9slz98vvd19b1n4jbw9gravxra1s-filebot-4.9.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A filebot https://github.com/r-ryantm/nixpkgs/archive/2b9cb23689ecd489fc580097d0c33a121f07c16d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0l2k9slz98vvd19b1n4jbw9gravxra1s-filebot-4.9.2
ls -la /nix/store/0l2k9slz98vvd19b1n4jbw9gravxra1s-filebot-4.9.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

filebot

Maintainer pings
cc @gleber @felschr for testing.

I've created the new PR https://github.com/NixOS/nixpkgs/pull/102345 with a fix.

Superseded by #102290


refactor, feat: clean Cargo.toml files, upgrade tch to 0.10

Adds support for Metal Performance Shaders to the Tch backend

I would want to run the github action checks before merging, I think the github templates should be updated to trigger on pull_request instead of on push. It would be appreciated if you could update it so that we can test if it actually triggers for pull requests from public forks.
Otherwise great work and thank you for your contributions 😃

Done

I also noticed a bunch of clippy warnings about inlining format arguments. I can send in another PR after this one to fix them if you'd like @nathanielsimard

I also noticed a bunch of clippy warnings about inlining format arguments. I can send in another PR after this one to fix them if you'd like @nathanielsimard

Yes why not, but the CI is supposed to fail when there are clippy warnings. What command did you run?

I also noticed a bunch of clippy warnings about inlining format arguments. I can send in another PR after this one to fix them if you'd like @nathanielsimard

Yes why not, but the CI is supposed to fail when there are clippy warnings. What command did you run?

I'm actually on nightly rust, so the warnings may be new.
It's just cargo clippy

I've actually already fixed all the warnings except this

At


finish dynamic setting of #casts

I hope this PR isn't too big. A lot of the diffs came from adjustments to the layout (making the cast table a little more compact)
The logic changes, approx. 20% of the code, are very straight forward. They basically replace a constant value CAST_COUNT with a variable castCount.

Replaced by PR #25


Stack operator to roll top three values

Let's say I have two items on the stack
>  4 3

And I want to square the second number (3) and add that to the product of the two numbers (4,3). There's no obvious way to do this, you do something like this, and hit a wall (where the pipe indicates the division between input and the printed stack).
> 4 3 dup dup * | 4 3 9

There's no obvious way to solve this.  If, however, we had a word (e.g. roll) that changes a b c to c a b, we could do this:
> 4 3 dup dup *          | 4 3 9
> 4 3 dup dup * roll     | 9 4 3
> 4 3 dup dup * roll *   | 9 12
> 4 3 dup dup * roll * + | 21

Indeed it's impossible with the current set of commands! I have a working version of two features that will solve this issue. Currently, there are only two commands for stack manipulation: swap and dup. There's a way to define custom words, but they can only be defined in terms of existing commands. One of the upcoming features is the ability to store values in variables:
> 42 [a] |

The number 42 was consumed from the stack. Then:
> 42 [a] a a | 42 42

Typing a expands to the number 42. There's also a way to undefine variables:
> 42 [a] a a (a) a | 42 42

By typing (a), the variable a becomes undefined. I added an extra a to show that this time it has no effect on the stack (it's just ignored).
With this feature, you would do something like this:
> 4 3 dup dup * [a] * a (a) + | 21

I don't need to undefine a for that snippet to work, but I do it anyway as a good habit.
The other feature is the ability to define words in the REPL, using the same syntax as that for commands defined in the words file. This time, we need to enclose the definition in quotes:
> 'sqrt "0.5 ^"' 9 sqrt | 3

By combining these two features we can quickly test new commands in the REPL. We can also remove swap and dup from the core and define them in the words file. Here's how I would define them:
swap "[a] [b] a b (a) (b)"
dup "[a] a a (a)"

Some additional stack manipulation commands:
rot "[a] [b] [c] b a c (a) (b) (c)"
drop [_]

I'm still playing with it, but I think I can publish the feature as experimental and see how we feel about it. What do you think?

That sounds interesting, and it definitely solves the problem, although it also feels a bit like "cheating" for some reason.  I think the issue I have is that these variables would essentially be mutable state, while building up a small vocabulary of primitive words has a more "functional" feel.  I think for the purpose of saving intermediate values, you just need an operator that does a roll, the way I'm describing.
You could use a more general operator than the one I'm describing (e.g. the postscript roll operator, described here: http://www.linuxfocus.org/English/July1999/article80.html#lfindex1) and then swap and the others could be user defined in terms of it.
Anyways, I'm not sure what the best idea is here, your idea of variables/user defined words at the REPL has its own sets of advantages, although I'd be inclined to disallow reassignment if you go that way.

 I'll work on it :-)

@fiddlerwoaroof This was implemented in version 0.3.0, which was released earlier today. There's also another way to solve this particular problem using the stash operation (also new in this version). Thanks a lot for the suggestion!


Casting paginated responses to DTO

I have a response with 'data' key, where there are several items. Normally (without automatic pagination), I'm able to get the collection of DTOs based on these suggestions: https://github.com/Sammyjo20/Saloon/discussions/186 using just $response->dto().
Now, I wanted to have the automatic pagination (I use OffsetPaginator), so instead of
$response = $this->connector()->send($this->request);

I used:
$paginator = $this->connector()->paginate($this->request);

everything is properly configured, as I can run
foreach($paginator as $response) {
    $pageData = $response->json('data');
}

as well I may create a collection of individual "raw" items in response: $paginator->collect('data').
I wanted to create DTOs based on the combined paginator results, and tried $paginator->dto(), but got: "Call to undefined method OffsetPaginator::dto()"
I know, I can easily build the DTOs manually:
$dtos = $paginator->collect('data')->map(
    fn ($post) =>  PostDto::fromItem($post),
);

but it would be nice to have a "helper/shortcut" method dto() as with single responses which would use the same createDtoFromResponse() method and we could similarly use $paginator->dto().

Hey @boryn thank you for your message 🙌
That's a really great suggestion and I'll put it on my roadmap for future v2 development. The DTO method could simply be a wrapper around the existing iterator which calls dto :)
I'm going to close this for now but please feel free to open a discussion if you have any further ideas.

Is there any news on this?

I've looked into making this work, and I would like your feedback.
The pagination plugin has functions like items() and collect(). My thought was to create DTO versions dtos() and collectDtos(). I had a working prototype up fairly quickly, but ran into the following design problem.
The request class implements a function called createDtoFromResponse that returns any kind of object, whereas the pagination extension deals with 'items' as members of an array under a key in the response. It's this one/many discrepancy that I would like input on.
It makes sense to have the request decide how to transform any individual response into an array of DTOs. I would like createDtoFromResponse to be that place, but I don't think it can be, as it returns a single object.
The next best thing would be to make an interface with a method createDtosFromResponse that returns object[].
I would like your thoughts @Sammyjo20. Since I need this for a project, I would like to collaborate to make this a part of the pagination plugin in a way that suits not only our but most people's needs.


mesa: 22.1.7 -> 22.2.1

Description of changes

Bumped version;
Rebased patches;
Remove upstreamed patches;
Includes https://github.com/NixOS/nixpkgs/pull/192243#issuecomment-1261242034
Fixes https://github.com/NixOS/nixpkgs/issues/193655
Rebases https://github.com/NixOS/nixpkgs/pull/195682 to staging

Things done
Built mesa, pkgsMusl.mesa, pkgsi686Linux.mesa.

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

For historical reference, we used to have enableTextureFloats ? false (also patent stuff, expired now).

OK, we can amend the parametrization later even without causing any rebuilds.  I'm merging already, so it's included in the upcoming rebuilds.


HACK: Fix int ACR deployment

Which issue this PR addresses:
Global RG in int has bad location and we can't deploy ACR based on RG location.
What this PR does / why we need it:
TO unblock INT deployment
Test plan for issue:
Trial and fail
Is there any documentation that needs to be updated for this PR?
No

in favor of : https://github.com/Azure/ARO-RP/pull/1388


Fix: Blocking queue can lead to deadlock.

Blocking queue can lead to a deadlock.
When the queue is full, mq_send() is blocked, EventSend() cannot finish its execution, and the mutex is never released.
https://github.com/srac0/upf/blob/1257e6138aba3b61823d3d9372f27e16cf2c15e6/lib/utlt/src/utlt_mq.c#L59
Then, the next requests will not be handled because it is impossible to acquire the mutex.

There is something wrong in UPF when msg queue is full and the blocking queue is not the root cause.
We'll not accept the PR, and re-open https://github.com/free5gc/free5gc/issues/218 and try to find the root cause.


Rename rhose-api as smartevents_mgmt

Insert JIRA Issue number and update link
PR owner checklist
Please make sure that your PR meets the following requirements:

[ ] Your code is properly formatted according to this configuration.
Run mvn clean verify -DskipTests so that imports are correctly set.
[ ] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[ ] The layers in the kustomize folder have been updated accordingly.
[ ] All new functionality is tested
[ ] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

PR reviewer(s) checklist

[ ] Check if code and Github action workflows have been modified and if the modification is safe
[ ] If the modification is safe, add the safe to test label

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

Deploy BOT
Comment with `/deploy <dev,stable> when the PR has been merged to deploy to a target environment.

@robpblake
I had a chat with @wtrocki and rhose-api.yaml name is not following the other services naming convention (connectors_mgmt.yaml) so here is the PR to rename
@jomarko
I have also updated the scripts on sandbox-ui

https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox-ui/pull/92

Can you please have a look?
I think we should merge first your PR with openAPI fixes but for me it is the same 👍
@kelvah
FYI this should not have any impact on UI repo if we merge the PRs at the same time


Problem with cloudflare_ruleset custom cache key with exclude_origin true - block count changed from 1 to 0

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform version: 1.5.0
Cloudflare provider version: 4.15.0
Affected resource(s)
cloudflare_ruleset
Terraform configuration files
resource "cloudflare_ruleset" "cache_rule" {
  zone_id = ""
  name    = "name"
  kind    = "zone"
  phase   = "http_request_cache_settings"

  rules {
    action = "set_cache_settings"
    action_parameters {
      edge_ttl {
        mode    = "override_origin"
        default = 3600
      }
      browser_ttl {
        mode = "respect_origin"
      }
      serve_stale {
        disable_stale_while_updating = true
      }
      cache_key {
        ignore_query_strings_order = false
        cache_deception_armor      = true
        custom_key {
          query_string {
            exclude = ["*"]
          }
          header {
            include = []
            check_presence = []
            exclude_origin = true
          }
          user {
            device_type = false
            geo         = false
            lang        = false
          }
          host {
            resolved = false
          }
        }
      }
      origin_error_page_passthru = false
    }
    expression = "..."
    enabled    = true
  }
}

Link to debug output
https://gist.github.com/laliconfigcat/a2f076249596a3d8e68427a8144be22b
Panic output
No response
Expected output
The cloudflare_ruleset should be created.
Actual output
When applying changes to module.test_cache_rules.cloudflare_ruleset.cache_rule, provider "provider["registry.terraform.io/cloudflare/cloudflare"]" produced an unexpected new value: .rules[0].action_parameters[0].cache_key[0].custom_key[0].header: block count changed from 1 to 0.
This is a bug in the provider, which should be reported in the provider's own issue tracker.
Steps to reproduce

Try setting a cloudflare_ruleset with a header like this:

header {
  include = []
  check_presence = []
  exclude_origin = true
}

The provider fails with

When applying changes to module.test_cache_rules.cloudflare_ruleset.cache_rule, provider "provider[\"registry.terraform.io/cloudflare/cloudflare\"]" produced an unexpected new value: .rules[0].action_parameters[0].cache_key[0].custom_key[0].header: block count changed from 1 to 0.

This is a bug in the provider, which should be reported in the provider's own issue tracker.

Additional factoids
I'd like to add a cache rule where the header exclude_origin is set to true, but I don't want to include anything or add anything to the check_presence arrays.
I checked the code and it seems that the exclude_origin header can only be set if I add anything to the include or check_presence arrays. If the include and check_presence lists are empty, the provider ignores the whole header block:
https://github.com/cloudflare/terraform-provider-cloudflare/blob/master/internal/framework/service/rulesets/resource.go#L530
Am I doing something wrong? How could I set exclude_origin from the header without adding something to the include and check_presence arrays?
References
No response

Thank you for reporting this issue! For maintainers to dig into issues it is required that all issues include the entirety of TF_LOG=DEBUG output to be provided. The only parts that should be redacted are your user credentials in the X-Auth-Key, X-Auth-Email and Authorization HTTP headers. Details such as zone or account identifiers are not considered sensitive but can be redacted if you are very cautious. This log file provides additional context from Terraform, the provider and the Cloudflare API that helps in debugging issues. Without it, maintainers are very limited in what they can do and may hamper diagnosis efforts.
This issue has been marked with triage/needs-information and is unlikely to receive maintainer attention until the log file is provided making this a complete bug report.

I think the problem is pretty clear without providing debug logs, I included the problematic line in the Additional factoids section that causes the issue. Please let me know if you still need the debug logs.

yes, as requested in the issue template, please provide it. there is internal context that is propagated to the debug logs that completes the picture.

yes, as requested in the issue template, please provide it. there is internal context that is propagated to the debug logs that completes the picture.

I updated the gist with the debug log. I hope it will help identifying the issue.

Thanks for the fast PR review and the release! Just tested it, works like a charm!


scons doesn't play well with easy_install or eggs

This issue was originally created at: 2014-03-25 06:51:33.
This issue was reported by: yalon.
yalon said at 2014-03-25 06:51:33

Hi,
When using easy_install scons we get an egg directory (say scons-2.3.1-
py2.7.egg) but its directory structure isn't suited for eggs so I can't import
SCons.
The problem lies with setup.py:249 where there's an 'or not
Options.standard_lib' - since easy_install doesn't call setup.py with --
standard-lib (it's not a standard flag ;), setup.py installs scons with a scons-
x.y.z directory which isn't suitable for imports.
I'm not really sure why the --standard-lib flag is needed and not enabled by
default (and have a --no-standard-lib flag instead).
Thanks,
Tal

bdbaddog said at 2014-03-25 10:01:56

There's already a pull request for this issue.
Some details to be resolved.
Hopefully it will make it into the next scons release.
https://bitbucket.org/scons/scons/pull-request/113/fix-for-bug-2769-which-should-allow-scons/diff

bdbaddog said at 2014-03-25 10:03:15

Note: This is a duplicate of 2769. Marking as such.
*** This issue has been marked as a duplicate of 2769 ***

grzn said at 2014-03-25 11:57:25

This is NOT a duplicate.
issue 2769 it about using setuptools instead of distutils.
This isssue is about the replacement of install_dir:
{noformat}
249             elif Options.version_lib or not Options.standard_lib:
250                 # ...they asked for a version-specific directory,
251                 # or they get it by default.
252                 self.install_dir = os.path.join(prefix, "scons-%s" % Version)
{noformat}
With the current code, you can't just import scons in Python after running python.setup.py, because
standard_lib is not the default when it should be. and if it should be the default, then the command-line
flag should be --no-standard-lib instead

bdbaddog said at 2014-03-25 12:37:37

O.k. Sorry misread. I'll take a look at this.

bdbaddog said at 2014-05-29 12:15:25

Guy -
So this bug is about the ability to import SCons from a given python script?
If so, use in such a fashion is not (currently) supported, and so this bug may
be invalid.
Please comment

russel said at 2014-05-31 10:54:12

It is also probably worth noting that eggs are now passé, the future is with
wheels.

russel said at 2014-05-31 10:54:59

Adding self to cc list.

dirkbaechle said at 2014-05-31 12:29:58

Will future finally stop happening soon? ;)

Dead. easy_install and eggs are obsolete.


init-hooks: rename from kiss-encryption

I ask @dilyn-corner (or anyone who can do this) to rename kiss-encryption repository to init-hooks and change its description to 'Collection of hooks for kiss init' because apparently i don't have enough rights to do that.

Description of package
Collection of hooks for kiss init
Installed manifest of package
/var/db/kiss/installed/init-hooks/version
/var/db/kiss/installed/init-hooks/sources
/var/db/kiss/installed/init-hooks/manifest
/var/db/kiss/installed/init-hooks/build
/var/db/kiss/installed/init-hooks/
/var/db/kiss/installed/
/var/db/kiss/
/var/db/
/var/
/usr/lib/init/rc.d/lvm.post.shutdown
/usr/lib/init/rc.d/lvm.boot
/usr/lib/init/rc.d/luks.post.shutdown
/usr/lib/init/rc.d/luks.boot
/usr/lib/init/rc.d/alsa.post.shutdown
/usr/lib/init/rc.d/alsa.boot
/usr/lib/init/rc.d/
/usr/lib/init/
/usr/lib/
/usr/

Existing package

[x] I am the maintainer of this package.

Odd that you don't have permissions! I've just made you an admin of the repo (previously you only had write permissions... :thinking: ) so you should be able to change it now. lmk!

Thanks. I renamed it. Feel free to merge.


Fix interval includes:

Fix interval includes. Having millis in the time results in "is not included"

Pull Request Test Coverage Report for Build 973

20 of 20 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0001%) to 99.951%

Totals

Change from base Build 971:
0.0001%

Covered Lines:
8134

Relevant Lines:
8138

💛  - Coveralls


Fix spelling error

Fixes a spelling error in release notes yaml.
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[x] Does not have any changes that may affect Istio users.

@brian-avery: new pull request created: #32576

In response to this:

/cherrypick release-1.10

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 kubernetes/test-infra repository.


Snippet return has no braces

Snippets like rfc, rcc, rafc and such returns

 in a single line without braces like this:
export default function Content() {
return

}
Is there any way to change it to this format?
export default function Content() {
return (

)
}
Also for some reason even if I enable prettier integration it won't work. For example if i disable semicolon in Prettier and keep the ES7 React semicolon enabled, the snippet will still have semicolon.

@levinaHR I made change to this, let me know if this is fixed by v4.3.1

It's fixed now, thank you!


[bug] Aeotec Water Sensor 6 does not discover binary sensors necessary for water detection

Version
Build/Run method

[X] Docker
[ ] PKG
[ ] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 1.2.3
Describe the bug
The Aeotec Water Sensor 6 is detected as the correct model and some sensors setup, but the two binary sensors are not discovered by HA for the two water probes (using the dock). This worked correctly in 1.6.
The two notification classes are detected and sent to mqtt:
When clear (value:0):
{
   "id":"130-113-1-Water Alarm-Sensor status",
   "nodeId":130,
   "commandClass":113,
   "commandClassName":"Notification",
   "endpoint":1,
   "property":"Water Alarm",
   "propertyName":"Water Alarm",
   "propertyKey":"Sensor status",
   "type":"number",
   "readable":true,
   "writeable":false,
   "label":"Sensor status",
   "ccSpecific":{
      "notificationType":5
   },
   "min":0,
   "max":255,
   "list":true,
   "states":[
      {
         "text":"idle",
         "value":0
      },
      {
         "text":"Water leak detected",
         "value":2
      }
   ],
   "value":0,
   "lastUpdate":1609220737810
}

When water is detected (value:2):
{
   "id":"130-113-1-Water Alarm-Sensor status",
   "nodeId":130,
   "commandClass":113,
   "commandClassName":"Notification",
   "endpoint":1,
   "property":"Water Alarm",
   "propertyName":"Water Alarm",
   "propertyKey":"Sensor status",
   "type":"number",
   "readable":true,
   "writeable":false,
   "label":"Sensor status",
   "ccSpecific":{
      "notificationType":5
   },
   "min":0,
   "max":255,
   "list":true,
   "states":[
      {
         "text":"idle",
         "value":0
      },
      {
         "text":"Water leak detected",
         "value":2
      }
   ],
   "value":2,
   "lastUpdate":1609220736395
}

But binary sensors are not created:

Here is the ozw 1.6 device file: https://github.com/OpenZWave/open-zwave/blob/master/config/aeotec/zw122.xml
I have several of these and they are all the same.
To Reproduce
Steps to reproduce the behavior:

Pair sensor

Expected behavior
Two binary_sensors should be created reflecting the notification command class.
Additional context
Here is the log file during a trip of one of the water sensors:
05:45:36.112 DRIVER « [Node 130] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 1
                        └─[NotificationCCReport]
                            notification type:   Water Alarm
                            notification status: 255
                            notification state:  Water leak detected
05:45:36.117 CNTRLR   [Node 130] [+] [Notification] Water Alarm[Sensor status]: 2       [Endpoint 1]
05:45:36.330 SERIAL « 0x0114000400820e600d01017105000000ff0502000082                      (22 bytes)
05:45:36.331 SERIAL » [ACK]                                                                   (0x06)
05:45:36.332 DRIVER « [Node 130] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 1
                        └─[NotificationCCReport]
                            notification type:   Water Alarm
                            notification status: 255
                            notification state:  Water leak detected
05:45:36.334 CNTRLR   [Node 130] [~] [Notification] Water Alarm[Sensor status]: 2 => 2  [Endpoint 1]
05:45:36.390 SERIAL « 0x0114000400820e600d01007105000000ff0502000083                      (22 bytes)
05:45:36.391 SERIAL » [ACK]                                                                   (0x06)
05:45:36.393 DRIVER « [Node 130] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 0
                        └─[NotificationCCReport]
                            notification type:   Water Alarm
                            notification status: 255
                            notification state:  Water leak detected
05:45:36.394 CNTRLR   [Node 130] [~] [Notification] Water Alarm[Sensor status]: 2 => 2  [Endpoint 1]
05:45:37.739 SERIAL « 0x0114000400820e600d01017105000000ff0500000080                      (22 bytes)
05:45:37.741 SERIAL » [ACK]                                                                   (0x06)
05:45:37.743 DRIVER « [Node 130] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 1
                        └─[NotificationCCReport]
                            notification type:   Water Alarm
                            notification status: 255
                            notification event:  Unknown (0x00)
05:45:37.809 CNTRLR   [Node 130] [~] [Notification] Water Alarm[Sensor status]: 2 => 0  [Endpoint 1]
05:45:37.823 SERIAL « 0x0114000400820e600d01007105000000ff0500000081                      (22 bytes)
05:45:37.824 SERIAL » [ACK]                                                                   (0x06)
05:45:37.828 DRIVER « [Node 130] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 0
                        └─[NotificationCCReport]
                            notification type:   Water Alarm
                            notification status: 255
                            notification event:  Unknown (0x00)

There are two sensors detected upon further investigation, and they correctly respond to water detection, but there should also be binary sensors created for consistency with other water sensors (as my others (Aeotec DSB45s) setup binary sensors even with zwavejs2mqtt). Having binary sensors also makes automations much easier.

@blhoward2 What docker tag are you using? latest ? If so try first to use the dev tag

@blhoward2 What docker tag are you using? latest ? If so try first to use the dev tag

I built one off a clone I made this afternoon (using the command on the docker page). That should be at least as fresh as dev, no?

That should be at least as fresh as dev, no

Nope. dev is builded on every commit on master, latest is builded on every release.

That should be at least as fresh as dev, no

Nope. dev is builded on every commit on master, latest is builded on every release.

Got it. I’ll try that this weekend and then update all of the bugs I’ve filed.

@blhoward2 I think that also other issues you have found may be resolved with that

I can confirm that this issue persists on the most recent dev image, pulled today. The only binary sensor created is for the battery level. There should be two binary sensors created as this sensor has two probes.

I can confirm that this issue persists on the most recent dev image, pulled today. The only binary sensor created is for the battery level. There should be two binary sensors created as this sensor has two probes.

@billiaz COuld you take a look at this?

@billiaz COuld you take a look at this?

What we see in these logs is, a multi level sensor (notification report) which has different values. the sensor can support any possible value exposed by the device.
usually 0 = idle and 1-255 is a value. this works as intended. Water sensor 6 reports notification sensors and not binary sensors as I can see @blhoward2 do you also have binary sensors discovered? can you see these on your ui?

What we see in these logs is, a multi level sensor (notification report) which has different values. the sensor can support any possible value exposed by the device.
usually 0 = idle and 1-255 is a value. this works as intended. Water sensor 6 reports notification sensors and not binary sensors as I can see @blhoward2 do you also have binary sensors discovered? can you see these on your ui?

In ozw 1.4 and 1.6 binary sensors are discovered that report on/off for water detected or not. This fits nicely with HA’s binary sensor platform for water, which makes it water detected or not, and simplifies automations. It is also consistent with other water sensors. Whether the device reports it or ozw simply changes the values based on whether it is receiving 0 or not, I don’t know. I can investigate more later tonight. A range of 1-255 makes little sense for water detection sensor as it is either on or off.
FWIW, when I tested this the only sensors I saw updating in HA with water detection changed from the text “idle” to “water leak detected.” This seems to simply be a backend choice to present it in this manner as it is really reporting 0 or 2 and using a value template to present text versus a binary sensor according to the sensor definition in the UI.

In ozw 1.4 and 1.6 binary sensors are discovered that report on/off for water detected or not. This fits nicely with HA’s binary sensor platform for water, which makes it water detected or not, and simplifies automations. It is also consistent with other water sensors. Whether the device reports it or ozw simply changes the values based on whether it is receiving 0 or not, I don’t know. I can investigate more later tonight. A range of 1-255 makes little sense for water detection sensor as it is either on or off.
FWIW, when I tested this the only sensors I saw updating in HA with water detection changed from the text “idle” to “water leak detected.” This seems to simply be a backend choice to present it in this manner as it is really reporting 0 or 2 and using a value template to present text versus a binary sensor according to the sensor definition in the UI.

ozw 1.4 and 1.6 does a lot of changes on how sensors translated from notificationreports to binary sensors. On the other hand other devices like zipato, do show the notification report label.
we till now have implemented the direct translation and a bit of labeling based on the Driver labels exposed.
It is easy to setup a custom device to also generate binary sensor on HASS. as probably will show it in a different way.
@robertsLando do you think is good to expose these different types as binary sensors instead of sensor? we will need to find only devices with 2 possible values, but might take some time.

ozw 1.4 and 1.6 does a lot of changes on how sensors translated from notificationreports to binary sensors. On the other hand other devices like zipato, do show the notification report label.
we till now have implemented the direct translation and a bit of labeling based on the Driver labels exposed.
It is easy to setup a custom device to also generate binary sensor on HASS. as probably will show it in a different way.
@robertsLando do you think is good to expose these different types as binary sensors instead of sensor? we will need to find only devices with 2 possible values, but might take some time.

I’m not the expert, but if you look at whatever is feeding the sensor I quoted above that only seems to present 0 or 2 according to the value template.

I’m not the expert, but if you look at whatever is feeding the sensor I quoted above that only seems to present 0 or 2 according to the value template.

Couldn’t you define one in the same was the sensor above, but instead of the text make it report on/off?

Couldn’t you define one in the same was the sensor above, but instead of the text make it report on/off?

In ozw 1.4 and 1.6 binary sensors are discovered that report on/off for water detected or not. This fits nicely with HA’s binary sensor platform for water, which makes it water detected or not, and simplifies automations. It is also consistent with other water sensors. Whether the device reports it or ozw simply changes the values based on whether it is receiving 0 or not, I don’t know. I can investigate more later tonight. A range of 1-255 makes little sense for water detection sensor as it is either on or off. Are you sure you are looking at the water detection and not one of the many other values like temp, tilt, etc. that it provides?
FWIW, when I tested this the only sensors I saw updating in HA with water detection changed from the text “idle” to “water leak detected.” This seems to simply be a choice (by node-zwave-js or zwavejs2mqtt I don’t know) to present it in this manner as it is really reporting 0 or 2 and using a value template to present text versus a binary sensor according to the sensor definition in the UI. (This is in the sensor definition I included above.) I’m aware of no other water sensor on any platform that presents the notification in a text-based manner like this, and my other water sensors do not under zwavejs2mqtt.

I understand the confusion, most of these are implemented as in specification. there is a list of possible values on each propertyKey on notificationreports, which makes it a long list to support, and programmatically probably a bit confusing.
an example from the excel: https://www.silabs.com/documents/login/miscellaneous/SDS13713-Notification-Command-Class.xlsx

Some are states, some are events. It is getting confusing the more we read this list.
What I want to say this specific device exposes only 0 and 2, but others do expose multiple values and subvalues!
the missing native Home assistant connection does not also make it easy to create some "special" entity which will have states and different icons.
The commont part on these is idle is always the default state on a notification type

In ozw 1.4 and 1.6 binary sensors are discovered that report on/off for water detected or not. This fits nicely with HA’s binary sensor platform for water, which makes it water detected or not, and simplifies automations. It is also consistent with other water sensors. Whether the device reports it or ozw simply changes the values based on whether it is receiving 0 or not, I don’t know. I can investigate more later tonight. A range of 1-255 makes little sense for water detection sensor as it is either on or off. Are you sure you are looking at the water detection and not one of the many other values like temp, tilt, etc. that it provides?
FWIW, when I tested this the only sensors I saw updating in HA with water detection changed from the text “idle” to “water leak detected.” This seems to simply be a choice (by node-zwave-js or zwavejs2mqtt I don’t know) to present it in this manner as it is really reporting 0 or 2 and using a value template to present text versus a binary sensor according to the sensor definition in the UI. (This is in the sensor definition I included above.) I’m aware of no other water sensor on any platform that presents the notification in a text-based manner like this, and my other water sensors do not under zwavejs2mqtt.

I understand the confusion, most of these are implemented as in specification. there is a list of possible values on each propertyKey on notificationreports, which makes it a long list to support, and programmatically probably a bit confusing.
an example from the excel: https://www.silabs.com/documents/login/miscellaneous/SDS13713-Notification-Command-Class.xlsx

Some are states, some are events. It is getting confusing the more we read this list.
What I want to say this specific device exposes only 0 and 2, but others do expose multiple values and subvalues!
the missing native Home assistant connection does not also make it easy to create some "special" entity which will have states and different icons.
The commont part on these is idle is always the default state on a notification type

Couldn’t you define one in the same way as the sensor above, but instead of the text make it report a binary state? It may technically support a range but it only seems to ever generate 0 (dry) or 255 (wet). The log above is when I was tripping the water sensor.

i understand what you mean! that was my first thought, a binary (on/off) state. reading the spec more and more becomes complicated.
the more devices move to multilevel notification reports, the more we will see this changing from on/off states to
off/leak/low level/hot water etc...

Couldn’t you define one in the same way as the sensor above, but instead of the text make it report a binary state? It may technically support a range but it only seems to ever generate 0 (dry) or 255 (wet). The log above is when I was tripping the water sensor.

i understand what you mean! that was my first thought, a binary (on/off) state. reading the spec more and more becomes complicated.
the more devices move to multilevel notification reports, the more we will see this changing from on/off states to
off/leak/low level/hot water etc...

Even still from an automation perspective, all of those would benefit from a binary in idle/alert status just to trip an alarm. Then you’d have the sensor indicating the exact message.

Even still from an automation perspective, all of those would benefit from a binary in idle/alert status just to trip an alarm. Then you’d have the sensor indicating the exact message.

Even still from an automation perspective, all of those would benefit from a binary in idle/alert status just to trip an alarm. Then you’d have the sensor indicating the exact message.

for automation, i use also nodered! as it posts to my telegraf and is fast. you could always test the state if is 0 or false (value_json.value) is always numeric. or report.
I do not know how difficult is to report if sensor is not Idle (0) as an alarming state

Even still from an automation perspective, all of those would benefit from a binary in idle/alert status just to trip an alarm. Then you’d have the sensor indicating the exact message.

for automation, i use also nodered! as it posts to my telegraf and is fast. you could always test the state if is 0 or false (value_json.value) is always numeric. or report.
I do not know how difficult is to report if sensor is not Idle (0) as an alarming state

Bah, Appdaemon all the way. In any event, maybe expose both a sensor and binary_sensor and let the user hide one if they want? What is most annoying is that automating off water sensors means that some need to be on/off, some tested against text. As many people use a group to ease automation, that means two automations or manually defining a binary sensor in HA and then using that.

Bah, Appdaemon all the way. In any event, maybe expose both a sensor and binary_sensor and let the user hide one if they want? What is most annoying is that automating off water sensors means that some need to be on/off, some tested against text. As many people use a group to ease automation, that means two automations or manually defining a binary sensor in HA and then using that.

I get it. i would personally overcome this with: if value != "0" || value != false - alarm
i am not fun of appdaemon :) but is personal preference.
it is easy to generate a binary sensor for devices. using customDevice.json. you can (before we get a reply from @robertsLando 's opinion) a binary_sensor discovery for all devices of same model

I get it. i would personally overcome this with: if value != "0" || value != false - alarm
i am not fun of appdaemon :) but is personal preference.
it is easy to generate a binary sensor for devices. using customDevice.json. you can (before we get a reply from @robertsLando 's opinion) a binary_sensor discovery for all devices of same model

Yes, I know that I can personally override this. I’m on a mission of trying to make as many things work out-of-the-box in a similar way (where it makes sense) to ease transitions and reduce tech support type issues. As it is done this way now, telling people that switch to redo all of their automations is just more work.

Yes, I know that I can personally override this. I’m on a mission of trying to make as many things work out-of-the-box in a similar way (where it makes sense) to ease transitions and reduce tech support type issues. As it is done this way now, telling people that switch to redo all of their automations is just more work.

A perspective from outside; I have used echolink flood sensors under the old integration.   I found that they support binary sensors natively in zwave, which is somehow an older scheme.  They also support sensors with values that are 2 for flood, maybe 8 for not, and 3 for tamper, 8 for not.  These are apparently the newer zwave way.   So I create a template sensor to make  a binary sensor for this.  It sounds like this is what's going on here.   The suggestion to encode in zwavejs2mqtt the mapping of these multi-valued sensors into binary sensors makes sense as a plan to show mqtt a higher-level representation.

A perspective from outside; I have used echolink flood sensors under the old integration.   I found that they support binary sensors natively in zwave, which is somehow an older scheme.  They also support sensors with values that are 2 for flood, maybe 8 for not, and 3 for tamper, 8 for not.  These are apparently the newer zwave way.   So I create a template sensor to make  a binary sensor for this.  It sounds like this is what's going on here.   The suggestion to encode in zwavejs2mqtt the mapping of these multi-valued sensors into binary sensors makes sense as a plan to show mqtt a higher-level representation.

@blhoward2 Is this fixed?

@blhoward2 Is this fixed?

I don’t believe so. I’ll check later.

I don’t believe so. I’ll check later.

LMK

LMK

@robertsLando Confirmed that this is still an issue. No binary sensor is setup, just a text sensor.
node_122.json.zip

@robertsLando Confirmed that this is still an issue. No binary sensor is setup, just a text sensor.
node_122.json.zip

Confirmed that this is still an issue. No binary sensor is setup, just a text sensor.

I ned to know the specific valueIds you expect to see as a sensor in hass

Confirmed that this is still an issue. No binary sensor is setup, just a text sensor.

I ned to know the specific valueIds you expect to see as a sensor in hass

It’s the one above, isn’t it? It’s just that we’re templating the status into different templates. I get why but I think we should also have a binary sensor for status that reflects 0 or 255 to show it is in an alarm state.

It’s the one above, isn’t it? It’s just that we’re templating the status into different templates. I get why but I think we should also have a binary sensor for status that reflects 0 or 255 to show it is in an alarm state.

@blhoward2 this is not a bug. Aeotec has only the Multilevel Notification. I think we can move this into a discussion
And find a good solution how to represent the Notification Command Class in Home assistant.
@robertsLando what you think?

@blhoward2 this is not a bug. Aeotec has only the Multilevel Notification. I think we can move this into a discussion
And find a good solution how to represent the Notification Command Class in Home assistant.
@robertsLando what you think?

I realize now that it isn’t a big per se, it’s more of a feature request.

I realize now that it isn’t a big per se, it’s more of a feature request.

I think we can move this into a discussion And find a good solution how to represent the Notification Command Class in Home assistant.

Ok go for it :)

I think we can move this into a discussion And find a good solution how to represent the Notification Command Class in Home assistant.

Ok go for it :)