I use the set temperatures and heat soak them like this:
Waiting for the chamber temperature doesn’t really work though — I don’t think that function is active in the firmware. The pause command does work, however, and you can set it to whatever duration you need.
;===== heatbed preheat ====================
M1002 gcode_claim_action : 2
M140 S[bed_temperature_initial_layer_single] ;set bed temp
M190 S[bed_temperature_initial_layer_single] ;wait for bed temp
; Customized by L0rdS474n
G4 P600000 ; pause for 600,000 milliseconds (10 minutes)
; Wait for chamber temperature only for ASA, PA-CF, PC and PPA-CF
{if (filament_type[initial_tool] == "ASA") || (filament_type[initial_tool] == "PA-CF") || (filament_type[initial_tool] == "PC") || (filament_type[initial_tool] == "PPA-CF")}
M191 S40 ; Wait until the chamber temperature reaches 40°C <- This doesn't work though...
{endif}