-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aqara ZNJLBL01LM don´t show position anymore #23557
Comments
Same here, not sure what update changed it, position is always reported as 0 now. Previously it would be reported as 0 after moving, but and if you did a manual GET on the MQTT topic with payload below, this would force the current position to be refreshed, but this no longer appears to do anything. GET payload from NodeRed - {"topic":"zigbee2mqtt/Office Blind/get","payload":"{"position": ""}"} Also when you hit the 'refresh' button on Position the Z2M devices GUI under the Exposes tab, I can't see a message in the log, nor on the queue using MQTT Explorer. But if I change the position via the slider, a message appears in the log and MQTT explorer. Hitting the 'Battery' refresh icon causes a message in the log and on MQTT Explorer. Hitting 'State' does nothing. So something is happening specially with the position reporting and state? Setting position by the slider and calling open/close make the blind move, so they work. |
Does this help from the logs? When I call position (this used to work), I get an error: [2024-08-17 15:59:01] debug: z2m:mqtt: Received MQTT message on 'zigbee2mqtt/Kitchen Blind/get' with data '{"position":""}' Having a dig around, I found that if I manually read via the dev console - 'genAnalogOutput' : 'presentValue' I get this in the logs and the position value is updated. Forgive me if there are extra messages mixed in, I'm not 100% sure what I'm doing here! 2024-08-17 16:25:13] debug: z2m:mqtt: Received MQTT message on 'zigbee2mqtt/Kitchen Blind/1/set' with data '{"read":{"attributes":["presentValue"],"cluster":"genAnalogOutput","options":{}}}' |
I've also noticed that when changing the position MQTT is not reporting updates to the state, it is always STOP and always has the position as the old position. When I call 'genAnalogOutput' : 'presentValue' from the dev console, I then get the correct position in the logs. I can see here - https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/lib/lumi.ts#L4699 - that ZNJLBL01LM has been excluded from polling the position and instead waits for the STOP event, but I don't believe that is coming for some reason and thus position is not updated. It's also where the position call is erroring: "Not reading position of ZNJLBL01LM since device doesn't support it" - from here - https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/lib/lumi.ts#L4751 This may have caused it somehow or be related: #23056 @Koenkk can you help? |
Could you provide the debug log when changing the position and it doesn't update? See this on how to enable debug logging. |
@Koenkk - Thanks for looking. Sorry this seems to have a lot of other noise in it but left it so you can see all the messages. I took the blind from ~50% to fully open (100%). You can see in the logs the request to move to position 100 but later a message with position 77 which is what it shows in HA. The blind is 'Kitchen Blind' |
@Cameleon99 what was the last known working z2m version? Can you revert to that and post the debug log when changing the position? |
I don't think they ever has worked properly, I've never seen it update the status, or give updates to position. But the manual call to get position on MQTT would work as a workaround. What I was doing was catching the events in NodeRed from HA that were calling the blind to change position or open/close and for the next minute call get position every few seconds so that it looked like it was being updated automatically. With some recent change, we are now getting the error 'zhc:lumi: Not reading position of ZNJLBL01LM since device doesn't support it' which I can see in the code as linked above. I don't know when it happened as largely the blinds are fully automated, I have a light sensor outside and the all open/close with light levels. I just noticed recently that sometimes they wouldn't open or close automatically, and assumed it was an issue with Zigbee network or my coding, but then realised when I manually called get position, it was not returning anything any more. And I checked the position before opening/closing them which when they reported they were already open/closed, it meant the code did nothing. For now I've removed that check (it was there because some old blinds I had if they were open and you tried to open them, they would go full circle and try to close partially again, but these Sonoff ones don't do that) Maybe there is something else wrong with my setup that means I can't get the state? I'm hesitant to try and update the F/W on the Zigbee stick as everything else works and calling from the dev console to fetch the position also works. Seems its been artificially restricted for some reason? Its a Sonoff ZBDongle-P (CC2652P) as far as I can tell, bought in May 2022. |
Can you see if reconfiguring the device via the z2m frontend fixes the issue? (yellow refresh button) |
I m not shure witch old z2m worked, i will test it too. matze |
As requested but hasn't made any difference. Below, I run 3 commands (nothing in between), reconfigure, then tell it to open to 50 (which only puts one line in the log when I request it and at position 100), then after its finished moving (and no update), I did a read of 'genAnalogOutput' : 'presentValue' on the dev console and then it responds with 51% info 2024-08-20 20:51:44z2m: Successfully configured 'Kitchen Blind' info 2024-08-20 20:52:04z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Kitchen Blind', payload '{"battery":84,"charging_status":false,"device_temperature":null,"last_seen":"2024-08-20T19:52:04.618Z","linkquality":126,"motor_speed":"high","motor_state":null,"position":100,"running":null,"state":"STOP","update":{"installed_version":3870,"latest_version":3870,"state":"idle"},"update_available":false}' info 2024-08-20 20:52:59z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Kitchen Blind', payload '{"battery":84,"charging_status":false,"device_temperature":null,"last_seen":"2024-08-20T19:52:59.071Z","linkquality":126,"motor_speed":"high","motor_state":null,"position":51,"running":null,"state":"STOP","update":{"installed_version":3870,"latest_version":3870,"state":"idle"},"update_available":false}' So it can get the position but we get no update on it moving, state is always STOP and running is null. I also tried to go from position 51 to 0 and repeatedly called read of 'genAnalogOutput' : 'presentValue' from Dev Console while it was moving, the logs show the position go from 51 to 0 with no steps and keeps reporting position 0 as its still moving, state is STOP and running is null. |
Is it worth me upgrading the f/w? Been researching it a bit and for some reason I thought I needed a serial connection for it and a lot of poking about but it seems quite easy to just dismantle the stick, connect it to USB while holding the flash button and run the s/w to flash it. Seems there are multiple options, what's the easiest/least error prone for CC2652P? |
Similar problems here. Rollers can be controller, opened and closed as expected, either via frontend or MQTT, no problems there. But all rollers seem to be stuck to the same position as they were before update. I have similar experience with @Cameleon99. Position reporting has never worked properly. I was also using a workaround and called get state to expose new final location after 5 seconds delay to moving event. I have noticed some "random" state updates (once a day), but you can not rely on them, because it's not happening every time when roller is moving or stopped moving. I just did an upgrade to the latest version last week. My previous backup was dated 16.6.2023 so probably version 1.31.0 (2023-06-01) was working correctly (with my workaround). Haven't tested anything between. |
The position reporting has worked for me before, i don t know witch version. |
No change, still no Position mrssage. |
Same here, no change. I have 3 of them and they all behave the same. |
Could you check if the issue is fixed with the following external converter:
external_converters:
- ext_converter.js
|
Tried it and no change I'm afraid. I couldn't see custom in the name, so took a look in the converter file and saw the description didn't include it, so added it to check it was being loaded and it is. Is the linked definitely for the custom converter? |
here the same |
I updated the description, can you check if it is correctly loaded now? |
Correctly loaded with CUSTOM in description. No change in behaviour or logs, log only updates (in debug) on call to change position/open/close, no update to position. What should we be seeing? |
Made a mistake, updated https://gist.github.com/Koenkk/c9d93a35cd8bfcd984ff138fe8f29e24, with this the |
Tried the new one and getting errors. Not sure why as I can see the bit that calls isString hasn't changed?
|
@Koenkk any ideas why I'm getting the error above? |
i dont have these error, but the position is not updated with the new external converter |
@Cameleon99 updated https://gist.github.com/Koenkk/c9d93a35cd8bfcd984ff138fe8f29e24, can you try again? |
Thanks, solved the previous error but new one snuck in:
|
Better but some weird behaviour.
Logs: Blind OPEN, request 84% - shows 84% - CORRECT
Blind OPEN, request CLOSE (leave running)
Hit STOP while running - position shows 46% - CORRECT
Hit CLOSE - left to fully close - position reported as 0 - HA shows 0% but Open - INCORRECT
Hit STOP - position shows as 0 and HA shows Closed. - CORRECT
Hopefully that makes sense! |
Can you try with https://gist.github.com/Koenkk/c9d93a35cd8bfcd984ff138fe8f29e24 ? |
I don't have HA, but the end-position is shown correctly in FHEM and GUI , state always "STOP" after finishing "CLOSE" or "OPEN" |
Now from Open/100% (HA) doing CLOSE then STOP, it now reports Closed/0% in HA, position 0, but I can see this error which is probably stopping it getting the actual position.
|
Thanks @Koenkk. Tested:
|
Integrated the fix!
I see it already exposes a |
It's reporting null no matter how I operate the device:
|
That was my question, before 1.39 (?), the Position was reported from 0 to 100, i used it for animation of Rollers. |
@lskeet could you provide the debug log when closing the cover? @matze20211 could you provide the debug log when the position was updated continuously pre 1.39? See this on how to enable debug logging. |
I cannot install a version lower than 1.31, with 1.31 the position is also not displayed. |
@Koenkk is this what you're after? Hope I managed to filter out the noise from other devices correctly
|
It seems the device does not publish the |
debug log with v31 |
@Koenkk Is there something I can do to confirm that? Or could I force an update from the device? May I also ask how or what are you looking for when you're looking at the logs in terms of the |
You should see a "Received zigbee message" when closing/opening |
After updating z2m to version 1.41.0, I can see the position of the blinds, but the open and close states don’t behave correctly. Also, if I start controlling the device manually, the state doesn’t update in z2m. The state only updates after I call stop, open, or close from z2m. The motor state and running attributes are also still empty. |
I have the same problem. The update status only happens after STOP is called from Z2m |
Interesting, does it work when using the converter file? |
@Koenkk I'm using a ConBee III (with the latest firmware), can I use a converter with this coordinator? I'm trying this code: Do I have it set up correctly? |
That's correct, you should |
Yes, it was there. Unfortunately, no change in the device's behavior. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days |
I have the same issue, the bot is wrong this is not stale |
What happened?
Aqara ZNJLBL01LM don´t show position anymore
What did you expect to happen?
until one of the lasts updates, the position was shown from 0 - 100%
How to reproduce it (minimal and precise)
changing position slider will not initiate any message about position to mqtt server
Zigbee2MQTT version
1.39.1
Adapter firmware version
20230507
Adapter
Sonoff_Zigbee_3.0_USB_Dongle_Plus
Setup
PI
Debug log
No response
The text was updated successfully, but these errors were encountered: