Skip to content

[Feature] REMOTELY (!) activating or deactivating AMS HT / AMS 2 Pro drying #1448

Description

@Skydev0h

Describe the feature

By analyzing MQTT messages and experimenting I discovered that IT IS POSSIBLE to activate and / or deactivate AMS 2 Pro / AMS HT drying remotely!

I think this is a BIG feature because it is NOT possible to do this right now even using official apps!
But it IS possible on the MQTT level!

The only drawback is that it is "print"-class command - therefore pre-authorization firmware or developer mode or signing module or proxy is required. But given no limitations on duration, and, maybe, temperature, that is not much of a drawback...

What device is this for?

AMS HT and AMS 2 Pro

Other Information

To activate the drying you can send a command:

{
  "print": {
    "sequence_id": "0",
    "ams_id": 131,
    "command": "ams_filament_drying",
    "cooling_temp": 45,
    "duration": 12,
    "humidity": 0,
    "mode": 1,
    "rotate_tray": false,
    "temp": 45
  }
}

ams_id should be replaced with ID of AMS in question

cooling_temp / temp must be at least 45 or it does not work
As for the maximum value, idk, I was even able to set it to 100, and it actually started ramping up the temperature, but I really did not want to see what happens next, so I cancelled the heating process almost immediately

humidity is likely target humidity, I always observed 0, non-zero values seem to have no effect
mode is always 0 (off) or 1 (on), other values seem to cause the command to be ignored

rotate_tray is self-explanatory, I guess

Interesting feature is that you can change parameters on the fly - that is, it overwrites old ones.
I noted that by sending new values and observing changes on my AMS HT immediately (notably, duration).

duration can be only integer number. I was able to set it even to 100 hours and more o_O

Interestingly enough, if you send duration: 0, then it sets time to "30:27:52" O_O
However, the UI goes completely wacky, and reported dry_time is ... 715827 minutes... basically, infinite.
(But this only happens if I call it when drying is running, if not, then it does not start)

To deactivate the drying UI sends the following command:

{
  "print": {
    "sequence_id": "0",
    "ams_id": 131,
    "command": "ams_filament_drying",
    "cooling_temp": 40,
    "duration": 0,
    "humidity": 0,
    "mode": 0,
    "rotate_tray": false,
    "temp": 0
  }
}

I am not sure, but maybe this can even be used to dry while printing - but not sure about that. Anyway, even if possible, that may be pretty risky (filament may get stuck, for example).

P.S. Interestingly enough, for PPS it set temp: 85, but cooling_temp: 150. Don't know why :)
It may be worth to take my mqtt-delta tool and experiment on capturing different profile settings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestNew feature or request for Integration specificupcoming releaseFixed or added in a prerelease build.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions