-
Notifications
You must be signed in to change notification settings - Fork 243
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
Latest P1P/S beta firmware blocks all mqtt push commands when not in lan mode - breaks ability to determine what the hardware is #4154
Comments
@gaolegao-lx this isn't a problem with my printer. It was a behavioral change in the 1.5.4.7 beta firmware. This seems to have been reversed in the 1.5.4.10 beta firmware as mqtt commands are now respected again when the printer is not in lan mode. |
Before this firmware update, the printer's local MQTT Broker can process control commands under cloud mode. This meant that two asynchronous channels were controlling the printer simultaneously. The command from the two channels would execute in an overlapping manner without any order assurance, which is considered conflicting.
|
This makes sense, however the OP mentioned you cant use "get" commands, to see current temp, AMS, version etc. I wouldn't think those are, as you said "control commands" and shouldn't be blocked. |
Yes, that's correct. The essential ones are the commands to request more information.: GET_VERSION = {"info": {"sequence_id": "0", "command": "get_version"}} These are essential just to monitor the printer. Other commands that do actually control the printer but that I hope you won't lock down are:
|
Bambu Studio Version
Where is the application from?
Bambu Lab Official website
OS version
Windows 11
Additional system information
No response
Printer
P1P / P!S
How to reproduce
Configure printer in cloud mode.
Connect to local mqtt.
Monitor data.
Try to send the get_version command - nothing happens, the critical version data is never received. The type of printer, number of connected AMSs and firmware version(s) cannot be discovered.
Actual results
Monitoring solutions are broken.
Expected results
Monitoring solutions should still work.
The problem is that even for just monitoring the printer you need to be able to send some mqtt commands to find out what the printer is and how many AMSes are connected to it. The commands don't control the printer - they are just a request for more specific information needed even for monitoring.
For diagnosis the pushall command is extremely useful to get a complete snapshot of all the mqtt state:
{"pushing": {"sequence_id": "0", "command": "pushall"}}
A variant of this that was necessary with (much) older firmwares was that the printer sometimes silently stopped sending data to the mqtt client. This was fixable by sending the start push command:
{ "pushing": {"sequence_id": "0", "command": "start"}}
On the X1C, this command also is another one that isn't control, but just a request for specific data:
{"system": {"sequence_id": "0", "command": "get_accessories", "accessory_type": "none"}}
None of these work anymore unless the printer is in lan mode.
Even if you now want to block control commands (turning the light on/off is an especially sad loss), the other commands above are not printer control commands - they're just requests for information and should still be supported. Please can you allow these to continue to work even when not in lan mode.
Project file & Debug log uploads
.
Checklist of files to include
The text was updated successfully, but these errors were encountered: